[PATCH] powerpc/85xx: add sleep and deep sleep support

Scott Wood scottwood at freescale.com
Sat Aug 1 12:57:17 AEST 2015


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.

> +     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



More information about the Linuxppc-dev mailing list