On 06/27/2012 10:19 AM, Hui Wang wrote: > The freescale arm i.MX series platform can support this driver, and > usually the arm cpu works in the little endian mode by default, while > device tree entry value is stored in big endian format, we should use > be32_to_cpup() to handle them, after modification, it can work well > both on the le cpu and be cpu. good catch. We didn't notice since this clock has only been used on powerpc so far. However you should not need to set this property, as ARM has proper clock tree support and the clock rate is taken from the clock tree not the device tree. Applied to can-master. Marc > Cc: linux-can@vger.kernel.org > Cc: Marc Kleine-Budde > Cc: David S. Miller > Cc: Shawn Guo > Signed-off-by: Hui Wang > --- > drivers/net/can/flexcan.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c > index 38c0690..81d4741 100644 > --- a/drivers/net/can/flexcan.c > +++ b/drivers/net/can/flexcan.c > @@ -939,12 +939,12 @@ static int __devinit flexcan_probe(struct platform_device *pdev) > return PTR_ERR(pinctrl); > > if (pdev->dev.of_node) { > - const u32 *clock_freq_p; > + const __be32 *clock_freq_p; > > clock_freq_p = of_get_property(pdev->dev.of_node, > "clock-frequency", NULL); > if (clock_freq_p) > - clock_freq = *clock_freq_p; > + clock_freq = be32_to_cpup(clock_freq_p); > } > > if (!clock_freq) { -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |