Initial Linux-wireless contribution

Eugene Krasnikov k.eugene.e at gmail.com
Tue Aug 6 04:48:10 EDT 2013


> Why do we need dev there? That's not clear to me.

for one single call : SET_IEEE80211_DEV(wcn->hw, wcn->pdata->dev);

> With mmio I'm not sure. I was thinking that we would provide 'struct
> resource *wcnss_memory' instead so that we can do ioremap() in the probe
> and iounmap() in the remove. I think it's easier to manage allocations
> that way.

Let me double check that. platform_device_add_resources must be use probably.

> Also the fact that the file is in arch/arm/mach-msm/include/mach/ might
> make things difficult. We should be able to compile wcn36xx also on x86
> but I'm not sure how that's possible now.

It makes more sense to me to abstract from SMD as well.

2013/8/6 Kalle Valo <kvalo at qca.qualcomm.com>:
> Eugene Krasnikov <k.eugene.e at gmail.com> writes:
>
>> With this commit I made a draft version of platform abstraction layer
>> https://github.com/KrasnikovEugene/wcn36xx/commit/becf7a7a7d67c2913b61091a14eee404bde516bc
>>
>> Interface is defined with struct wcn36xx_platform_data here
>> https://github.com/KrasnikovEugene/wcn36xx/blob/pal/wcn36xx.h#L103
>>
>> Probe will be called from outside the driver. I'll publish that part later on.
>>
>> Could you please have a look and express your opinion about the
>> concept?
>
> So the struct is:
>
> struct wcn36xx_platform_data {
>         struct device           *dev;
>         /* IRQs */
>         int                     tx_irq;
>         int                     rx_irq;
>         void __iomem            *mmio;
> };
>
> Why do we need dev there? That's not clear to me.
>
> tx_irq and rx_irq look ok.
>
> With mmio I'm not sure. I was thinking that we would provide 'struct
> resource *wcnss_memory' instead so that we can do ioremap() in the probe
> and iounmap() in the remove. I think it's easier to manage allocations
> that way.
>
>> Should we put SMD channel handling in there as well? Any thoughts are
>> welcome.
>
> I forgot SMD altogether and of course there's a problem :(
>
> I don't see smd_named_open_on_edge() at all in upstream tree. But I do
> see smd_open() and smd_close() in
> arch/arm/mach-msm/include/mach/msm_smd.h. This might be tricky to solve.
>
> Also the fact that the file is in arch/arm/mach-msm/include/mach/ might
> make things difficult. We should be able to compile wcn36xx also on x86
> but I'm not sure how that's possible now.
>
> --
> Kalle Valo



-- 
Best regards,
Eugene



More information about the wcn36xx mailing list