Use patch name from -mm tree.

svn path=/dists/trunk/linux-2.6/; revision=10667
This commit is contained in:
Gordon Farquharson 2008-02-27 06:46:24 +00:00
parent 6c76f4d048
commit f3a92abfbb
3 changed files with 39 additions and 40 deletions

View File

@ -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, }
_

View File

@ -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, }

View File

@ -30,5 +30,5 @@
+ bugfix/arm/disable-r6040.patch
+ features/all/at76.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