gpio: remove all usage of gpio_remove retval in driver/gpio
Signed-off-by: abdoulaye berthe <berthe.ab@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
38ed0187d2
commit
9f5132ae82
|
@ -167,13 +167,11 @@ exit_destroy:
|
||||||
static int gen_74x164_remove(struct spi_device *spi)
|
static int gen_74x164_remove(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
struct gen_74x164_chip *chip = spi_get_drvdata(spi);
|
struct gen_74x164_chip *chip = spi_get_drvdata(spi);
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = gpiochip_remove(&chip->gpio_chip);
|
gpiochip_remove(&chip->gpio_chip);
|
||||||
if (!ret)
|
mutex_destroy(&chip->lock);
|
||||||
mutex_destroy(&chip->lock);
|
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct of_device_id gen_74x164_dt_ids[] = {
|
static const struct of_device_id gen_74x164_dt_ids[] = {
|
||||||
|
|
|
@ -585,15 +585,8 @@ static int adnp_i2c_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct adnp *adnp = i2c_get_clientdata(client);
|
struct adnp *adnp = i2c_get_clientdata(client);
|
||||||
struct device_node *np = client->dev.of_node;
|
struct device_node *np = client->dev.of_node;
|
||||||
int err;
|
|
||||||
|
|
||||||
err = gpiochip_remove(&adnp->gpio);
|
|
||||||
if (err < 0) {
|
|
||||||
dev_err(&client->dev, "%s failed: %d\n", "gpiochip_remove()",
|
|
||||||
err);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
gpiochip_remove(&adnp->gpio);
|
||||||
if (of_find_property(np, "interrupt-controller", NULL))
|
if (of_find_property(np, "interrupt-controller", NULL))
|
||||||
adnp_irq_teardown(adnp);
|
adnp_irq_teardown(adnp);
|
||||||
|
|
||||||
|
|
|
@ -167,15 +167,9 @@ err:
|
||||||
static int adp5520_gpio_remove(struct platform_device *pdev)
|
static int adp5520_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct adp5520_gpio *dev;
|
struct adp5520_gpio *dev;
|
||||||
int ret;
|
|
||||||
|
|
||||||
dev = platform_get_drvdata(pdev);
|
dev = platform_get_drvdata(pdev);
|
||||||
ret = gpiochip_remove(&dev->gpio_chip);
|
gpiochip_remove(&dev->gpio_chip);
|
||||||
if (ret) {
|
|
||||||
dev_err(&pdev->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -470,11 +470,7 @@ static int adp5588_gpio_remove(struct i2c_client *client)
|
||||||
if (dev->irq_base)
|
if (dev->irq_base)
|
||||||
free_irq(dev->client->irq, dev);
|
free_irq(dev->client->irq, dev);
|
||||||
|
|
||||||
ret = gpiochip_remove(&dev->gpio_chip);
|
gpiochip_remove(&dev->gpio_chip);
|
||||||
if (ret) {
|
|
||||||
dev_err(&client->dev, "gpiochip_remove failed %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
kfree(dev);
|
kfree(dev);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -232,8 +232,7 @@ out:
|
||||||
|
|
||||||
static void __exit amd_gpio_exit(void)
|
static void __exit amd_gpio_exit(void)
|
||||||
{
|
{
|
||||||
int err = gpiochip_remove(&gp.chip);
|
gpiochip_remove(&gp.chip);
|
||||||
WARN_ON(err);
|
|
||||||
ioport_unmap(gp.pm);
|
ioport_unmap(gp.pm);
|
||||||
release_region(gp.pmbase + PMBASE_OFFSET, PMBASE_SIZE);
|
release_region(gp.pmbase + PMBASE_OFFSET, PMBASE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,8 @@ static int arizona_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct arizona_gpio *arizona_gpio = platform_get_drvdata(pdev);
|
struct arizona_gpio *arizona_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&arizona_gpio->gpio_chip);
|
gpiochip_remove(&arizona_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver arizona_gpio_driver = {
|
static struct platform_driver arizona_gpio_driver = {
|
||||||
|
|
|
@ -358,14 +358,8 @@ done:
|
||||||
static int cs5535_gpio_remove(struct platform_device *pdev)
|
static int cs5535_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct resource *r;
|
struct resource *r;
|
||||||
int err;
|
|
||||||
|
|
||||||
err = gpiochip_remove(&cs5535_gpio_chip.chip);
|
gpiochip_remove(&cs5535_gpio_chip.chip);
|
||||||
if (err) {
|
|
||||||
/* uhh? */
|
|
||||||
dev_err(&pdev->dev, "unable to remove gpio_chip?\n");
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
r = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
r = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
||||||
release_region(r->start, resource_size(r));
|
release_region(r->start, resource_size(r));
|
||||||
|
|
|
@ -237,7 +237,8 @@ static int da9052_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct da9052_gpio *gpio = platform_get_drvdata(pdev);
|
struct da9052_gpio *gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&gpio->gp);
|
gpiochip_remove(&gpio->gp);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver da9052_gpio_driver = {
|
static struct platform_driver da9052_gpio_driver = {
|
||||||
|
|
|
@ -174,7 +174,8 @@ static int da9055_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct da9055_gpio *gpio = platform_get_drvdata(pdev);
|
struct da9055_gpio *gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&gpio->gp);
|
gpiochip_remove(&gpio->gp);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver da9055_gpio_driver = {
|
static struct platform_driver da9055_gpio_driver = {
|
||||||
|
|
|
@ -359,7 +359,7 @@ static void dwapb_gpio_unregister(struct dwapb_gpio *gpio)
|
||||||
|
|
||||||
for (m = 0; m < gpio->nr_ports; ++m)
|
for (m = 0; m < gpio->nr_ports; ++m)
|
||||||
if (gpio->ports[m].is_registered)
|
if (gpio->ports[m].is_registered)
|
||||||
WARN_ON(gpiochip_remove(&gpio->ports[m].bgc.gc));
|
gpiochip_remove(&gpio->ports[m].bgc.gc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dwapb_gpio_probe(struct platform_device *pdev)
|
static int dwapb_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
|
@ -409,11 +409,8 @@ err0:
|
||||||
static int em_gio_remove(struct platform_device *pdev)
|
static int em_gio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct em_gio_priv *p = platform_get_drvdata(pdev);
|
struct em_gio_priv *p = platform_get_drvdata(pdev);
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = gpiochip_remove(&p->gpio_chip);
|
gpiochip_remove(&p->gpio_chip);
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
irq_domain_remove(p->irq_domain);
|
irq_domain_remove(p->irq_domain);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -317,13 +317,7 @@ static int f7188x_gpio_probe(struct platform_device *pdev)
|
||||||
err_gpiochip:
|
err_gpiochip:
|
||||||
for (i = i - 1; i >= 0; i--) {
|
for (i = i - 1; i >= 0; i--) {
|
||||||
struct f7188x_gpio_bank *bank = &data->bank[i];
|
struct f7188x_gpio_bank *bank = &data->bank[i];
|
||||||
int tmp;
|
gpiochip_remove(&bank->chip);
|
||||||
|
|
||||||
tmp = gpiochip_remove(&bank->chip);
|
|
||||||
if (tmp < 0)
|
|
||||||
dev_err(&pdev->dev,
|
|
||||||
"Failed to remove gpiochip %d: %d\n",
|
|
||||||
i, tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
@ -331,20 +325,12 @@ err_gpiochip:
|
||||||
|
|
||||||
static int f7188x_gpio_remove(struct platform_device *pdev)
|
static int f7188x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
int i;
|
int i;
|
||||||
struct f7188x_gpio_data *data = platform_get_drvdata(pdev);
|
struct f7188x_gpio_data *data = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
for (i = 0; i < data->nr_bank; i++) {
|
for (i = 0; i < data->nr_bank; i++) {
|
||||||
struct f7188x_gpio_bank *bank = &data->bank[i];
|
struct f7188x_gpio_bank *bank = &data->bank[i];
|
||||||
|
gpiochip_remove(&bank->chip);
|
||||||
err = gpiochip_remove(&bank->chip);
|
|
||||||
if (err) {
|
|
||||||
dev_err(&pdev->dev,
|
|
||||||
"Failed to remove GPIO gpiochip %d: %d\n",
|
|
||||||
i, err);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -398,7 +398,8 @@ static int bgpio_request(struct gpio_chip *chip, unsigned gpio_pin)
|
||||||
|
|
||||||
int bgpio_remove(struct bgpio_chip *bgc)
|
int bgpio_remove(struct bgpio_chip *bgc)
|
||||||
{
|
{
|
||||||
return gpiochip_remove(&bgc->gc);
|
gpiochip_remove(&bgc->gc);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(bgpio_remove);
|
EXPORT_SYMBOL_GPL(bgpio_remove);
|
||||||
|
|
||||||
|
|
|
@ -468,9 +468,7 @@ static int grgpio_remove(struct platform_device *ofdev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpiochip_remove(&priv->bgc.gc);
|
gpiochip_remove(&priv->bgc.gc);
|
||||||
if (ret)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if (priv->domain)
|
if (priv->domain)
|
||||||
irq_domain_remove(priv->domain);
|
irq_domain_remove(priv->domain);
|
||||||
|
|
|
@ -514,14 +514,7 @@ add_err:
|
||||||
|
|
||||||
static int ichx_gpio_remove(struct platform_device *pdev)
|
static int ichx_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
gpiochip_remove(&ichx_priv.chip);
|
||||||
|
|
||||||
err = gpiochip_remove(&ichx_priv.chip);
|
|
||||||
if (err) {
|
|
||||||
dev_err(&pdev->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", err);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
ichx_gpio_release_regions(ichx_priv.gpio_base, ichx_priv.use_gpio);
|
ichx_gpio_release_regions(ichx_priv.gpio_base, ichx_priv.use_gpio);
|
||||||
if (ichx_priv.pm_base)
|
if (ichx_priv.pm_base)
|
||||||
|
|
|
@ -217,11 +217,7 @@ gpiochip_add_err:
|
||||||
static void __exit it8761e_gpio_exit(void)
|
static void __exit it8761e_gpio_exit(void)
|
||||||
{
|
{
|
||||||
if (gpio_ba) {
|
if (gpio_ba) {
|
||||||
int ret = gpiochip_remove(&it8761e_gpio_chip);
|
gpiochip_remove(&it8761e_gpio_chip);
|
||||||
|
|
||||||
WARN(ret, "%s(): gpiochip_remove() failed, ret=%d\n",
|
|
||||||
__func__, ret);
|
|
||||||
|
|
||||||
release_region(gpio_ba, GPIO_IOSIZE);
|
release_region(gpio_ba, GPIO_IOSIZE);
|
||||||
gpio_ba = 0;
|
gpio_ba = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,14 +194,8 @@ static int ttl_probe(struct platform_device *pdev)
|
||||||
static int ttl_remove(struct platform_device *pdev)
|
static int ttl_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct ttl_module *mod = platform_get_drvdata(pdev);
|
struct ttl_module *mod = platform_get_drvdata(pdev);
|
||||||
struct device *dev = &pdev->dev;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = gpiochip_remove(&mod->gpio);
|
gpiochip_remove(&mod->gpio);
|
||||||
if (ret) {
|
|
||||||
dev_err(dev, "unable to remove GPIO chip\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,8 @@ static int kempld_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct kempld_gpio_data *gpio = platform_get_drvdata(pdev);
|
struct kempld_gpio_data *gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&gpio->chip);
|
gpiochip_remove(&gpio->chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver kempld_gpio_driver = {
|
static struct platform_driver kempld_gpio_driver = {
|
||||||
|
|
|
@ -216,7 +216,8 @@ static int lp3943_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct lp3943_gpio *lp3943_gpio = platform_get_drvdata(pdev);
|
struct lp3943_gpio *lp3943_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&lp3943_gpio->chip);
|
gpiochip_remove(&lp3943_gpio->chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct of_device_id lp3943_gpio_of_match[] = {
|
static const struct of_device_id lp3943_gpio_of_match[] = {
|
||||||
|
|
|
@ -465,11 +465,8 @@ MODULE_DEVICE_TABLE(acpi, lynxpoint_gpio_acpi_match);
|
||||||
static int lp_gpio_remove(struct platform_device *pdev)
|
static int lp_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct lp_gpio *lg = platform_get_drvdata(pdev);
|
struct lp_gpio *lg = platform_get_drvdata(pdev);
|
||||||
int err;
|
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
err = gpiochip_remove(&lg->chip);
|
gpiochip_remove(&lg->chip);
|
||||||
if (err)
|
|
||||||
dev_warn(&pdev->dev, "failed to remove gpio_chip.\n");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,21 +228,16 @@ EXPORT_SYMBOL_GPL(__max730x_probe);
|
||||||
int __max730x_remove(struct device *dev)
|
int __max730x_remove(struct device *dev)
|
||||||
{
|
{
|
||||||
struct max7301 *ts = dev_get_drvdata(dev);
|
struct max7301 *ts = dev_get_drvdata(dev);
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (ts == NULL)
|
if (ts == NULL)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
/* Power down the chip and disable IRQ output */
|
/* Power down the chip and disable IRQ output */
|
||||||
ts->write(dev, 0x04, 0x00);
|
ts->write(dev, 0x04, 0x00);
|
||||||
|
gpiochip_remove(&ts->chip);
|
||||||
ret = gpiochip_remove(&ts->chip);
|
mutex_destroy(&ts->lock);
|
||||||
if (!ret)
|
kfree(ts);
|
||||||
mutex_destroy(&ts->lock);
|
return 0;
|
||||||
else
|
|
||||||
dev_err(dev, "Failed to remove GPIO controller: %d\n", ret);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(__max730x_remove);
|
EXPORT_SYMBOL_GPL(__max730x_remove);
|
||||||
|
|
||||||
|
|
|
@ -676,12 +676,7 @@ static int max732x_remove(struct i2c_client *client)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpiochip_remove(&chip->gpio_chip);
|
gpiochip_remove(&chip->gpio_chip);
|
||||||
if (ret) {
|
|
||||||
dev_err(&client->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
max732x_irq_teardown(chip);
|
max732x_irq_teardown(chip);
|
||||||
|
|
||||||
|
|
|
@ -149,20 +149,15 @@ exit_destroy:
|
||||||
static int mc33880_remove(struct spi_device *spi)
|
static int mc33880_remove(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
struct mc33880 *mc;
|
struct mc33880 *mc;
|
||||||
int ret;
|
|
||||||
|
|
||||||
mc = spi_get_drvdata(spi);
|
mc = spi_get_drvdata(spi);
|
||||||
if (mc == NULL)
|
if (mc == NULL)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
ret = gpiochip_remove(&mc->chip);
|
gpiochip_remove(&mc->chip);
|
||||||
if (!ret)
|
mutex_destroy(&mc->lock);
|
||||||
mutex_destroy(&mc->lock);
|
|
||||||
else
|
|
||||||
dev_err(&spi->dev, "Failed to remove the GPIO controller: %d\n",
|
|
||||||
ret);
|
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct spi_driver mc33880_driver = {
|
static struct spi_driver mc33880_driver = {
|
||||||
|
|
|
@ -118,7 +118,8 @@ static int mc9s08dz60_remove(struct i2c_client *client)
|
||||||
|
|
||||||
mc9s = i2c_get_clientdata(client);
|
mc9s = i2c_get_clientdata(client);
|
||||||
|
|
||||||
return gpiochip_remove(&mc9s->chip);
|
gpiochip_remove(&mc9s->chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct i2c_device_id mc9s08dz60_id[] = {
|
static const struct i2c_device_id mc9s08dz60_id[] = {
|
||||||
|
|
|
@ -812,16 +812,14 @@ fail:
|
||||||
static int mcp230xx_remove(struct i2c_client *client)
|
static int mcp230xx_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct mcp23s08 *mcp = i2c_get_clientdata(client);
|
struct mcp23s08 *mcp = i2c_get_clientdata(client);
|
||||||
int status;
|
|
||||||
|
|
||||||
if (client->irq && mcp->irq_controller)
|
if (client->irq && mcp->irq_controller)
|
||||||
mcp23s08_irq_teardown(mcp);
|
mcp23s08_irq_teardown(mcp);
|
||||||
|
|
||||||
status = gpiochip_remove(&mcp->chip);
|
gpiochip_remove(&mcp->chip);
|
||||||
if (status == 0)
|
kfree(mcp);
|
||||||
kfree(mcp);
|
|
||||||
|
|
||||||
return status;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct i2c_device_id mcp230xx_id[] = {
|
static const struct i2c_device_id mcp230xx_id[] = {
|
||||||
|
@ -966,13 +964,10 @@ static int mcp23s08_probe(struct spi_device *spi)
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
|
for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
|
||||||
int tmp;
|
|
||||||
|
|
||||||
if (!data->mcp[addr])
|
if (!data->mcp[addr])
|
||||||
continue;
|
continue;
|
||||||
tmp = gpiochip_remove(&data->mcp[addr]->chip);
|
gpiochip_remove(&data->mcp[addr]->chip);
|
||||||
if (tmp < 0)
|
|
||||||
dev_err(&spi->dev, "%s --> %d\n", "remove", tmp);
|
|
||||||
}
|
}
|
||||||
kfree(data);
|
kfree(data);
|
||||||
return status;
|
return status;
|
||||||
|
@ -982,23 +977,16 @@ static int mcp23s08_remove(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
struct mcp23s08_driver_data *data = spi_get_drvdata(spi);
|
struct mcp23s08_driver_data *data = spi_get_drvdata(spi);
|
||||||
unsigned addr;
|
unsigned addr;
|
||||||
int status = 0;
|
|
||||||
|
|
||||||
for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
|
for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
|
||||||
int tmp;
|
|
||||||
|
|
||||||
if (!data->mcp[addr])
|
if (!data->mcp[addr])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
tmp = gpiochip_remove(&data->mcp[addr]->chip);
|
gpiochip_remove(&data->mcp[addr]->chip);
|
||||||
if (tmp < 0) {
|
|
||||||
dev_err(&spi->dev, "%s --> %d\n", "remove", tmp);
|
|
||||||
status = tmp;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (status == 0)
|
kfree(data);
|
||||||
kfree(data);
|
return 0;
|
||||||
return status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct spi_device_id mcp23s08_ids[] = {
|
static const struct spi_device_id mcp23s08_ids[] = {
|
||||||
|
|
|
@ -497,8 +497,7 @@ err_irq_alloc_descs:
|
||||||
err_gpiochip_add:
|
err_gpiochip_add:
|
||||||
while (--i >= 0) {
|
while (--i >= 0) {
|
||||||
chip--;
|
chip--;
|
||||||
if (gpiochip_remove(&chip->gpio))
|
gpiochip_remove(&chip->gpio);
|
||||||
dev_err(&pdev->dev, "Failed gpiochip_remove(%d)\n", i);
|
|
||||||
}
|
}
|
||||||
kfree(chip_save);
|
kfree(chip_save);
|
||||||
|
|
||||||
|
@ -519,7 +518,6 @@ err_pci_enable:
|
||||||
|
|
||||||
static void ioh_gpio_remove(struct pci_dev *pdev)
|
static void ioh_gpio_remove(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
int i;
|
int i;
|
||||||
struct ioh_gpio *chip = pci_get_drvdata(pdev);
|
struct ioh_gpio *chip = pci_get_drvdata(pdev);
|
||||||
void *chip_save;
|
void *chip_save;
|
||||||
|
@ -530,9 +528,7 @@ static void ioh_gpio_remove(struct pci_dev *pdev)
|
||||||
|
|
||||||
for (i = 0; i < 8; i++, chip++) {
|
for (i = 0; i < 8; i++, chip++) {
|
||||||
irq_free_descs(chip->irq_base, num_ports[i]);
|
irq_free_descs(chip->irq_base, num_ports[i]);
|
||||||
err = gpiochip_remove(&chip->gpio);
|
gpiochip_remove(&chip->gpio);
|
||||||
if (err)
|
|
||||||
dev_err(&pdev->dev, "Failed gpiochip_remove\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
chip = chip_save;
|
chip = chip_save;
|
||||||
|
|
|
@ -438,10 +438,7 @@ MODULE_DEVICE_TABLE(of, msm_gpio_of_match);
|
||||||
|
|
||||||
static int msm_gpio_remove(struct platform_device *dev)
|
static int msm_gpio_remove(struct platform_device *dev)
|
||||||
{
|
{
|
||||||
int ret = gpiochip_remove(&msm_gpio.gpio_chip);
|
gpiochip_remove(&msm_gpio.gpio_chip);
|
||||||
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
irq_set_handler(msm_gpio.summary_irq, NULL);
|
irq_set_handler(msm_gpio.summary_irq, NULL);
|
||||||
|
|
||||||
|
|
|
@ -485,7 +485,7 @@ static int mxc_gpio_probe(struct platform_device *pdev)
|
||||||
out_irqdesc_free:
|
out_irqdesc_free:
|
||||||
irq_free_descs(irq_base, 32);
|
irq_free_descs(irq_base, 32);
|
||||||
out_gpiochip_remove:
|
out_gpiochip_remove:
|
||||||
WARN_ON(gpiochip_remove(&port->bgc.gc) < 0);
|
gpiochip_remove(&port->bgc.gc);
|
||||||
out_bgpio_remove:
|
out_bgpio_remove:
|
||||||
bgpio_remove(&port->bgc);
|
bgpio_remove(&port->bgc);
|
||||||
out_bgio:
|
out_bgio:
|
||||||
|
|
|
@ -129,7 +129,8 @@ out:
|
||||||
static int octeon_gpio_remove(struct platform_device *pdev)
|
static int octeon_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct gpio_chip *chip = pdev->dev.platform_data;
|
struct gpio_chip *chip = pdev->dev.platform_data;
|
||||||
return gpiochip_remove(chip);
|
gpiochip_remove(chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct of_device_id octeon_gpio_match[] = {
|
static struct of_device_id octeon_gpio_match[] = {
|
||||||
|
|
|
@ -210,7 +210,8 @@ static int palmas_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct palmas_gpio *palmas_gpio = platform_get_drvdata(pdev);
|
struct palmas_gpio *palmas_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&palmas_gpio->gpio_chip);
|
gpiochip_remove(&palmas_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver palmas_gpio_driver = {
|
static struct platform_driver palmas_gpio_driver = {
|
||||||
|
|
|
@ -765,12 +765,7 @@ static int pca953x_remove(struct i2c_client *client)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpiochip_remove(&chip->gpio_chip);
|
gpiochip_remove(&chip->gpio_chip);
|
||||||
if (ret) {
|
|
||||||
dev_err(&client->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -444,9 +444,7 @@ static int pcf857x_remove(struct i2c_client *client)
|
||||||
if (client->irq)
|
if (client->irq)
|
||||||
pcf857x_irq_domain_cleanup(gpio);
|
pcf857x_irq_domain_cleanup(gpio);
|
||||||
|
|
||||||
status = gpiochip_remove(&gpio->chip);
|
gpiochip_remove(&gpio->chip);
|
||||||
if (status)
|
|
||||||
dev_err(&client->dev, "%s --> %d\n", "remove", status);
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -426,9 +426,7 @@ end:
|
||||||
|
|
||||||
err_request_irq:
|
err_request_irq:
|
||||||
irq_free_descs(irq_base, gpio_pins[chip->ioh]);
|
irq_free_descs(irq_base, gpio_pins[chip->ioh]);
|
||||||
|
gpiochip_remove(&chip->gpio);
|
||||||
if (gpiochip_remove(&chip->gpio))
|
|
||||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
|
||||||
|
|
||||||
err_gpiochip_add:
|
err_gpiochip_add:
|
||||||
pci_iounmap(pdev, chip->base);
|
pci_iounmap(pdev, chip->base);
|
||||||
|
@ -447,7 +445,6 @@ err_pci_enable:
|
||||||
|
|
||||||
static void pch_gpio_remove(struct pci_dev *pdev)
|
static void pch_gpio_remove(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
struct pch_gpio *chip = pci_get_drvdata(pdev);
|
struct pch_gpio *chip = pci_get_drvdata(pdev);
|
||||||
|
|
||||||
if (chip->irq_base != -1) {
|
if (chip->irq_base != -1) {
|
||||||
|
@ -456,10 +453,7 @@ static void pch_gpio_remove(struct pci_dev *pdev)
|
||||||
irq_free_descs(chip->irq_base, gpio_pins[chip->ioh]);
|
irq_free_descs(chip->irq_base, gpio_pins[chip->ioh]);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gpiochip_remove(&chip->gpio);
|
gpiochip_remove(&chip->gpio);
|
||||||
if (err)
|
|
||||||
dev_err(&pdev->dev, "Failed gpiochip_remove\n");
|
|
||||||
|
|
||||||
pci_iounmap(pdev, chip->base);
|
pci_iounmap(pdev, chip->base);
|
||||||
pci_release_regions(pdev);
|
pci_release_regions(pdev);
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
|
|
|
@ -148,7 +148,8 @@ static int rc5t583_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct rc5t583_gpio *rc5t583_gpio = platform_get_drvdata(pdev);
|
struct rc5t583_gpio *rc5t583_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&rc5t583_gpio->gpio_chip);
|
gpiochip_remove(&rc5t583_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver rc5t583_gpio_driver = {
|
static struct platform_driver rc5t583_gpio_driver = {
|
||||||
|
|
|
@ -471,11 +471,8 @@ err0:
|
||||||
static int gpio_rcar_remove(struct platform_device *pdev)
|
static int gpio_rcar_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct gpio_rcar_priv *p = platform_get_drvdata(pdev);
|
struct gpio_rcar_priv *p = platform_get_drvdata(pdev);
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = gpiochip_remove(&p->gpio_chip);
|
gpiochip_remove(&p->gpio_chip);
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
irq_domain_remove(p->irq_domain);
|
irq_domain_remove(p->irq_domain);
|
||||||
pm_runtime_put(&pdev->dev);
|
pm_runtime_put(&pdev->dev);
|
||||||
|
|
|
@ -199,14 +199,11 @@ static int rdc321x_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
static int rdc321x_gpio_remove(struct platform_device *pdev)
|
static int rdc321x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
struct rdc321x_gpio *rdc321x_gpio_dev = platform_get_drvdata(pdev);
|
struct rdc321x_gpio *rdc321x_gpio_dev = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
ret = gpiochip_remove(&rdc321x_gpio_dev->chip);
|
gpiochip_remove(&rdc321x_gpio_dev->chip);
|
||||||
if (ret)
|
|
||||||
dev_err(&pdev->dev, "failed to unregister chip\n");
|
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver rdc321x_gpio_driver = {
|
static struct platform_driver rdc321x_gpio_driver = {
|
||||||
|
|
|
@ -290,8 +290,7 @@ static int sch_gpio_probe(struct platform_device *pdev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_sch_gpio_resume:
|
err_sch_gpio_resume:
|
||||||
if (gpiochip_remove(&sch_gpio_core))
|
gpiochip_remove(&sch_gpio_core);
|
||||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
|
||||||
|
|
||||||
err_sch_gpio_core:
|
err_sch_gpio_core:
|
||||||
release_region(res->start, resource_size(res));
|
release_region(res->start, resource_size(res));
|
||||||
|
@ -304,23 +303,14 @@ static int sch_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
if (gpio_ba) {
|
if (gpio_ba) {
|
||||||
int err;
|
|
||||||
|
|
||||||
err = gpiochip_remove(&sch_gpio_core);
|
gpiochip_remove(&sch_gpio_core);
|
||||||
if (err)
|
gpiochip_remove(&sch_gpio_resume);
|
||||||
dev_err(&pdev->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", err);
|
|
||||||
err = gpiochip_remove(&sch_gpio_resume);
|
|
||||||
if (err)
|
|
||||||
dev_err(&pdev->dev, "%s failed, %d\n",
|
|
||||||
"gpiochip_remove()", err);
|
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
res = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
||||||
|
|
||||||
release_region(res->start, resource_size(res));
|
release_region(res->start, resource_size(res));
|
||||||
gpio_ba = 0;
|
gpio_ba = 0;
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -291,14 +291,12 @@ static int sch311x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct sch311x_pdev_data *pdata = pdev->dev.platform_data;
|
struct sch311x_pdev_data *pdata = pdev->dev.platform_data;
|
||||||
struct sch311x_gpio_priv *priv = platform_get_drvdata(pdev);
|
struct sch311x_gpio_priv *priv = platform_get_drvdata(pdev);
|
||||||
int err, i;
|
int i;
|
||||||
|
|
||||||
release_region(pdata->runtime_reg + GP1, 6);
|
release_region(pdata->runtime_reg + GP1, 6);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
|
for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
|
||||||
err = gpiochip_remove(&priv->blocks[i].chip);
|
gpiochip_remove(&priv->blocks[i].chip);
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
dev_info(&pdev->dev,
|
dev_info(&pdev->dev,
|
||||||
"SMSC SCH311x GPIO block %d unregistered.\n", i);
|
"SMSC SCH311x GPIO block %d unregistered.\n", i);
|
||||||
}
|
}
|
||||||
|
|
|
@ -265,9 +265,7 @@ static void sdv_gpio_remove(struct pci_dev *pdev)
|
||||||
free_irq(pdev->irq, sd);
|
free_irq(pdev->irq, sd);
|
||||||
irq_free_descs(sd->irq_base, SDV_NUM_PUB_GPIOS);
|
irq_free_descs(sd->irq_base, SDV_NUM_PUB_GPIOS);
|
||||||
|
|
||||||
if (gpiochip_remove(&sd->bgpio.gc))
|
gpiochip_remove(&sd->bgpio.gc);
|
||||||
dev_err(&pdev->dev, "gpiochip_remove() failed.\n");
|
|
||||||
|
|
||||||
pci_release_region(pdev, GPIO_BAR);
|
pci_release_region(pdev, GPIO_BAR);
|
||||||
iounmap(sd->gpio_pub_base);
|
iounmap(sd->gpio_pub_base);
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
|
|
|
@ -353,17 +353,11 @@ static int stmpe_gpio_remove(struct platform_device *pdev)
|
||||||
struct stmpe_gpio *stmpe_gpio = platform_get_drvdata(pdev);
|
struct stmpe_gpio *stmpe_gpio = platform_get_drvdata(pdev);
|
||||||
struct stmpe *stmpe = stmpe_gpio->stmpe;
|
struct stmpe *stmpe = stmpe_gpio->stmpe;
|
||||||
struct stmpe_gpio_platform_data *pdata = stmpe->pdata->gpio;
|
struct stmpe_gpio_platform_data *pdata = stmpe->pdata->gpio;
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (pdata && pdata->remove)
|
if (pdata && pdata->remove)
|
||||||
pdata->remove(stmpe, stmpe_gpio->chip.base);
|
pdata->remove(stmpe, stmpe_gpio->chip.base);
|
||||||
|
|
||||||
ret = gpiochip_remove(&stmpe_gpio->chip);
|
gpiochip_remove(&stmpe_gpio->chip);
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(stmpe_gpio->dev,
|
|
||||||
"unable to remove gpiochip: %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
stmpe_disable(stmpe, STMPE_BLOCK_GPIO);
|
stmpe_disable(stmpe, STMPE_BLOCK_GPIO);
|
||||||
|
|
||||||
|
|
|
@ -615,19 +615,16 @@ static int sx150x_probe(struct i2c_client *client,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
probe_fail_post_gpiochip_add:
|
probe_fail_post_gpiochip_add:
|
||||||
WARN_ON(gpiochip_remove(&chip->gpio_chip) < 0);
|
gpiochip_remove(&chip->gpio_chip);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sx150x_remove(struct i2c_client *client)
|
static int sx150x_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct sx150x_chip *chip;
|
struct sx150x_chip *chip;
|
||||||
int rc;
|
|
||||||
|
|
||||||
chip = i2c_get_clientdata(client);
|
chip = i2c_get_clientdata(client);
|
||||||
rc = gpiochip_remove(&chip->gpio_chip);
|
gpiochip_remove(&chip->gpio_chip);
|
||||||
if (rc < 0)
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
if (chip->irq_summary >= 0)
|
if (chip->irq_summary >= 0)
|
||||||
sx150x_remove_irq_chip(chip);
|
sx150x_remove_irq_chip(chip);
|
||||||
|
|
|
@ -172,7 +172,8 @@ static int syscon_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct syscon_gpio_priv *priv = platform_get_drvdata(pdev);
|
struct syscon_gpio_priv *priv = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&priv->chip);
|
gpiochip_remove(&priv->chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver syscon_gpio_driver = {
|
static struct platform_driver syscon_gpio_driver = {
|
||||||
|
|
|
@ -291,7 +291,6 @@ fail_ioremap:
|
||||||
static int __exit tb10x_gpio_remove(struct platform_device *pdev)
|
static int __exit tb10x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct tb10x_gpio *tb10x_gpio = platform_get_drvdata(pdev);
|
struct tb10x_gpio *tb10x_gpio = platform_get_drvdata(pdev);
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (tb10x_gpio->gc.to_irq) {
|
if (tb10x_gpio->gc.to_irq) {
|
||||||
irq_remove_generic_chip(tb10x_gpio->domain->gc->gc[0],
|
irq_remove_generic_chip(tb10x_gpio->domain->gc->gc[0],
|
||||||
|
@ -300,9 +299,7 @@ static int __exit tb10x_gpio_remove(struct platform_device *pdev)
|
||||||
irq_domain_remove(tb10x_gpio->domain);
|
irq_domain_remove(tb10x_gpio->domain);
|
||||||
free_irq(tb10x_gpio->irq, tb10x_gpio);
|
free_irq(tb10x_gpio->irq, tb10x_gpio);
|
||||||
}
|
}
|
||||||
ret = gpiochip_remove(&tb10x_gpio->gc);
|
gpiochip_remove(&tb10x_gpio->gc);
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -313,17 +313,11 @@ static int tc3589x_gpio_remove(struct platform_device *pdev)
|
||||||
struct tc3589x_gpio *tc3589x_gpio = platform_get_drvdata(pdev);
|
struct tc3589x_gpio *tc3589x_gpio = platform_get_drvdata(pdev);
|
||||||
struct tc3589x *tc3589x = tc3589x_gpio->tc3589x;
|
struct tc3589x *tc3589x = tc3589x_gpio->tc3589x;
|
||||||
struct tc3589x_gpio_platform_data *pdata = tc3589x->pdata->gpio;
|
struct tc3589x_gpio_platform_data *pdata = tc3589x->pdata->gpio;
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (pdata && pdata->remove)
|
if (pdata && pdata->remove)
|
||||||
pdata->remove(tc3589x, tc3589x_gpio->chip.base);
|
pdata->remove(tc3589x, tc3589x_gpio->chip.base);
|
||||||
|
|
||||||
ret = gpiochip_remove(&tc3589x_gpio->chip);
|
gpiochip_remove(&tc3589x_gpio->chip);
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(tc3589x_gpio->dev,
|
|
||||||
"unable to remove gpiochip: %d\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -307,7 +307,6 @@ static int timbgpio_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
static int timbgpio_remove(struct platform_device *pdev)
|
static int timbgpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
|
||||||
struct timbgpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
|
struct timbgpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
|
||||||
struct timbgpio *tgpio = platform_get_drvdata(pdev);
|
struct timbgpio *tgpio = platform_get_drvdata(pdev);
|
||||||
int irq = platform_get_irq(pdev, 0);
|
int irq = platform_get_irq(pdev, 0);
|
||||||
|
@ -323,9 +322,7 @@ static int timbgpio_remove(struct platform_device *pdev)
|
||||||
irq_set_handler_data(irq, NULL);
|
irq_set_handler_data(irq, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gpiochip_remove(&tgpio->gpio);
|
gpiochip_remove(&tgpio->gpio);
|
||||||
if (err)
|
|
||||||
printk(KERN_ERR DRIVER_NAME": failed to remove gpio_chip\n");
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,8 @@ static int tps6586x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct tps6586x_gpio *tps6586x_gpio = platform_get_drvdata(pdev);
|
struct tps6586x_gpio *tps6586x_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&tps6586x_gpio->gpio_chip);
|
gpiochip_remove(&tps6586x_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver tps6586x_gpio_driver = {
|
static struct platform_driver tps6586x_gpio_driver = {
|
||||||
|
|
|
@ -190,7 +190,8 @@ static int tps65910_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct tps65910_gpio *tps65910_gpio = platform_get_drvdata(pdev);
|
struct tps65910_gpio *tps65910_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&tps65910_gpio->gpio_chip);
|
gpiochip_remove(&tps65910_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver tps65910_gpio_driver = {
|
static struct platform_driver tps65910_gpio_driver = {
|
||||||
|
|
|
@ -117,7 +117,8 @@ static int tps65912_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct tps65912_gpio_data *tps65912_gpio = platform_get_drvdata(pdev);
|
struct tps65912_gpio_data *tps65912_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&tps65912_gpio->gpio_chip);
|
gpiochip_remove(&tps65912_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver tps65912_gpio_driver = {
|
static struct platform_driver tps65912_gpio_driver = {
|
||||||
|
|
|
@ -427,8 +427,7 @@ static int ts5500_dio_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (gpiochip_remove(&priv->gpio_chip))
|
gpiochip_remove(&priv->gpio_chip);
|
||||||
dev_err(dev, "failed to remove gpio chip\n");
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -437,7 +436,8 @@ static int ts5500_dio_remove(struct platform_device *pdev)
|
||||||
struct ts5500_priv *priv = platform_get_drvdata(pdev);
|
struct ts5500_priv *priv = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
ts5500_disable_irq(priv);
|
ts5500_disable_irq(priv);
|
||||||
return gpiochip_remove(&priv->gpio_chip);
|
gpiochip_remove(&priv->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_device_id ts5500_dio_ids[] = {
|
static struct platform_device_id ts5500_dio_ids[] = {
|
||||||
|
|
|
@ -583,9 +583,7 @@ static int gpio_twl4030_remove(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
status = gpiochip_remove(&priv->gpio_chip);
|
gpiochip_remove(&priv->gpio_chip);
|
||||||
if (status < 0)
|
|
||||||
return status;
|
|
||||||
|
|
||||||
if (is_module())
|
if (is_module())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -111,7 +111,8 @@ static int gpo_twl6040_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
static int gpo_twl6040_remove(struct platform_device *pdev)
|
static int gpo_twl6040_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
return gpiochip_remove(&twl6040gpo_chip);
|
gpiochip_remove(&twl6040gpo_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Note: this hardware lives inside an I2C-based multi-function device. */
|
/* Note: this hardware lives inside an I2C-based multi-function device. */
|
||||||
|
|
|
@ -89,7 +89,7 @@ static int ucb1400_gpio_remove(struct platform_device *dev)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gpiochip_remove(&ucb->gc);
|
gpiochip_remove(&ucb->gc);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -446,8 +446,7 @@ static int vprbrd_gpio_probe(struct platform_device *pdev)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
err_gpiob:
|
err_gpiob:
|
||||||
if (gpiochip_remove(&vb_gpio->gpioa))
|
gpiochip_remove(&vb_gpio->gpioa);
|
||||||
dev_err(&pdev->dev, "%s gpiochip_remove failed\n", __func__);
|
|
||||||
|
|
||||||
err_gpioa:
|
err_gpioa:
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -456,13 +455,10 @@ err_gpioa:
|
||||||
static int vprbrd_gpio_remove(struct platform_device *pdev)
|
static int vprbrd_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct vprbrd_gpio *vb_gpio = platform_get_drvdata(pdev);
|
struct vprbrd_gpio *vb_gpio = platform_get_drvdata(pdev);
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = gpiochip_remove(&vb_gpio->gpiob);
|
gpiochip_remove(&vb_gpio->gpiob);
|
||||||
if (ret == 0)
|
|
||||||
ret = gpiochip_remove(&vb_gpio->gpioa);
|
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver vprbrd_gpio_driver = {
|
static struct platform_driver vprbrd_gpio_driver = {
|
||||||
|
|
|
@ -288,8 +288,7 @@ static int vx855gpio_remove(struct platform_device *pdev)
|
||||||
struct vx855_gpio *vg = platform_get_drvdata(pdev);
|
struct vx855_gpio *vg = platform_get_drvdata(pdev);
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
|
||||||
if (gpiochip_remove(&vg->gpio))
|
gpiochip_remove(&vg->gpio);
|
||||||
dev_err(&pdev->dev, "unable to remove gpio_chip?\n");
|
|
||||||
|
|
||||||
if (vg->gpi_reserved) {
|
if (vg->gpi_reserved) {
|
||||||
res = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
res = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
||||||
|
|
|
@ -279,7 +279,8 @@ static int wm831x_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct wm831x_gpio *wm831x_gpio = platform_get_drvdata(pdev);
|
struct wm831x_gpio *wm831x_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&wm831x_gpio->gpio_chip);
|
gpiochip_remove(&wm831x_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver wm831x_gpio_driver = {
|
static struct platform_driver wm831x_gpio_driver = {
|
||||||
|
|
|
@ -145,7 +145,8 @@ static int wm8350_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct wm8350_gpio_data *wm8350_gpio = platform_get_drvdata(pdev);
|
struct wm8350_gpio_data *wm8350_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&wm8350_gpio->gpio_chip);
|
gpiochip_remove(&wm8350_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver wm8350_gpio_driver = {
|
static struct platform_driver wm8350_gpio_driver = {
|
||||||
|
|
|
@ -285,7 +285,8 @@ static int wm8994_gpio_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct wm8994_gpio *wm8994_gpio = platform_get_drvdata(pdev);
|
struct wm8994_gpio *wm8994_gpio = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
return gpiochip_remove(&wm8994_gpio->gpio_chip);
|
gpiochip_remove(&wm8994_gpio->gpio_chip);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct platform_driver wm8994_gpio_driver = {
|
static struct platform_driver wm8994_gpio_driver = {
|
||||||
|
|
Loading…
Reference in New Issue