Hi Anson, On Mon, Sep 2, 2019 at 11:05 PM Anson Huang <Anson.Huang@xxxxxxx> wrote: > + ret = input_register_device(input); > + if (ret < 0) { > + dev_err(&pdev->dev, "failed to register input device\n"); > + return ret; > + } > + > + pdata->input = input; > + platform_set_drvdata(pdev, pdata); > + > + ret = imx_scu_irq_group_enable(SC_IRQ_GROUP_WAKE, SC_IRQ_BUTTON, true); > + if (ret) { > + dev_warn(&pdev->dev, "enable scu group irq failed\n"); > + return ret; Better do a 'goto input_unregister' here instead and call input_unregister_device().