lkml.org 
[lkml]   [2015]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] powerpc/85xx: add sleep and deep sleep support


On Sat, Aug 1, 2015 at 10:57 AM, Scott Wood <scottwood@freescale.com>
wrote:
> On Fri, 2015-07-24 at 20:46 +0800, Chenhui Zhao wrote:
>> +static void mpc85xx_pmc_set_wake(struct device *dev, void *enable)
>> {
>> int ret;
>> + u32 value[2];
>> +
>> + if (!device_may_wakeup(dev))
>> + return;
>> +
>> + if (!pmc_regs) {
>> + dev_err(dev, "%s: PMC is unavailable\n", __func__);
>> + return;
>> + }
>> +
>> + ret = of_property_read_u32_array(dev->of_node, "sleep",
>> value, 2);
>
> This will crash on any device without an of_node.

Add this before this line:
if (!dev->of_node)
return;

>
>
>> + if (ret) {
>> + dev_dbg(dev, "%s: Can not find the \"sleep\"
>> property.\n",
>> + __func__);
>> + return;
>> + }
>> +
>> + if (*(int *)enable)
>> + pmc_pmcdr_mask &= ~value[1];
>> + else
>> + pmc_pmcdr_mask |= value[1];
>> +
>> + if ((value[1] & 0xe0) && (pmc_flag & PMC_LOSSLESS))
>> + pmc_powmgtcsr = POWMGTCSR_LOSSLESS;
>> +}
>
> What is 0xe0?
>
> -Scott

This is a mask value for the register PMCDR, which includes all bits
corresponding to eTSEC. Will use a macro instead.

-Chenhui



\
 
 \ /
  Last update: 2015-08-03 13:41    [W:0.068 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site