wt., 9 lip 2019 o 20:49 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> napisał(a): > > Hi Bartosz, > > On Tue, May 28, 2019 at 5:46 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > > > Use the managed variant of gpiochip_add_data() and remove the call to > > gpiochip_remove(). > > > > Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > --- > > drivers/gpio/gpio-em.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c > > index 40f8c38bec1c..299101d25fa8 100644 > > --- a/drivers/gpio/gpio-em.c > > +++ b/drivers/gpio/gpio-em.c > > @@ -359,7 +359,7 @@ static int em_gio_probe(struct platform_device *pdev) > > goto err1; > > } > > > > - ret = gpiochip_add_data(gpio_chip, p); > > + ret = devm_gpiochip_add_data(&pdev->dev, gpio_chip, p); > > if (ret) { > > dev_err(&pdev->dev, "failed to add GPIO controller\n"); > > goto err1; > > @@ -376,8 +376,6 @@ static int em_gio_remove(struct platform_device *pdev) > > { > > struct em_gio_priv *p = platform_get_drvdata(pdev); > > > > - gpiochip_remove(&p->gpio_chip); > > - > > irq_domain_remove(p->irq_domain); > > On a second thought, is it safe to call irq_domain_remove() before > gpiochip_remove() (which calls gpiochip_irqchip_remove())? > Good call. I think the most elegant solution here would be to use devm_add_action() to keep the ordering right. I'll send a follow-up tomorrow morning. Bart > > return 0; > > > } > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds