Patchwork [15/15] usb_ohci: Always use little endian

login
register
mail settings
Submitter Alexander Graf
Date Nov. 30, 2010, 2:36 p.m.
Message ID <1291127761-16501-16-git-send-email-agraf@suse.de>
Download mbox | patch
Permalink /patch/73696/
State New
Headers show

Comments

Alexander Graf - Nov. 30, 2010, 2:36 p.m.
This patch replaces explicit bswaps with endianness hints to the
mmio layer.

Because we don't depend on the target endianness anymore, we can also
move the driver over to Makefile.objs.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 Makefile.objs   |    1 +
 Makefile.target |    3 ---
 hw/usb-ohci.c   |    9 +--------
 3 files changed, 2 insertions(+), 11 deletions(-)

Patch

diff --git a/Makefile.objs b/Makefile.objs
index 5a679c6..f2c971c 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -179,6 +179,7 @@  hw-obj-$(CONFIG_I8254) += i8254.o
 hw-obj-$(CONFIG_PCSPK) += pcspk.o
 hw-obj-$(CONFIG_PCKBD) += pckbd.o
 hw-obj-$(CONFIG_USB_UHCI) += usb-uhci.o
+hw-obj-$(CONFIG_USB_OHCI) += usb-ohci.o
 hw-obj-$(CONFIG_FDC) += fdc.o
 hw-obj-$(CONFIG_ACPI) += acpi.o acpi_piix4.o
 hw-obj-$(CONFIG_APM) += pm_smbus.o apm.o
diff --git a/Makefile.target b/Makefile.target
index c96107c..74930ae 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -206,9 +206,6 @@  QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
 # xen backend driver support
 obj-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o
 
-# USB layer
-obj-$(CONFIG_USB_OHCI) += usb-ohci.o
-
 # Inter-VM PCI shared memory
 obj-$(CONFIG_KVM) += ivshmem.o
 
diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
index 0c1bdeb..4716c27 100644
--- a/hw/usb-ohci.c
+++ b/hw/usb-ohci.c
@@ -1530,9 +1530,6 @@  static uint32_t ohci_mem_read(void *ptr, target_phys_addr_t addr)
         }
     }
 
-#ifdef TARGET_WORDS_BIGENDIAN
-    retval = bswap32(retval);
-#endif
     return retval;
 }
 
@@ -1542,10 +1539,6 @@  static void ohci_mem_write(void *ptr, target_phys_addr_t addr, uint32_t val)
 
     addr &= 0xff;
 
-#ifdef TARGET_WORDS_BIGENDIAN
-    val = bswap32(val);
-#endif
-
     /* Only aligned reads are allowed on OHCI */
     if (addr & 3) {
         fprintf(stderr, "usb-ohci: Mis-aligned write\n");
@@ -1698,7 +1691,7 @@  static void usb_ohci_init(OHCIState *ohci, DeviceState *dev,
     }
 
     ohci->mem = cpu_register_io_memory(ohci_readfn, ohci_writefn, ohci,
-                                       DEVICE_NATIVE_ENDIAN);
+                                       DEVICE_LITTLE_ENDIAN);
     ohci->localmem_base = localmem_base;
 
     ohci->name = dev->info->name;