Commit fc0292a2 authored by Laxman Dewangan's avatar Laxman Dewangan

gpio: twl6040: Use devm_gpiochip_add_data() for gpio registration

Use devm_gpiochip_add_data() for GPIO registration and remove the
need of driver callback .remove.
Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
parent 973eff01
...@@ -100,7 +100,7 @@ static int gpo_twl6040_probe(struct platform_device *pdev) ...@@ -100,7 +100,7 @@ static int gpo_twl6040_probe(struct platform_device *pdev)
twl6040gpo_chip.of_node = twl6040_core_dev->of_node; twl6040gpo_chip.of_node = twl6040_core_dev->of_node;
#endif #endif
ret = gpiochip_add_data(&twl6040gpo_chip, NULL); ret = devm_gpiochip_add_data(&pdev->dev, &twl6040gpo_chip, NULL);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "could not register gpiochip, %d\n", ret); dev_err(&pdev->dev, "could not register gpiochip, %d\n", ret);
twl6040gpo_chip.ngpio = 0; twl6040gpo_chip.ngpio = 0;
...@@ -109,12 +109,6 @@ static int gpo_twl6040_probe(struct platform_device *pdev) ...@@ -109,12 +109,6 @@ static int gpo_twl6040_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int gpo_twl6040_remove(struct platform_device *pdev)
{
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. */
MODULE_ALIAS("platform:twl6040-gpo"); MODULE_ALIAS("platform:twl6040-gpo");
...@@ -123,7 +117,6 @@ static struct platform_driver gpo_twl6040_driver = { ...@@ -123,7 +117,6 @@ static struct platform_driver gpo_twl6040_driver = {
.name = "twl6040-gpo", .name = "twl6040-gpo",
}, },
.probe = gpo_twl6040_probe, .probe = gpo_twl6040_probe,
.remove = gpo_twl6040_remove,
}; };
module_platform_driver(gpo_twl6040_driver); module_platform_driver(gpo_twl6040_driver);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment