staging: fsl-mc: don't use raw device io functions
authorLaurentiu Tudor <laurentiu.tudor@nxp.com>
Wed, 19 Jul 2017 11:42:30 +0000 (14:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 30 Jul 2017 15:23:27 +0000 (08:23 -0700)
commitb064d0e6e42ed4774c42bfbec0db60f8249a9de2
tree28a51e979f69635aa32d128abf95b074e5430bb4
parentf1027a8cb8d77ed00719d110c03a6aaf73fd137a
staging: fsl-mc: don't use raw device io functions

As raw device io functions are not portable and don't handle byte-order
(triggering suspicion that endianness isn't handled well) switch to
using the standard api.
Since MC expects LE byte-order and the upper layers already take care
of that, we need to trick the device io api by doing a LE -> CPU
conversion just before calling it. This way, the CPU -> LE conversion
done in the api puts the data back in the right byte-order. Obviously,
for reads the extra step is mirrored: there's a CPU -> LE conversion
following the API call.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-mc/bus/mc-sys.c