On 12/22/2010 06:39 PM, Luis R. Rodriguez wrote: > On Wed, Dec 22, 2010 at 12:29 PM, Elvis Dowson <elvis.dowson@xxxxxxx> wrote: >> Hi, >> >> On Dec 22, 2010, at 8:47 PM, Hauke Mehrtens wrote: >> >>> On 12/22/2010 05:13 PM, Luis R. Rodriguez wrote: >>>> On Wed, Dec 22, 2010 at 11:09 AM, Elvis Dowson <elvis.dowson@xxxxxxx> wrote: >>>>> netdev_alloc_skb_ip_align >>>> >>>> I notice you have an android kernel, is that kernel a vanilla kernel >>>> or did it get netdev_alloc_skb_ip_align() cherry picked into it? >> >> >> Yes, it is an android enabled 2.6.32 kernel. It also includes the TI >> OMAP35xx/AM35xx platform support package SDK v03.00.01.06/ >> >> >>> netdev_alloc_skb_ip_align is not defined in the 2.6.32.27 vanilla >>> kernel. Someone else (google or ti) must have backported it to this >>> kernel and added it to your kernel. >>> >>> I do not want to add some special handling into compat-wireless just for >>> some android kernel. Just remove netdev_alloc_skb_ip_align() and >>> NETDEV_POST_INIT from include/linux/compat-2.6.33.h and the compile >>> problems you posted should be fixed. >> >> I made the following modifications, but get another error: >> >> diff --git a/include/linux/compat-2.6.33.h b/include/linux/compat-2.6.33.h >> index c2dbc1b..468a074 100644 >> --- a/include/linux/compat-2.6.33.h >> +++ b/include/linux/compat-2.6.33.h >> @@ -52,19 +52,6 @@ static inline void compat_release_firmware(const struct firmware *fw) >> #define IFF_DONT_BRIDGE 0x800 /* disallow bridging this ether dev */ >> /* source: include/linux/if.h */ >> >> -/* this will never happen on older kernels */ >> -#define NETDEV_POST_INIT 0xffff >> - >> -static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev, >> - unsigned int length) >> -{ >> - struct sk_buff *skb = netdev_alloc_skb(dev, length + NET_IP_ALIGN); >> - >> - if (NET_IP_ALIGN && skb) >> - skb_reserve(skb, NET_IP_ALIGN); >> - return skb; >> -} >> - >> #if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE) >> >> #if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) > > I'd rather you figure out a way to identify that android kernel > somehow reliably and send a patch upstream to ifdef out > netdev_alloc_skb_ip_align() for that kernel, that way other Android > hackers can benefit. > >> CC [M] /tool/patches/compat-wireless-2.6.37-rc6-3-patchwork/net/mac80211/led.o >> /tool/patches/compat-wireless-2.6.37-rc6-3-patchwork/net/mac80211/led.c: In function âieee80211_led_initâ: >> /tool/patches/compat-wireless-2.6.37-rc6-3-patchwork/net/mac80211/led.c:59: error: invalid application of âsizeofâ to incomplete type âstruct led_triggerâ > > > This is from: > > void ieee80211_led_init(struct ieee80211_local *local) > { > local->rx_led = kzalloc(sizeof(struct led_trigger), GFP_KERNEL); > ... > } > > Looks good to me.. Not sure what can cause this, hrm. > > Luis In your kernel config CONFIG_LEDS_TRIGGERS is probably unset and then net/mac80211/led.c should not be build at all. In the kernel CONFIG_MAC80211_LEDS will select CONFIG_LEDS_TRIGGERS, but in compat-wireless this should just be disabled. I provided a patch for this problem, please apply it and try again. 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