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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev