Search Linux Wireless

Re: [PATCH] compat-wireless: Fix the bleeding-edge version to build on 2.6.27

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

 



Larry Finger wrote:
> When building the bleeding-edge compat-wireless for kernel 2.6.27,
> several compilation errors were detected.
> 
> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> ---
> 
> Luis,
> 
> I checked these patches on 2.6.27 and 2.6.31, but not for the intermediate
> releases.
> 
> Larry
> ---
> 
> Index: compat-wireless-2009-09-05/include/net/compat-2.6.28.h
> ===================================================================
> --- compat-wireless-2009-09-05.orig/include/net/compat-2.6.28.h
> +++ compat-wireless-2009-09-05/include/net/compat-2.6.28.h
> @@ -149,6 +149,7 @@ static inline void skb_queue_splice_tail
>  struct module;
>  struct tracepoint;
>  
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28))
>  struct tracepoint {
>  	const char *name;		/* Tracepoint name */
>  	int state;			/* State. */
> @@ -159,6 +160,7 @@ struct tracepoint {
>  					 * align these on the structure size.
>  					 * Keep in sync with vmlinux.lds.h.
>  					 */
> +#endif
>  
>  #ifndef DECLARE_TRACE
>  
> @@ -179,13 +181,17 @@ struct tracepoint {
>  		return -ENOSYS;						\
>  	}
>  
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28))
>  #define DEFINE_TRACE(name)
> +#endif
>  #define EXPORT_TRACEPOINT_SYMBOL_GPL(name)
>  #define EXPORT_TRACEPOINT_SYMBOL(name)
>  
> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28))
>  static inline void tracepoint_update_probe_range(struct tracepoint *begin,
>  	struct tracepoint *end)
>  { }
> +#endif
>  
>  #endif
>  

LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) can not be true in
compat-2.6.28.h. The definitions are not needed in compat-wireless any
more. Removing this does not break compiling with mainline kernel 2.6.25
to 2.6.32

> Index: compat-wireless-2009-09-05/net/wireless/compat-2.6.28.c
> ===================================================================
> --- compat-wireless-2009-09-05.orig/net/wireless/compat-2.6.28.c
> +++ compat-wireless-2009-09-05/net/wireless/compat-2.6.28.c
> @@ -260,6 +260,7 @@ static unsigned long round_jiffies_commo
>  	return j;
>  }
>  
> +#if 0
>  /**
>   * round_jiffies_up - function to round jiffies up to a full second
>   * @j: the time in (absolute) jiffies that should be rounded
> @@ -274,5 +275,6 @@ unsigned long round_jiffies_up(unsigned
>  	return round_jiffies_common(j, raw_smp_processor_id(), true);
>  }
>  EXPORT_SYMBOL_GPL(round_jiffies_up);
> +#endif
>  
>  #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) */

The mainline kernel 2.6.27 does not contain round_jiffies_up. Are you
using Suse? Suse adds some extra extensions into the kernel, we need an
other way to deactivate the round_jiffies_up export. With this patch
this symbol is missing while compiling against mainline kernel <=
2.6.27. An other user reported a problem with the Suse kernel in:
http://marc.info/?l=linux-wireless&m=125393384728475

> Index: compat-wireless-2009-09-05/net/wireless/scan.c
> ===================================================================
> --- compat-wireless-2009-09-05.orig/net/wireless/scan.c
> +++ compat-wireless-2009-09-05/net/wireless/scan.c
> @@ -499,8 +499,10 @@ cfg80211_inform_bss(struct wiphy *wiphy,
>  
>  	kref_init(&res->ref);
>  
> +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30))
>  	/* cfg80211_bss_update() eats up res - we ensure we free it there */
>  	kmemleak_ignore(res);
> +#endif
>  
>  	res = cfg80211_bss_update(wiphy_to_dev(wiphy), res, 0);
>  	if (!res)

Hauke

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux