From: Dominik Brodowski <linux@dominikbrodowski.net>

The size of pointers may differ between (userspace) modpost and (kernelspace)
modules -- so fix mod_devicetable.h to reflect this possibility.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/linux/mod_devicetable.h |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletion(-)

diff -puN include/linux/mod_devicetable.h~pcmcia-mod_devicetableh-fix-for-different-sizes-in-kernel-and-userspace include/linux/mod_devicetable.h
--- 25/include/linux/mod_devicetable.h~pcmcia-mod_devicetableh-fix-for-different-sizes-in-kernel-and-userspace	2005-03-20 16:00:08.000000000 -0800
+++ 25-akpm/include/linux/mod_devicetable.h	2005-03-20 16:00:08.000000000 -0800
@@ -191,12 +191,22 @@ struct pcmcia_device_id {
 	/* for pseude multi-function devices */
 	__u8  		device_no;
 
-	const char *	prod_id[4];
 	__u32 		prod_id_hash[4];
 
+	/* not matched against in kernelspace*/
+#ifdef __KERNEL__
+	const char *	prod_id[4];
+#else
+	kernel_ulong_t	prod_id[4];
+#endif
+
 	/* not matched against */
 	kernel_ulong_t	driver_info;
+#ifdef __KERNEL__
 	char *		cisfile;
+#else
+	kernel_ulong_t	cisfile;
+#endif
 };
 
 #define PCMCIA_DEV_ID_MATCH_MANF_ID	0x0001
_