On 10/11/2009 02:00 PM, Hauke Mehrtens wrote: > 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 Well... I was using the openSUSE 2.6.27 kernel, and it broke without this statement, as did the compilation of the user on the o-penSUSE forums! >> 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 Yes, the openSUSE patched kernel sources for 2.6.27. Larry -- 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