summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@secunet.com>2011-08-16 15:47:15 +0200
committerPatrick Georgi <patrick@georgi-clan.de>2011-08-16 21:56:32 +0200
commit8bbdb61113ad7f6814b198c01236411e4a3b7482 (patch)
treea663b86582debabc23b344ec2c5bdd897a3abfa9
parent4b8f779278fdb85e4207bd1f06c0f90ea81c8069 (diff)
libpayload: EHCI registers are volatile
Some gcc versions seem to honor volatile at different places in a struct declaration. Change-Id: I0df2a3fb2eff4cee8cc1b8ac15d9cd9b86178752 Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Reviewed-on: http://review.coreboot.org/155 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marcj303@gmail.com>
-rw-r--r--payloads/libpayload/drivers/usb/ehci_private.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/payloads/libpayload/drivers/usb/ehci_private.h b/payloads/libpayload/drivers/usb/ehci_private.h
index e63a81db13..f4890cc3c0 100644
--- a/payloads/libpayload/drivers/usb/ehci_private.h
+++ b/payloads/libpayload/drivers/usb/ehci_private.h
@@ -37,7 +37,7 @@
#define FLADJ 0x61
#define FLADJ_framelength(x) (((x)-59488)/16)
-typedef union {
+typedef volatile union {
u32 val;
volatile struct {
unsigned long current_conn_status:1;
@@ -62,7 +62,7 @@ typedef union {
} __attribute__ ((packed));
} __attribute__ ((packed)) portsc_t;
-typedef struct {
+typedef volatile struct {
u8 caplength;
u8 res1;
u16 hciversion;
@@ -117,7 +117,7 @@ typedef struct {
};
} __attribute__ ((packed)) hc_cap_t;
-typedef struct {
+typedef volatile struct {
union {
u32 usbcmd;
volatile struct {
@@ -174,7 +174,7 @@ typedef struct {
portsc_t portsc[0];
} hc_op_t;
-typedef struct {
+typedef volatile struct {
union {
u32 next_qtd;
struct {
@@ -223,7 +223,7 @@ typedef struct {
u32 bufptrs64[5];
} __attribute__ ((packed)) qtd_t;
-typedef struct {
+typedef volatile struct {
union {
u32 horiz_link_ptr;
struct {