diff -Naur linux-2.6.32.45.org/include/linux/mod_devicetable.h linux-2.6.32.45/include/linux/mod_devicetable.h
--- linux-2.6.32.45.org/include/linux/mod_devicetable.h	2011-08-16 03:57:37.000000000 +0200
+++ linux-2.6.32.45/include/linux/mod_devicetable.h	2011-11-17 15:07:43.366023632 +0100
@@ -364,7 +364,7 @@
 	__u16	vendor;			/* Vendor or SDIO_ANY_ID */
 	__u16	device;			/* Device ID or SDIO_ANY_ID */
 	kernel_ulong_t driver_data	/* Data private to the driver */
-		__attribute__((aligned(sizeof(kernel_ulong_t))));
+		__attribute__((aligned(sizeof(__u32))));  /* align to 32bit boundary */
 };
 
 /* SSB core, see drivers/ssb/ */
