Skip to content
Snippets Groups Projects
Commit 69716c19 authored by Jason Kridner's avatar Jason Kridner Committed by Albert ARIBAUD
Browse files

USB: Remove __attribute__ ((packed)) for struct ehci_hccr and ehci_hcor


Remove __attribute__ ((packed)) to prevent byte access to soc
registers in some gcc versions.

Having patches to enable ehci for the BeagleBoard lying around for
several months, this one was the show-stopper.

Switched to align(4), rather than remove the attribute, per suggestion
from Alexander.

Credits have to go to Laine Walker-Avina <lwalkera@ieee.org> for
finding the problem.

Signed-off-by: default avatarJason Kridner <jkridner@beagleboard.org>
Signed-off-by: default avatarJoel A Fernandes <agnel.joel@gmail.com>
Cc: Alexander Holler <holler@ahsoftware.de>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
parent 1ffcb346
No related branches found
No related tags found
No related merge requests found
...@@ -55,7 +55,7 @@ struct ehci_hccr { ...@@ -55,7 +55,7 @@ struct ehci_hccr {
#define HCS_N_PORTS(p) (((p) >> 0) & 0xf) #define HCS_N_PORTS(p) (((p) >> 0) & 0xf)
uint32_t cr_hccparams; uint32_t cr_hccparams;
uint8_t cr_hcsp_portrt[8]; uint8_t cr_hcsp_portrt[8];
} __attribute__ ((packed)); } __attribute__ ((packed, aligned(4)));
struct ehci_hcor { struct ehci_hcor {
uint32_t or_usbcmd; uint32_t or_usbcmd;
...@@ -85,7 +85,7 @@ struct ehci_hcor { ...@@ -85,7 +85,7 @@ struct ehci_hcor {
#define FLAG_CF (1 << 0) /* true: we'll support "high speed" */ #define FLAG_CF (1 << 0) /* true: we'll support "high speed" */
uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS]; uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
uint32_t or_systune; uint32_t or_systune;
} __attribute__ ((packed)); } __attribute__ ((packed, aligned(4)));
#define USBMODE 0x68 /* USB Device mode */ #define USBMODE 0x68 /* USB Device mode */
#define USBMODE_SDIS (1 << 3) /* Stream disable */ #define USBMODE_SDIS (1 << 3) /* Stream disable */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment