Commit eece8a651c96a2a3 ("USB: isp116x: isa_rom_*() calls should depend
on CONFIG_ATARI_ROM_ISA") broke USB on EtherNAT if CONFIG_ATARI_ROM_ISA
is not set, as USB on EtherNAT requires byte-swapped I/O accessors.

Add a separate #elif section for Atari without ROM port ISA to fix this.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
To be folded into "m68k/atari: USB - add ISP1160 USB host controller
support"
---
 drivers/usb/host/isp116x.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/usb/host/isp116x.h b/drivers/usb/host/isp116x.h
index 634258df159b..adebe0251574 100644
--- a/drivers/usb/host/isp116x.h
+++ b/drivers/usb/host/isp116x.h
@@ -369,6 +369,14 @@ struct isp116x_ep {
 #define isp_writew(v, p)       ((((unsigned long)(__pa(p)) & 0x00000F00) == 
0x00000300UL) ? isa_rom_writew_raw((v), __pa(p)) : __raw_writew((v), (p)))
 #define isp_raw_readw(p)       ((((unsigned long)(__pa(p)) & 0x00000F00) == 
0x00000300UL) ? isa_rom_readw(__pa(p)) : readw((p)))
 #define isp_raw_writew(v, p)   ((((unsigned long)(__pa(p)) & 0x00000F00) == 
0x00000300UL) ? isa_rom_writew((v), __pa(p)) : writew((v), (p)))
+#elif defined(CONFIG_ATARI)
+  /*
+   * 16 bit data bus byte swapped in hardware on EtherNAT only.
+   */
+#define isp_readw              __raw_readw
+#define isp_writew             __raw_writew
+#define isp_raw_readw          readw
+#define isp_raw_writew         writew
 #else
   /* sane hardware */
 #define isp_readw              readw
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to