[PATCH 1/2] can: flexcan: fix endianess detection

Schenk, Gavin G.Schenk at eckelmann.de
Wed Apr 25 23:06:01 PDT 2018


Hi,

> In commit 88462d2a7830 ("can: flexcan: Remodel FlexCAN register r/w APIs
> for big endian FlexCAN controllers.") the following logic was
> implemented:
> 
> 	if the dt property "big-endian" is given or
> 	   the device is compatible to "fsl,p1010-flexcan":
> 		use big-endian mode;
> 	else
> 		use little-endian mode;
> 
> This relies on commit d50f4630c2e1 ("arm: dts: Remove p1010-flexcan
> compatible from imx series dts") which was applied a few commits later.
> Without this commit (or an old device tree used for booting a new
> kernel) the flexcan devices on i.MX25, i.MX28, i.MX35 and i.MX53 match
> the 'the device is compatible to "fsl,p1010-flexcan"' test and so are
> switched erroneously to big endian mode.
> 
> Instead of the check above put a flag into devtype data and rely on
> of_match_device yielding the most compatible match
> 
> Fixes: 88462d2a7830 ("can: flexcan: Remodel FlexCAN register r/w APIs for big
> endian FlexCAN controllers.")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Tested-by: Gavin Schenk <g.schenk at eckelmann.de>

Regards
Gavin Schenk


More information about the linux-arm-kernel mailing list