Thread (5 messages) 5 messages, 2 authors, 2012-06-16

[-next] 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.

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2012-06-15 17:42:13
Also in: linux-kbuild, linux-m68k, lkml

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@linux-m68k.org

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help