@@ -56,25 +56,33 @@ struct bcm63xx_spi {
static inline u8 bcm_spi_readb(struct bcm63xx_spi *bs,
unsigned int offset)
{
- return bcm_readb(bs->regs + bcm63xx_spireg(offset));
+ return readb(bs->regs + bcm63xx_spireg(offset));
}
static inline u16 bcm_spi_readw(struct bcm63xx_spi *bs,
unsigned int offset)
{
- return bcm_readw(bs->regs + bcm63xx_spireg(offset));
+#ifdef CONFIG_CPU_BIG_ENDIAN
+ return ioread16be(bs->regs + bcm63xx_spireg(offset));
+#else
+ return readw(bs->regs + bcm63xx_spireg(offset));
+#endif
}
static inline void bcm_spi_writeb(struct bcm63xx_spi *bs,
u8 value, unsigned int offset)
{
- bcm_writeb(value, bs->regs + bcm63xx_spireg(offset));
+ writeb(value, bs->regs + bcm63xx_spireg(offset));
}
static inline void bcm_spi_writew(struct bcm63xx_spi *bs,
u16 value, unsigned int offset)
{
- bcm_writew(value, bs->regs + bcm63xx_spireg(offset));
+#ifdef CONFIG_CPU_BIG_ENDIAN
+ iowrite16be(value, bs->regs + bcm63xx_spireg(offset));
+#else
+ writew(value, bs->regs + bcm63xx_spireg(offset));
+#endif
}
static const unsigned bcm63xx_spi_freq_table[SPI_CLK_MASK][2] = {
Replace all bcm_read* with (io)read. Due to this block following system endianness, make sure we match that. Signed-off-by: Jonas Gorski <jogo@openwrt.org> --- v1 -> v2: * Use the right guard and io*be. drivers/spi/spi-bcm63xx.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)