diff options
author | Andreas Fenkart <afenkart@gmail.com> | 2015-11-12 08:14:40 -0500 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2015-12-24 01:15:27 -0500 |
commit | b09b5224fe86b3c9adef1bd9f0bd81800e8ff0b3 (patch) | |
tree | b9133eeb4662149f5f184d34f173a81e339d1cd8 /drivers/usb/chipidea | |
parent | 3a35d59a69398b3b522d449404669624486d2b68 (diff) |
usb: chipidea: implement platform shutdown callback
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>
Diffstat (limited to 'drivers/usb/chipidea')
-rw-r--r-- | drivers/usb/chipidea/ci_hdrc_imx.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c index 5a048b7b92e8..f14f4ab47ebb 100644 --- a/drivers/usb/chipidea/ci_hdrc_imx.c +++ b/drivers/usb/chipidea/ci_hdrc_imx.c | |||
@@ -345,6 +345,11 @@ static int ci_hdrc_imx_remove(struct platform_device *pdev) | |||
345 | return 0; | 345 | return 0; |
346 | } | 346 | } |
347 | 347 | ||
348 | static void ci_hdrc_imx_shutdown(struct platform_device *pdev) | ||
349 | { | ||
350 | ci_hdrc_imx_remove(pdev); | ||
351 | } | ||
352 | |||
348 | #ifdef CONFIG_PM | 353 | #ifdef CONFIG_PM |
349 | static int imx_controller_suspend(struct device *dev) | 354 | static int imx_controller_suspend(struct device *dev) |
350 | { | 355 | { |
@@ -462,6 +467,7 @@ static const struct dev_pm_ops ci_hdrc_imx_pm_ops = { | |||
462 | static struct platform_driver ci_hdrc_imx_driver = { | 467 | static struct platform_driver ci_hdrc_imx_driver = { |
463 | .probe = ci_hdrc_imx_probe, | 468 | .probe = ci_hdrc_imx_probe, |
464 | .remove = ci_hdrc_imx_remove, | 469 | .remove = ci_hdrc_imx_remove, |
470 | .shutdown = ci_hdrc_imx_shutdown, | ||
465 | .driver = { | 471 | .driver = { |
466 | .name = "imx_usb", | 472 | .name = "imx_usb", |
467 | .of_match_table = ci_hdrc_imx_dt_ids, | 473 | .of_match_table = ci_hdrc_imx_dt_ids, |