On 26 Jan 01 at 14:29, Bernhard Rosenkraenzer wrote: > > Subject says it all - works as a module, but can't be compiled into the > kernel because of duplicate definitions, caused by several files including > matroxfb_base.h which in turn defines global_disp. > > Patch attached. Oops. I did not tried matroxfb without multihead for so long... But... Should not (1) compiler optimize them out, as global_disp is used only by matroxfb_base.c and (2) linker merge them together? I was under impression that kernel uses common storage for uninitialized variables... I'm sure that it worked sometime in the past... Anyway, I preffer patch bellow, as global_disp is used only by matroxfb_base.c, and only if CONFIG_FB_MATROX_MULTIHEAD is not set... Linus, original complaint was against 2.4.0-ac11 - I do not know, whether Alan uses some new linker scripts or what's going on. In any case, can you apply this too? There is no reason why matrox's 'global_disp' should polute global namespace. Best regards, Petr Vandrovec [EMAIL PROTECTED] diff -urN linux/drivers/video/matrox/matroxfb_base.c linux/drivers/video/matrox/matroxfb_base.c --- linux/drivers/video/matrox/matroxfb_base.c Fri Dec 29 23:07:23 2000 +++ linux/drivers/video/matrox/matroxfb_base.c Fri Jan 26 15:23:46 2001 @@ -2005,6 +2005,7 @@ u_int32_t cmd; #ifndef CONFIG_FB_MATROX_MULTIHEAD static int registered = 0; + static struct display global_disp; #endif DBG("matroxfb_probe") diff -urN linux/drivers/video/matrox/matroxfb_base.h linux/drivers/video/matrox/matroxfb_base.h --- linux/drivers/video/matrox/matroxfb_base.h Fri Dec 29 23:07:23 2000 +++ linux/drivers/video/matrox/matroxfb_base.h Fri Jan 26 15:22:53 2001 @@ -589,7 +589,6 @@ #else extern struct matrox_fb_info matroxfb_global_mxinfo; -struct display global_disp; #define ACCESS_FBINFO(x) (matroxfb_global_mxinfo.x) #define ACCESS_FBINFO2(info, x) (matroxfb_global_mxinfo.x) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/