From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Holler Date: Sat, 02 Apr 2011 10:32:38 +0200 Subject: [U-Boot] [PATCH] USB: Remove __attribute__ ((packed)) for struct ehci_hccr and ehci_hcor. In-Reply-To: <1301697344-4033-1-git-send-email-holler@ahsoftware.de> References: <1301697344-4033-1-git-send-email-holler@ahsoftware.de> Message-ID: <4D96DF26.6040408@ahsoftware.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello, Am 02.04.2011 00:35, schrieb Alexander Holler: > 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 month, this one was the show-stopper. > > Credits have to go to Laine Walker-Avina for > finding the problem. > > Signed-off-by: Alexander Holler > --- > drivers/usb/host/ehci.h | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h > index 945ab64..df9f055 100644 > --- a/drivers/usb/host/ehci.h > +++ b/drivers/usb/host/ehci.h > @@ -55,7 +55,7 @@ struct ehci_hccr { > #define HCS_N_PORTS(p) (((p)>> 0)& 0xf) > uint32_t cr_hccparams; > uint8_t cr_hcsp_portrt[8]; > -} __attribute__ ((packed)); > +}; > > struct ehci_hcor { > uint32_t or_usbcmd; > @@ -85,7 +85,7 @@ struct ehci_hcor { > #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_systune; > -} __attribute__ ((packed)); > +}; > > #define USBMODE 0x68 /* USB Device mode */ > #define USBMODE_SDIS (1<< 3) /* Stream disable */ Before I'm killing someones 64bit+ machine with that patch: The hint I've received was to use +} __attribute__ ((packed, aligned(4))); That works too. I haven't seen the original commit (I've only got told that credits have to go to Laine Walker-Avina), I don't know if the standard says something to that, I don't know if some 64bit+ SoC might choose to align that stuff otherwise and I will not send a v2 of that patch. Regards, Alexander