usb: chipidea: implement platform shutdown callback
authorAndreas Fenkart <afenkart@gmail.com>
Thu, 12 Nov 2015 13:14:40 +0000 (14:14 +0100)
committerPeter Chen <peter.chen@freescale.com>
Thu, 24 Dec 2015 06:15:27 +0000 (14:15 +0800)
disable wakeup irq during shutdown, otherwise kexec fails for
kernels that setup irq handlers before resetting the hardware

Signed-off-by: Andreas Fenkart <andreas.fenkart@dev.digitalstrom.org>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
drivers/usb/chipidea/ci_hdrc_imx.c

index 5a048b7b92e8f8c7821f3e0a6880f38ab3259733..f14f4ab47ebb8f73268edc0530728ebe67f244c7 100644 (file)
@@ -345,6 +345,11 @@ static int ci_hdrc_imx_remove(struct platform_device *pdev)
        return 0;
 }
 
+static void ci_hdrc_imx_shutdown(struct platform_device *pdev)
+{
+       ci_hdrc_imx_remove(pdev);
+}
+
 #ifdef CONFIG_PM
 static int imx_controller_suspend(struct device *dev)
 {
@@ -462,6 +467,7 @@ static const struct dev_pm_ops ci_hdrc_imx_pm_ops = {
 static struct platform_driver ci_hdrc_imx_driver = {
        .probe = ci_hdrc_imx_probe,
        .remove = ci_hdrc_imx_remove,
+       .shutdown = ci_hdrc_imx_shutdown,
        .driver = {
                .name = "imx_usb",
                .of_match_table = ci_hdrc_imx_dt_ids,