Use patch name from -mm tree.
svn path=/dists/trunk/linux-2.6/; revision=10667
This commit is contained in:
parent
6c76f4d048
commit
f3a92abfbb
|
@ -0,0 +1,38 @@
|
||||||
|
From: "Gordon Farquharson" <gordonfarquharson@gmail.com>
|
||||||
|
|
||||||
|
Align the members of the SSB device structure to a 32 bit boundary so that
|
||||||
|
the b43 driver can be built for arm using a cross compiler. This alignment
|
||||||
|
is required so that the test in scripts/mod/file2alias.c that checks that
|
||||||
|
the size of the device ID type against the size of the section in the
|
||||||
|
object file succeeds (see comment and http://lkml.org/lkml/2008/2/18/481
|
||||||
|
for explanation).
|
||||||
|
|
||||||
|
Signed-off-by: Gordon Farquharson <gordonfarquharson@gmail.com>
|
||||||
|
Cc: Russell King <rmk@arm.linux.org.uk>
|
||||||
|
Acked-by: Michael Buesch <mb@bu3sch.de>
|
||||||
|
Cc: "John W. Linville" <linville@tuxdriver.com>
|
||||||
|
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||||
|
---
|
||||||
|
|
||||||
|
include/linux/mod_devicetable.h | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff -puN include/linux/mod_devicetable.h~fix-b43-driver-build-for-arm include/linux/mod_devicetable.h
|
||||||
|
--- a/include/linux/mod_devicetable.h~fix-b43-driver-build-for-arm
|
||||||
|
+++ a/include/linux/mod_devicetable.h
|
||||||
|
@@ -351,7 +351,13 @@ struct sdio_device_id {
|
||||||
|
struct ssb_device_id {
|
||||||
|
__u16 vendor;
|
||||||
|
__u16 coreid;
|
||||||
|
- __u8 revision;
|
||||||
|
+ /* Explicit padding to support a broken sanity check in file2alias.c.
|
||||||
|
+ * The check compares the size of the structure in the kernel
|
||||||
|
+ * object file to the size of the structure reported in userspace for
|
||||||
|
+ * the system on which the kernel is compiled. The check breaks on
|
||||||
|
+ * cross-compilation, and the padding is a workaround for this. */
|
||||||
|
+ __u8 revision
|
||||||
|
+ __attribute__((aligned(sizeof(__u32))));
|
||||||
|
};
|
||||||
|
#define SSB_DEVICE(_vendor, _coreid, _revision) \
|
||||||
|
{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
|
||||||
|
_
|
|
@ -1,39 +0,0 @@
|
||||||
Align the members of the SSB device structure to a 32 bit boundary so
|
|
||||||
that the b43 driver can be built for arm using a cross compiler. This
|
|
||||||
alignment is required so that the test in scripts/mod/file2alias.c
|
|
||||||
that checks that the size of the device ID type against the size of
|
|
||||||
the section in the object file succeeds (see comment and
|
|
||||||
http://lkml.org/lkml/2008/2/18/481 for explanation).
|
|
||||||
|
|
||||||
This fixes:
|
|
||||||
|
|
||||||
MODPOST 972 modules
|
|
||||||
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=64.
|
|
||||||
Fix definition of struct ssb_device_id in mod_devicetable.h
|
|
||||||
make[5]: *** [__modpost] Error 1
|
|
||||||
make[4]: *** [modules] Error 2
|
|
||||||
|
|
||||||
Signed-off-by: Gordon Farquharson <gordonfarquharson@gmail.com>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
|
|
||||||
index 139d49d..208d49a 100644
|
|
||||||
--- a/include/linux/mod_devicetable.h
|
|
||||||
+++ b/include/linux/mod_devicetable.h
|
|
||||||
@@ -351,7 +351,13 @@ struct sdio_device_id {
|
|
||||||
struct ssb_device_id {
|
|
||||||
__u16 vendor;
|
|
||||||
__u16 coreid;
|
|
||||||
- __u8 revision;
|
|
||||||
+ /* Explicit padding to support a broken sanity check in file2alias.c.
|
|
||||||
+ * The check compares the size of the structure in the kernel
|
|
||||||
+ * object file to the size of the structure reported in userspace for
|
|
||||||
+ * the system on which the kernel is compiled. The check breaks on
|
|
||||||
+ * cross-compilation, and the padding is a workaround for this. */
|
|
||||||
+ __u8 revision
|
|
||||||
+ __attribute__((aligned(sizeof(__u32))));
|
|
||||||
};
|
|
||||||
#define SSB_DEVICE(_vendor, _coreid, _revision) \
|
|
||||||
{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
|
|
||||||
|
|
|
@ -30,5 +30,5 @@
|
||||||
+ bugfix/arm/disable-r6040.patch
|
+ bugfix/arm/disable-r6040.patch
|
||||||
+ features/all/at76.patch
|
+ features/all/at76.patch
|
||||||
+ bugfix/arm/ignore-invalid-memtags.patch
|
+ bugfix/arm/ignore-invalid-memtags.patch
|
||||||
+ bugfix/arm/pad-ssb-structure.patch
|
+ bugfix/arm/fix-b43-driver-build-for-arm.patch
|
||||||
+ bugfix/fix-hifn_795X-divdi3.patch
|
+ bugfix/fix-hifn_795X-divdi3.patch
|
||||||
|
|
Loading…
Reference in New Issue