diff options
author | Patrick Georgi <patrick.georgi@secunet.com> | 2011-08-16 15:47:15 +0200 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2011-08-16 21:56:32 +0200 |
commit | 8bbdb61113ad7f6814b198c01236411e4a3b7482 (patch) | |
tree | a663b86582debabc23b344ec2c5bdd897a3abfa9 /payloads | |
parent | 4b8f779278fdb85e4207bd1f06c0f90ea81c8069 (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>
Diffstat (limited to 'payloads')
-rw-r--r-- | payloads/libpayload/drivers/usb/ehci_private.h | 10 |
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 { |