diff options
Diffstat (limited to 'arch/arm/mach-omap/omap4_rom_usb.c')
-rw-r--r-- | arch/arm/mach-omap/omap4_rom_usb.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/arm/mach-omap/omap4_rom_usb.c b/arch/arm/mach-omap/omap4_rom_usb.c index 31d93c34ee..01c5565a68 100644 --- a/arch/arm/mach-omap/omap4_rom_usb.c +++ b/arch/arm/mach-omap/omap4_rom_usb.c @@ -31,9 +31,9 @@ */ #include <common.h> -#include <mach/omap4-silicon.h> -#include <mach/omap4_rom_usb.h> -#include <mach/generic.h> +#include <mach/omap/omap4-silicon.h> +#include <mach/omap/omap4_rom_usb.h> +#include <mach/omap/generic.h> #include <init.h> static struct omap4_usbboot omap4_usbboot_data; @@ -46,6 +46,9 @@ int omap4_usbboot_open(void) int n; u32 base; + if (omap4_usbboot_ready()) + return 0; + if (omap4_revision() >= OMAP4460_ES1_0) base = PUBLIC_API_BASE_4460; else @@ -82,7 +85,6 @@ int omap4_usbboot_open(void) omap4_usbboot_puts("USB communications initialized\n"); return 0; } -core_initcall(omap4_usbboot_open); int omap4_usbboot_ready(void){ return omap4_usbboot_data.ready; @@ -111,8 +113,7 @@ int omap4_usbboot_wait_read(void) { int ret; while (omap4_usbboot_data.dread.status == STATUS_WAITING) - /* cpu_relax(); */ - barrier(); + cpu_relax(); ret = omap4_usbboot_data.dread.status; omap4_usbboot_data.dread.status = -1; return ret; @@ -153,8 +154,7 @@ int omap4_usbboot_wait_write(void) { int ret; while (omap4_usbboot_data.dwrite.status == STATUS_WAITING) - /* cpu_relax(); */ - barrier(); + cpu_relax(); ret = omap4_usbboot_data.dwrite.status; omap4_usbboot_data.dwrite.status = -1; return ret; |