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>
This commit is contained in:
Patrick Georgi 2011-08-16 15:47:15 +02:00 committed by Patrick Georgi
parent 4b8f779278
commit 8bbdb61113

View file

@ -37,7 +37,7 @@
#define FLADJ 0x61 #define FLADJ 0x61
#define FLADJ_framelength(x) (((x)-59488)/16) #define FLADJ_framelength(x) (((x)-59488)/16)
typedef union { typedef volatile union {
u32 val; u32 val;
volatile struct { volatile struct {
unsigned long current_conn_status:1; unsigned long current_conn_status:1;
@ -62,7 +62,7 @@ typedef union {
} __attribute__ ((packed)); } __attribute__ ((packed));
} __attribute__ ((packed)) portsc_t; } __attribute__ ((packed)) portsc_t;
typedef struct { typedef volatile struct {
u8 caplength; u8 caplength;
u8 res1; u8 res1;
u16 hciversion; u16 hciversion;
@ -117,7 +117,7 @@ typedef struct {
}; };
} __attribute__ ((packed)) hc_cap_t; } __attribute__ ((packed)) hc_cap_t;
typedef struct { typedef volatile struct {
union { union {
u32 usbcmd; u32 usbcmd;
volatile struct { volatile struct {
@ -174,7 +174,7 @@ typedef struct {
portsc_t portsc[0]; portsc_t portsc[0];
} hc_op_t; } hc_op_t;
typedef struct { typedef volatile struct {
union { union {
u32 next_qtd; u32 next_qtd;
struct { struct {
@ -223,7 +223,7 @@ typedef struct {
u32 bufptrs64[5]; u32 bufptrs64[5];
} __attribute__ ((packed)) qtd_t; } __attribute__ ((packed)) qtd_t;
typedef struct { typedef volatile struct {
union { union {
u32 horiz_link_ptr; u32 horiz_link_ptr;
struct { struct {