--- zzzz-none-000/linux-2.6.28.10/include/linux/usb/ehci_def.h 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/include/linux/usb/ehci_def.h 2012-04-20 09:11:12.000000000 +0000 @@ -53,7 +53,7 @@ struct ehci_regs { /* USBCMD: offset 0x00 */ - u32 command; + volatile u32 command; /* 23:16 is r/w intr rate, in microframes; default "8" == 1/msec */ #define CMD_PARK (1<<11) /* enable "park" on async qh */ #define CMD_PARK_CNT(c) (((c)>>8)&3) /* how many transfers to park for */ @@ -66,7 +66,7 @@ #define CMD_RUN (1<<0) /* start/stop HC */ /* USBSTS: offset 0x04 */ - u32 status; + volatile u32 status; #define STS_ASS (1<<15) /* Async Schedule Status */ #define STS_PSS (1<<14) /* Periodic Schedule Status */ #define STS_RECL (1<<13) /* Reclamation */ @@ -81,25 +81,25 @@ #define STS_INT (1<<0) /* "normal" completion (short, ...) */ /* USBINTR: offset 0x08 */ - u32 intr_enable; + volatile u32 intr_enable; /* FRINDEX: offset 0x0C */ - u32 frame_index; /* current microframe number */ + volatile u32 frame_index; /* current microframe number */ /* CTRLDSSEGMENT: offset 0x10 */ - u32 segment; /* address bits 63:32 if needed */ + volatile u32 segment; /* address bits 63:32 if needed */ /* PERIODICLISTBASE: offset 0x14 */ - u32 frame_list; /* points to periodic list */ + volatile u32 frame_list; /* points to periodic list */ /* ASYNCLISTADDR: offset 0x18 */ - u32 async_next; /* address of next async queue head */ + volatile u32 async_next; /* address of next async queue head */ u32 reserved [9]; /* CONFIGFLAG: offset 0x40 */ - u32 configured_flag; + volatile u32 configured_flag; #define FLAG_CF (1<<0) /* true: we'll support "high speed" */ /* PORTSC: offset 0x44 */ - u32 port_status [0]; /* up to N_PORTS */ + volatile u32 port_status [0]; /* up to N_PORTS */ /* 31:23 reserved */ #define PORT_WKOC_E (1<<22) /* wake on overcurrent (enable) */ #define PORT_WKDISC_E (1<<21) /* wake on disconnect (enable) */ @@ -124,7 +124,7 @@ #define PORT_CSC (1<<1) /* connect status change */ #define PORT_CONNECT (1<<0) /* device connected */ #define PORT_RWC_BITS (PORT_CSC | PORT_PEC | PORT_OCC) -} __attribute__ ((packed)); +}; #define USBMODE 0x68 /* USB Device mode */ #define USBMODE_SDIS (1<<3) /* Stream disable */