diff options
author | Uwe Kleine-König | 2018-04-25 16:50:39 +0200 |
---|---|---|
committer | Marc Kleine-Budde | 2018-05-08 10:41:38 +0200 |
commit | 0e030a373df3b8792b8991740fc31fe0629c6e58 (patch) | |
tree | ec7618de4b21dd6736f14d6d9d1ad091876ac2c9 /arch/arm/boot | |
parent | 71c23a821c6bcacba71a094efe49ee689605906b (diff) |
can: flexcan: fix endianess detection
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 quirk in 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@pengutronix.de>
Tested-by: Gavin Schenk <g.schenk@eckelmann.de>
Cc: linux-stable <stable@vger.kernel.org> # >= v4.16
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'arch/arm/boot')
0 files changed, 0 insertions, 0 deletions