On 08/09/2012 06:40 AM, Andy Gospodarek wrote: > This patch allows me to compile and load the latest compat modules on > RHEL6.3. Users of compat on RHEL6 should note that you should set > CONFIG_COMPAT_KFIFO=n as those bits are not needed at all. > > [...] > > diff --git a/include/linux/compat-2.6.36.h b/include/linux/compat-2.6.36.h > index 56d5961..09e4b6f 100644 > --- a/include/linux/compat-2.6.36.h > +++ b/include/linux/compat-2.6.36.h > @@ -98,6 +98,8 @@ struct pm_qos_request_list { > * Dummy printk for disabled debugging statements to use whilst maintaining > * gcc's format and side-effect checking. > */ > +/* mask no_printk as RHEL6 backports this */ > +#define no_printk(...) compat_no_printk(...) > static inline __attribute__ ((format (printf, 1, 2))) > int no_printk(const char *s, ...) { return 0; } > > [...] This at least breaks compilation on 2.6.35-22 with gcc throwing a compat-2.6.36.h:104: error: ISO C requires a named argument before ‘...’ It looks like no_printk() needs to be renamed to compat_no_printk() to make it work as intended. This is a systematic mistake at several sections of this patch, where the original function needs to be prefixed by 'compat_' to match the related macro. --- diff --git a/include/linux/compat-2.6.36.h b/include/linux/compat-2.6.36.h index 8b02260..b6757c3 100644 --- a/include/linux/compat-2.6.36.h +++ b/include/linux/compat-2.6.36.h @@ -101,7 +101,7 @@ struct pm_qos_request_list { /* mask no_printk as RHEL6 backports this */ #define no_printk(...) compat_no_printk(...) static inline __attribute__ ((format (printf, 1, 2))) -int no_printk(const char *s, ...) { return 0; } +int compat_no_printk(const char *s, ...) { return 0; } #ifndef alloc_workqueue #define alloc_workqueue(name, flags, max_active) __create_workqueue(name, flags, max_active, 0) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html