On Thu, Apr 25, 2019 at 03:23:53PM +0200, Linus Walleij wrote: > > - return ret; > > + if (mb86s70_gpio_have_acpi(pdev)) > > + acpi_gpiochip_request_interrupts(&gchip->gc); > > + > > + return 0; > > I guess this is right... > > > struct mb86s70_gpio_chip *gchip = platform_get_drvdata(pdev); > > > > + if (gchip->gc.irq.domain) { > > + acpi_gpiochip_free_interrupts(&gchip->gc); > > + irq_domain_remove(gchip->gc.irq.domain); > > + } > > Mika can possibly comment on the right way to do ACPI bring-up > and take-down. Only comment I have is that normally you don't need to call acpi_gpiochip_request_interrupts() and acpi_gpiochip_free_interrupts() in GPIO chip drivers itself. The core should take care of this if the device ACPI description has an _AEI method.