ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年7月11日 星期一

Android suspend -- worklog - usb wakeup

經過以上修改,系統已經可以 suspend/wakeup,
但是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 的功能。

沒有留言:

標籤

網誌存檔