I've been trying to build the wlan module so I can get a 2.6.29 kernel
running on my phone and still have the wifi work.
I have run into the following problem:
/big/android/mydroid/system/wlan/ti/sta_dk_4_0_4_32/./pform/linux/src/
osapi.c: In function 'os_sendPacket':
/big/android/mydroid/system/wlan/ti/sta_dk_4_0_4_32/./pform/linux/src/
osapi.c:1323: error: 'struct net_device' has no member named 'priv'
etcetcetc
Sometime after 2.6.27, the 'priv' member of struct net_device went
away, replaced with the function
netdev_priv().
I've been replacing uses of netdev->priv with things like:
static int setup_netif(tiwlan_net_dev_t *drv)
{
struct net_device *dev;
tiwlan_net_dev_t **priv;
int res;
#ifdef HAVE_NETDEV_PRIV
dev = alloc_etherdev(sizeof(tiwlan_net_dev_t *));
#else
dev = alloc_etherdev(0);
#endif
and
#ifdef HAVE_NETDEV_PRIV
drv = *(tiwlan_net_dev_t **)netdev_priv(dev);
#else
drv = (tiwlan_net_dev_t *)dev->priv;
#endif
and getting stuff to build,but I'm wondering how the Google developers
plan to handle this.
One approach would be to actually store the private information in the
netdev struct, which appears to be the desired practice. It appears at
present that this private information is being kept separately, so I
have looked at just keeping a pointer to the real private data in the
netdev private area, basically re-creating netdev->priv that way.
I could proceed along these lines, and produce some kind of patch,
but would like to see if this is wanted or if Google developers have
other plans. Already done esta_drv.c
pform/linux/src/esta_drv.c: drv = (tiwlan_net_dev_t *)dev->priv;
pform/linux/src/esta_drv.c: drv = (tiwlan_net_dev_t *)dev->priv;
pform/linux/src/esta_drv.c: drv = (tiwlan_net_dev_t *)dev->priv;
pform/linux/src/esta_drv.c: dev->priv = drv;
pform/linux/src/esta_drv.c: drv->priv = priv;
pform/linux/src/ioctl_list.c: res = tiwlan_start_drv
( (tiwlan_net_dev_t *)dev->priv );
pform/linux/src/ioctl_list.c: res = tiwlan_stop_drv
( (tiwlan_net_dev_t *)dev->priv );
pform/linux/src/ioctl_list.c: if ((req->cmd == TIWLN_SET_INIT_INFO) &&
(((tiwlan_net_dev_t *)dev->priv)->adapter.CoreHalCtx))
pform/linux/src/ioctl_list.c: res = tiwlan_init_drv
((tiwlan_net_dev_t *)dev->priv, init_info);
pform/linux/src/ioctl_list.c: res = tiwlan_profile_report
((tiwlan_net_dev_t *)dev->priv);
pform/linux/src/ioctl_list.c: res =
tiwlan_profile_cpu_usage_estimator_start((tiwlan_net_dev_t *)dev-
>priv,
pform/linux/src/ioctl_list.c: res =
tiwlan_profile_cpu_usage_estimator_stop((tiwlan_net_dev_t *)dev-
>priv);
pform/linux/src/ioctl_list.c: res
=tiwlan_profile_cpu_usage_estimator_reset((tiwlan_net_dev_t *)dev-
>priv);
pform/linux/src/ioctl_list.c: res = tiwlan_send_wait_reply
((tiwlan_net_dev_t *)dev->priv, ti1610_ioctl_priv_proc_tl,
pform/linux/src/ioctl_utils.c: ((dev && dev->priv) ?
((tiwlan_net_dev_t *) dev->priv)->adapter.CoreHalCtx : NULL ) )
pform/linux/src/osapi.c: tiwlan_net_dev_t *drv = (tiwlan_net_dev_t
*)dev->priv;
sta_dk_4_0_4_32$
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel
-~----------~----~----~----~------~----~------~--~---