summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap/omap4_rom_usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap/omap4_rom_usb.c')
-rw-r--r--arch/arm/mach-omap/omap4_rom_usb.c16
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;