From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/21] ssb: fix alignment of struct bcma_device_id
Date: Tue, 23 Apr 2013 18:30:42 +0200 [thread overview]
Message-ID: <1366734653-488286-11-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1366734653-488286-1-git-send-email-arnd@arndb.de>
The ARM OABI and EABI disagree on the alignment of structures
with small members, so module init tools may interpret the
ssb device table incorrectly, as shown by this warning when
building the b43 device driver in an OABI kernel:
FATAL: drivers/net/wireless/b43/b43: sizeof(struct ssb_device_id)=6 is
not a modulo of the size of section __mod_ssb_device_table=88.
Forcing the default (EABI) alignment on the structure makes this
problem go away. Since the ssb_device_id may have the same problem,
better fix both structures.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: John W. Linville <linville@tuxdriver.com>
Cc: Michael Buesch <mb@bu3sch.de>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
---
include/linux/mod_devicetable.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 779cf7c..ce363a5 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -360,7 +360,8 @@ struct ssb_device_id {
__u16 vendor;
__u16 coreid;
__u8 revision;
-};
+ __u8 __pad;
+} __attribute__((packed, aligned(2)));
#define SSB_DEVICE(_vendor, _coreid, _revision) \
{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
#define SSB_DEVTABLE_END \
@@ -376,7 +377,7 @@ struct bcma_device_id {
__u16 id;
__u8 rev;
__u8 class;
-};
+} __attribute__((packed,aligned(2)));
#define BCMA_CORE(_manuf, _id, _rev, _class) \
{ .manuf = _manuf, .id = _id, .rev = _rev, .class = _class, }
#define BCMA_CORETABLE_END \
--
1.8.1.2
next prev parent reply other threads:[~2013-04-23 16:30 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-23 16:30 [PATCH 00/21] ARM build fixes for 3.10 Arnd Bergmann
2013-04-23 16:30 ` [PATCH 01/21] Turn off -Wmaybe-uninitialized when building with -Os Arnd Bergmann
2013-04-23 16:30 ` [PATCH 02/21] ARM: compressed/head.S: work around new binutils warning Arnd Bergmann
2013-04-23 16:30 ` [PATCH 03/21] ARM: use optimized do_div only for EABI Arnd Bergmann
2013-04-23 16:30 ` [PATCH 04/21] ARM: kvm: define KVM_ARM_MAX_VCPUS unconditionally Arnd Bergmann
2013-04-23 17:29 ` Christoffer Dall
2013-04-23 17:32 ` Christoffer Dall
2013-04-23 16:30 ` [PATCH 05/21] ARM: OMAP2+: add dependencies on ARCH_MULTI_V6/V7 Arnd Bergmann
2013-04-23 18:01 ` Tony Lindgren
2013-04-23 19:31 ` Arnd Bergmann
2013-04-23 16:30 ` [PATCH 06/21] ARM: tegra: call cpu_do_idle from C code Arnd Bergmann
2013-04-24 2:55 ` Joseph Lo
2013-04-23 16:30 ` [PATCH 07/21] ARM: tegra: unify tegra_idle_device definitions Arnd Bergmann
2013-04-23 16:56 ` Daniel Lezcano
2013-04-23 18:57 ` Arnd Bergmann
2013-04-23 22:04 ` Daniel Lezcano
2013-04-24 2:56 ` Joseph Lo
2013-04-23 16:30 ` [PATCH 08/21] ASoC: ux500: forward declare msp_i2s_platform_data Arnd Bergmann
2013-04-23 18:25 ` Mark Brown
2013-04-23 16:30 ` [PATCH 09/21] spi/sirf: fix MODULE_DEVICE_TABLE Arnd Bergmann
2013-04-23 18:27 ` Mark Brown
2013-04-23 16:30 ` Arnd Bergmann [this message]
2013-04-23 16:30 ` [PATCH 11/21] drm/tilcdc: use only a single module device table Arnd Bergmann
2013-04-25 17:39 ` Rob Clark
2013-04-23 16:30 ` [PATCH 12/21] mmc: sdhci-tegra: fix MODULE_DEVICE_TABLE Arnd Bergmann
2013-04-23 16:46 ` Chris Ball
2013-04-23 18:55 ` Arnd Bergmann
2013-04-23 19:07 ` Chris Ball
2013-04-23 16:30 ` [PATCH 13/21] misc: mark spear13xx-pcie-gadget as broken Arnd Bergmann
2013-04-24 3:20 ` Viresh Kumar
2013-04-23 16:30 ` [PATCH 14/21] staging: nvec: allow modular build Arnd Bergmann
2013-04-23 19:21 ` Marc Dietrich
2013-04-23 19:41 ` Arnd Bergmann
2013-04-23 19:55 ` Marc Dietrich
2013-04-23 20:05 ` Greg Kroah-Hartman
2013-04-23 20:14 ` Arnd Bergmann
2013-04-23 20:21 ` Marc Dietrich
2013-04-23 16:30 ` [PATCH 15/21] staging: comedi/dawboard2000: use mdelay for large delays Arnd Bergmann
2013-04-23 16:46 ` H Hartley Sweeten
2013-04-23 16:30 ` [PATCH 16/21] staging/zsmalloc: don't use pgtable-mapping from modules Arnd Bergmann
2013-04-23 16:30 ` [PATCH 17/21] tty/serial/sirf: fix MODULE_DEVICE_TABLE Arnd Bergmann
2013-04-23 16:30 ` [PATCH 18/21] usb: phy: tegra: don't call into tegra-ehci directly Arnd Bergmann
2013-04-23 16:42 ` Alan Stern
2013-04-23 19:02 ` Arnd Bergmann
2013-04-23 17:17 ` Greg Kroah-Hartman
2013-04-23 19:05 ` [PATCH v2] " Arnd Bergmann
2013-04-23 16:30 ` [PATCH 19/21] usb: phy: don't mark usb_bind_phy as __init Arnd Bergmann
2013-04-23 17:17 ` Greg Kroah-Hartman
2013-04-23 19:07 ` [PATCH v2] " Arnd Bergmann
2013-04-23 19:30 ` Felipe Balbi
2013-04-23 19:46 ` Arnd Bergmann
2013-04-23 16:30 ` [PATCH 20/21] MFD: ab8500: export ab8500_gpadc_sw_hw_convert properly Arnd Bergmann
2013-04-26 8:13 ` Linus Walleij
2013-04-26 9:23 ` Samuel Ortiz
2013-04-23 16:30 ` [PATCH 21/21] mtd: omap2: allow bulding as a module Arnd Bergmann
2013-04-23 18:03 ` Tony Lindgren
2013-04-24 5:34 ` Gupta, Pekon
2013-04-29 13:34 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1366734653-488286-11-git-send-email-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).