[PATCH v4 09/11] OMAP2+: Serial: Use prepare and resume calls to gate uart clocks

Govindraj govindraj.ti at gmail.com
Mon Sep 12 02:37:05 EDT 2011


On Sat, Sep 10, 2011 at 12:29 AM, Kevin Hilman <khilman at ti.com> wrote:
> "Govindraj.R" <govindraj.raja at ti.com> writes:
>
>> 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.

>> 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
>
>> 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.
>
>> Signed-off-by: Govindraj.R <govindraj.raja at ti.com>
>
> 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



More information about the linux-arm-kernel mailing list