gpio: twl4030: Use devm_gpiochip_add_data() to simplify remove path
PATCH v3 1/1 gpio: twl4030: Use devm_gpiochip_add_data() to simplify remove path
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by Andrew Davis <[email protected]>
---
Changes from v2:
- Rebase on v6.4-rc2
Changes from v1:
- Actually add the devm call
drivers/gpio/gpio-twl4030.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-)
drivers/gpio/gpio-twl4030.c +3 -20
@@ -492,18 +492,6 @@ static struct twl4030_gpio_platform_data *of_gpio_twl4030(struct device *dev,return omap_twl_info; } -/* Cannot use as gpio_twl4030_probe() calls us */ -static int gpio_twl4030_remove (struct platform_device *pdev) -{ -struct gpio_twl4030_priv *priv =platform_get_drvdata (pdev); - -gpiochip_remove (&priv->gpio_chip); - -/* REVISIT no support yet for deregistering all the IRQs */ -WARN_ON (!is_module ()); -return 0 ; -} -static int gpio_twl4030_probe (struct platform_device *pdev) {struct twl4030_gpio_platform_data *pdata =dev_get_platdata (&pdev->dev);
@@ -577,16 +565,13 @@ static int gpio_twl4030_probe(struct platform_device *pdev)if (pdata->use_leds) priv->gpio_chip.ngpio +=2 ; - ret =gpiochip_add_data (&priv->gpio_chip, priv); + ret =devm_gpiochip_add_data (&pdev->dev, &priv->gpio_chip, priv);if (ret <0 ) {dev_err (&pdev->dev,"could not register gpiochip, %d\n" , ret); priv->gpio_chip.ngpio =0 ; -gpio_twl4030_remove (pdev); - goto out; +return ret; } -platform_set_drvdata (pdev, priv); -if (pdata->setup) {int status;
@@ -596,8 +581,7 @@ static int gpio_twl4030_probe(struct platform_device *pdev)dev_dbg (&pdev->dev,"setup --> %d\n" , status); } -out: -return ret; +return 0 ; }static const struct of_device_id twl_gpio_match[] = {
@@ -615,7 +599,6 @@ static struct platform_driver gpio_twl4030_driver = { .of_match_table = twl_gpio_match, }, .probe = gpio_twl4030_probe, - .remove = gpio_twl4030_remove, };static int __init gpio_twl4030_init (void )
Signature · 1 line
2.39.2
Quoted 3 lines · Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by Andrew Davis <[email protected]>
Reviewed-by Linus Walleij <[email protected]>
Yours,
Linus Walleij
Bartosz Golaszewski
AppliedQuoted 6 lines · Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by Andrew Davis <[email protected]>---
Applied, thanks!
Bart