Traditionally, drivers were given a struct net_device * in order
to identify the wireless device. This was the master device, but
I'm trying to cut down it's use. Now, there long was a comment
that this might change. That time has come, this patch gives back
a struct ieee80211_hw pointer.

Currently, struct ieee80211_hw contains both static data (almost all of the
function pointers except one) and data that could possibly be per-device
even for a single driver. Hence patch also introduces struct ieee80211_ops
and moves the function pointers from ieee80211_hw into it. This makes
ieee80211_hw be the pure hardware description and allows drivers to make
have their ieee80211_ops static, thereby reducing the struct size
significantly.

Note that the patch changes the meaning of ieee80211_hw, previously it
was allocated by the driver and given to the stack as a hardware
description, now it is allocated by ieee80211alloc_hw() and then the
driver fills it before calling ieee80211_register_hw().

A later patch fixes the FIXME introduced here where hw fragmentation is
checked by having a function assigned or not---if functions are supposed to
be assigned now for all hw we need a new flag for that if some driver has
boards that can and other boards that cannot support it.

Signed-off-by: Johannes Berg <[EMAIL PROTECTED]>


Patch attached due to size.

Attachment: 006-d80211-driver-api.patch.bz2
Description: application/bzip

Reply via email to