On Sat, Sep 10, 2011 at 12:29 AM, Kevin Hilman [off-list ref] wrote:
"Govindraj.R" [off-list ref] writes:
quoted
Currently we are using uart prepare and resume calls to gate uart clocks
retaining the same method.
More details on reason to retain this design is provided here:
http://www.spinics.net/lists/linux-serial/msg04128.html
This type of thing can go after the '---' since it doesn't belong in the
permanent git history.
Okay.
quoted
Since prepare and resume hooks are moved to driver itself we can just use
a single prepare and resume call. As in driver we traverse on number of uart
instance and handle it accordingly.
Some important functionality has been removed (and not documented.)
Namely, the current code checks the next power when deciding whether or
not to call prepare_idle, and vice versa for resume_idle.
It's quite possible that it is no longer needed with the runtime PM
quoted
In 34xx uart can wakeup using module level PM_WKEN or IO PAD wakeup use
resume_call from prcm irq handler to wakeup uart, based on chk_wakeup_status
from io_pad or PM_WKST.
IMO, this patch should just replace the mulitple calls with a single
call, but still in the idle path.
Yes fine, will make resume from prcm_irq a separate patch.
Using the PRCM IRQ handler should be a separate patch with it's own
changelog.
quoted
Signed-off-by: Govindraj.R <redacted>
Also, moving these calls to the driver means that the driver cannot be
built as a module:
arch/arm/mach-omap2/built-in.o: In function `omap2_enter_full_retention':
/work/kernel/omap/pm/arch/arm/mach-omap2/pm24xx.c:141: undefined reference to `omap_uart_prepare_idle'
/work/kernel/omap/pm/arch/arm/mach-omap2/pm24xx.c:148: undefined reference to `omap_uart_resume_idle'
arch/arm/mach-omap2/built-in.o: In function `prcm_clear_mod_irqs':
/work/kernel/omap/pm/arch/arm/mach-omap2/pm34xx.c:213: undefined reference to `omap_uart_resume_idle'
arch/arm/mach-omap2/built-in.o: In function `omap_sram_idle':
/work/kernel/omap/pm/arch/arm/mach-omap2/pm34xx.c:390: undefined reference to `omap_uart_prepare_idle'
Will check and fix this in next version.
--
Thanks,
Govindraj.R