Search Linux Wireless

Re: Backporting wl1271 driver to kernel-2.6.32 using compat-wireless

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

 



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