summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKars de Jong <jongk@linux-m68k.org>2005-09-25 14:39:46 +0200
committerDominik Brodowski <linux@dominikbrodowski.net>2005-09-26 13:13:58 +0200
commit4fb7edce52e5b6cf41e3375822d74a27f0b6f2dd (patch)
treeb8732f31a90fc4574127e7849295653980370b31
parent2570b746484cfddf4b7b4715dbb69d53d5284f4d (diff)
[PATCH] pcmcia: fix cross-platform issues with pcmcia module aliases
- Added a missing TO_NATIVE call to scripts/mod/file2alias.c:do_pcmcia_entry() - Add an alignment attribute to struct pcmcia_device_no to solve an alignment issue seen when cross-compiling on x86 for m68k. Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--include/linux/mod_devicetable.h5
-rw-r--r--scripts/mod/file2alias.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 47da39ba3f03..4ed2107bc020 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -209,10 +209,11 @@ struct pcmcia_device_id {
/* for real multi-function devices */
__u8 function;
- /* for pseude multi-function devices */
+ /* for pseudo multi-function devices */
__u8 device_no;
- __u32 prod_id_hash[4];
+ __u32 prod_id_hash[4]
+ __attribute__((aligned(sizeof(__u32))));
/* not matched against in kernelspace*/
#ifdef __KERNEL__
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index d8ee38aede26..f2ee673329a7 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -295,11 +295,13 @@ static int do_pcmcia_entry(const char *filename,
{
unsigned int i;
+ id->match_flags = TO_NATIVE(id->match_flags);
id->manf_id = TO_NATIVE(id->manf_id);
id->card_id = TO_NATIVE(id->card_id);
id->func_id = TO_NATIVE(id->func_id);
id->function = TO_NATIVE(id->function);
id->device_no = TO_NATIVE(id->device_no);
+
for (i=0; i<4; i++) {
id->prod_id_hash[i] = TO_NATIVE(id->prod_id_hash[i]);
}