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 Index: 2.6.12-rc1/include/linux/mod_devicetable.h =================================================================== --- 2.6.12-rc1.orig/include/linux/mod_devicetable.h 2005-03-19 23:14:51.000000000 +0100 +++ 2.6.12-rc1/include/linux/mod_devicetable.h 2005-03-19 23:16:18.000000000 +0100 @@ -191,12 +191,22 @@ /* 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