commit 81df2d594340dcb6d1a02191976be88a1ca8120c ("USB: allow match on bInterfaceNumber") added a byte to the interior of struct usb_device_id, enabling implicit padding: --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -115,6 +118,9 @@ struct usb_device_id { __u8 bInterfaceSubClass; __u8 bInterfaceProtocol; + /* Used for vendor-specific interface matches */ + __u8 bInterfaceNumber; + /* not matched against */ kernel_ulong_t driver_info; }; On m68k, this causes failures like: | FATAL: drivers/gpu/drm/udl/udl: sizeof(struct usb_device_id)=24 is not a modulo of the size of section __mod_usb_device_table=44. | Fix definition of struct usb_device_id in mod_devicetable.h M68k is special in that it uses 2 for the alignment of 32-bit entities, hence sizeof(struct usb_device_id) = 22. However, when cross-compiling on amd64, sizeof(struct usb_device_id) = 24 in scripts/mod/file2alias.c. m68k/allmodconfig at http://kisskb.ellerman.id.au/kisskb/buildresult/6518563/ Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html