On Tue, May 27, 2014 at 12:24:56PM +0300, Grygorii Strashko wrote: > >> + > >> + if (retval) { > >> + dev_warn(&pdev->dev, "request irq failed: %d\n", retval); > >> + goto out; > >> + } > >> + > >> + retval = gpiochip_add(&cg->chip); > >> + if (retval) { > >> + dev_warn(&pdev->dev, "add gpio chip error: %d\n", retval); > >> + goto out_free_irq; > >> + } > > As to my mind, It'll be better to setup IRQ as last probing step and > free it as the first step of driver removing. When gpiochip_add() is called the chip is exported to outside world. At that point anyone can start requesting GPIOs and setup GPIO based interrupts. How does that work if you setup the IRQ after you call gpiochip_add()? -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html