--- a/drivers/usb/host/isp116x.h +++ b/drivers/usb/host/isp116x.h @@ -364,22 +364,64 @@ struct isp116x_ep { #define IRQ_TEST() do{}while(0) #endif +#ifdef CONFIG_405EP +static inline void isp116x_writew(u16 val, void __iomem *addr) +{ + writew(cpu_to_le16(val), addr); +} + +static inline u16 isp116x_readw(void __iomem *addr) +{ + return le16_to_cpu(readw(addr)); +} + +static inline void isp116x_raw_writew(u16 val, void __iomem *addr) +{ + writew(cpu_to_le16(val), addr); +} + +static inline u16 isp116x_raw_readw(void __iomem *addr) +{ + return le16_to_cpu(readw(addr)); +} +#else +static inline void isp116x_writew(u16 val, void __iomem *addr) +{ + writew(val, addr); +} + +static inline u16 isp116x_readw(void __iomem *addr) +{ + return readw(addr); +} + +static inline void isp116x_raw_writew(u16 val, void __iomem *addr) +{ + __raw_writew(val, addr); +} + +static inline u16 isp116x_raw_readw(void __iomem *addr) +{ + return __raw_readw(addr); +} +#endif + static inline void isp116x_write_addr(struct isp116x *isp116x, unsigned reg) { IRQ_TEST(); - writew(reg & 0xff, isp116x->addr_reg); + isp116x_writew(reg & 0xff, isp116x->addr_reg); isp116x_delay(isp116x, 300); } static inline void isp116x_write_data16(struct isp116x *isp116x, u16 val) { - writew(val, isp116x->data_reg); + isp116x_writew(val, isp116x->data_reg); isp116x_delay(isp116x, 150); } static inline void isp116x_raw_write_data16(struct isp116x *isp116x, u16 val) { - __raw_writew(val, isp116x->data_reg); + isp116x_raw_writew(val, isp116x->data_reg); isp116x_delay(isp116x, 150); } @@ -387,7 +429,7 @@ static inline u16 isp116x_read_data16(st { u16 val; - val = readw(isp116x->data_reg); + val = isp116x_readw(isp116x->data_reg); isp116x_delay(isp116x, 150); return val; } @@ -396,16 +438,16 @@ static inline u16 isp116x_raw_read_data1 { u16 val; - val = __raw_readw(isp116x->data_reg); + val = isp116x_raw_readw(isp116x->data_reg); isp116x_delay(isp116x, 150); return val; } static inline void isp116x_write_data32(struct isp116x *isp116x, u32 val) { - writew(val & 0xffff, isp116x->data_reg); + isp116x_writew(val & 0xffff, isp116x->data_reg); isp116x_delay(isp116x, 150); - writew(val >> 16, isp116x->data_reg); + isp116x_writew(val >> 16, isp116x->data_reg); isp116x_delay(isp116x, 150); } @@ -413,9 +455,9 @@ static inline u32 isp116x_read_data32(st { u32 val; - val = (u32) readw(isp116x->data_reg); + val = (u32) isp116x_readw(isp116x->data_reg); isp116x_delay(isp116x, 150); - val |= ((u32) readw(isp116x->data_reg)) << 16; + val |= ((u32) isp116x_readw(isp116x->data_reg)) << 16; isp116x_delay(isp116x, 150); return val; }