summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2016-11-30 22:28:09 +0300
committerMark Brown <broonie@kernel.org>2016-12-01 21:50:59 +0300
commit7e2ef003302cc797917ce0a2a32cffb4af42c99e (patch)
tree88d366697335c8ac18c45ae27828b585c71b8ae8 /drivers/spi
parentd54ef0574ade2eab4d203687d53ed20351e323ab (diff)
downloadlinux-7e2ef003302cc797917ce0a2a32cffb4af42c99e.tar.xz
spi: fsl-espi: fix ioread16/iowrite16 endianness
fsl_espi_read_reg16 / fsl_espi_write_reg16 are supposed to read / write big endian values. Therefore ioread16be / iowrite16be have to be used. Fixes: 058234328445 ("eliminate need for linearization when writing to hardware") Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-fsl-espi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/spi/spi-fsl-espi.c b/drivers/spi/spi-fsl-espi.c
index cd2832940092..1d332e23f6ed 100644
--- a/drivers/spi/spi-fsl-espi.c
+++ b/drivers/spi/spi-fsl-espi.c
@@ -124,7 +124,7 @@ static inline u32 fsl_espi_read_reg(struct fsl_espi *espi, int offset)
static inline u16 fsl_espi_read_reg16(struct fsl_espi *espi, int offset)
{
- return ioread16(espi->reg_base + offset);
+ return ioread16be(espi->reg_base + offset);
}
static inline u8 fsl_espi_read_reg8(struct fsl_espi *espi, int offset)
@@ -141,7 +141,7 @@ static inline void fsl_espi_write_reg(struct fsl_espi *espi, int offset,
static inline void fsl_espi_write_reg16(struct fsl_espi *espi, int offset,
u16 val)
{
- iowrite16(val, espi->reg_base + offset);
+ iowrite16be(val, espi->reg_base + offset);
}
static inline void fsl_espi_write_reg8(struct fsl_espi *espi, int offset,