但是suspend 後把週邊 power 關掉後,會有 usb wakeup here 的 message
-- 大概是 usb host 認為有 wakeup 吧..
把 usb 的 wakeup driver handler 拿掉
--
結果 , suspend 後反而出現 unhandled irq。
只好把 usb host 的 registeration function 拿掉,, 這樣就 OK 了,
suspend current 也由 300mA降掉 150mA--- 因為以前根本沒 suspend ..
要disable 的話..
arch/arm/plat-mxc/usb_common.c
static int usb_register_remote_wakeup(struct platform_device *pdev)
{
struct fsl_usb2_platform_data *pdata = pdev->dev.platform_data;
struct resource *res;
int irq;
pr_debug("%s: pdev=0x%p \n", __func__, pdev);
if (!(pdata->wake_up_enable))
return -ECANCELED;
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (!res) {
dev_err(&pdev->dev,
"Found HC with no IRQ. Check %s setup!\n",
dev_name(&pdev->dev));
return -ENODEV;
}
irq = res->start;
pdev->dev.power.can_wakeup = 1;
enable_irq_wake(irq);
return 0;
}
讓這個 return 0 就可以其實比較好的作法是在 kenel menuconfig 中拿掉 usb suspend 的功能。
沒有留言:
張貼留言