[PATCH] ARM: davinci: enable PM for DT boot
Sekhar Nori
nsekhar at ti.com
Fri Nov 11 03:02:13 PST 2016
On Tuesday 08 November 2016 11:43 PM, Kevin Hilman wrote:
> Hi Sekhar,
>
> Sekhar Nori <nsekhar at ti.com> writes:
>
>> On Wednesday 26 October 2016 03:17 AM, Kevin Hilman wrote:
>>> Currently system PM is only enabled for legacy (non-DT) boot. Enable
>>> for DT boot also.
>>>
>>> Tested on da850-lcdk using "rtcwake -m mem -s5 -d rtc0".
>>>
>>> Signed-off-by: Kevin Hilman <khilman at baylibre.com>
>>> ---
>>> arch/arm/mach-davinci/da8xx-dt.c | 18 ++++++++++++++++++
>>> 1 file changed, 18 insertions(+)
>>>
>>> diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
>>> index c9f7e9274aa8..a8089fa40d86 100644
>>> --- a/arch/arm/mach-davinci/da8xx-dt.c
>>> +++ b/arch/arm/mach-davinci/da8xx-dt.c
>>> @@ -43,8 +43,26 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
>>>
>>> #ifdef CONFIG_ARCH_DAVINCI_DA850
>>>
>>> +static struct davinci_pm_config da850_pm_pdata = {
>>> + .sleepcount = 128,
>>> +};
>>> +
>>> +static struct platform_device da850_pm_device = {
>>> + .name = "pm-davinci",
>>> + .dev = {
>>> + .platform_data = &da850_pm_pdata,
>>> + },
>>> + .id = -1,
>>> +};
>>> +
>>> static void __init da850_init_machine(void)
>>> {
>>> + int ret;
>>> +
>>> + ret = da850_register_pm(&da850_pm_device);
>>
>> I am not sure if it makes sense to keep the "pm device" around anymore.
>> I think for both DT and non-DT boot, we can get rid of the fake PM
>> device and combine da850_register_pm() and davinci_pm_probe() into a
>> single davinci_init_suspend() function which can then be called both for
>> DT and non-DT boot.
>
> Looking closer at this, where do you propose the pdata comes from for
> the non-DT boot?
>
> It seems to me that we can't currently remove the pdata dependency
> without breaking the non-DT platforms, so the approach proposed here is
> the least invasive.
There is a single value of sleep count that is used today (128). So I
was thinking we can hardcode that in pm.c. We are not going to add more
board files anyway so there is no risk here.
For future, if a different sleepcount value is needed, it will need to
be a new DT property.
Thanks,
Sekhar
More information about the linux-arm-kernel
mailing list