On 5/27/2014 5:24 PM, Grygorii Strashko wrote: > Hi Lejun, > > On 05/27/2014 08:38 AM, Alexandre Courbot wrote: >> On Fri, May 23, 2014 at 11:00 AM, Zhu, Lejun <lejun.zhu@xxxxxxxxxxxxxxx> wrote: >>> +static int crystalcove_gpio_probe(struct platform_device *pdev) >>> +{ >>> + int irq = platform_get_irq(pdev, 0); > > Pls note, that platform_get_irq() may return error code. Thank you. I'll fix it. > > devm_gpiochip_add? ;) > Huh? Can't find the API... >>> + >>> + 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. Mika suggested this order. Please see his mail for the reason. Is there anything bad might happen if I setup IRQ first then do gpiochip_add? Best Regards Lejun -- 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