Search Linux Wireless

Re: [PATCH v2] compat: support RHEL6.3 as a build target

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/09/2012 03:26 PM, Zefir Kurtisi wrote:
> 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)

With this patch applied it works better, but I still get this error in
drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c.

brcmfmac has this line:

#define brcmf_dbg(level, fmt, ...) no_printk(fmt, ##__VA_ARGS__)

so brcmf_dbg gets no_printk and not compat_no_printk.

Why isn't "ifndef CONFIG_COMPAT_RHEL_6_3" put around the declaration of
no_printk()?

Hauke
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux