static struct net_device_stats*
 p80211knetdev_get_stats(netdevice_t *netdev)
 {
-       wlandevice_t    *wlandev = (wlandevice_t*)netdev->priv;
+       wlandevice_t    *wlandev = netdev->ml_priv;
        DBFENTER;
 
        /* TODO: review the MIB stats for items that correspond to
 static int p80211knetdev_open( netdevice_t *netdev )
 {
        int             result = 0; /* success */
-       wlandevice_t    *wlandev = (wlandevice_t*)(netdev->priv);
+       wlandevice_t    *wlandev = netdev->ml_priv;
 
        DBFENTER;
 
 static int p80211knetdev_stop( netdevice_t *netdev )
 {
        int             result = 0;
-       wlandevice_t    *wlandev = (wlandevice_t*)(netdev->priv);
+       wlandevice_t    *wlandev = netdev->ml_priv;
 
        DBFENTER;
 
 {
        int             result = 0;
        int             txresult = -1;
-       wlandevice_t    *wlandev = (wlandevice_t*)netdev->priv;
+       wlandevice_t    *wlandev = netdev->ml_priv;
        p80211_hdr_t    p80211_hdr;
        p80211_metawep_t p80211_wep;
 
 ----------------------------------------------------------------*/
 static void p80211knetdev_set_multicast_list(netdevice_t *dev)
 {
-       wlandevice_t    *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t    *wlandev = dev->ml_priv;
 
        DBFENTER;
 
 {
        int                     result = 0;
        p80211ioctl_req_t       *req = (p80211ioctl_req_t*)ifr;
-       wlandevice_t            *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t            *wlandev = dev->ml_priv;
        UINT8                   *msgbuf;
        DBFENTER;
 
        dot11req.msgcode = DIDmsg_dot11req_mibset;
        dot11req.msglen = sizeof(p80211msg_dot11req_mibset_t);
        memcpy(dot11req.devname,
-               ((wlandevice_t*)(dev->priv))->name,
+               ((wlandevice_t *)dev->ml_priv)->name,
                WLAN_DEVNAMELEN_MAX - 1);
 
        /* Set up the mibattribute argument */
        resultcode->data = 0;
 
        /* now fire the request */
-       result = p80211req_dorequest(dev->priv, (UINT8*)&dot11req);
+       result = p80211req_dorequest(dev->ml_priv, (UINT8 *)&dot11req);
 
        /* If the request wasn't successful, report an error and don't
         * change the netdev address
                memset( dev, 0, sizeof(netdevice_t));
                ether_setup(dev);
                wlandev->netdev = dev;
-               dev->priv = wlandev;
+               dev->ml_priv = wlandev;
                dev->hard_start_xmit =  p80211knetdev_hard_start_xmit;
                dev->get_stats =        p80211knetdev_get_stats;
 #ifdef HAVE_PRIVATE_IOCTL
 
 static void p80211knetdev_tx_timeout( netdevice_t *netdev)
 {
-       wlandevice_t    *wlandev = (wlandevice_t*)netdev->priv;
+       wlandevice_t    *wlandev = netdev->ml_priv;
        DBFENTER;
 
        if (wlandev->tx_timeout) {
 
 struct iw_statistics* p80211wext_get_wireless_stats (netdevice_t *dev)
 {
        p80211msg_lnxreq_commsquality_t  quality;
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        struct iw_statistics* wstats = &wlandev->wstats;
        int retval;
 
                              struct iw_request_info *info,
                              struct iw_freq *freq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                              struct iw_request_info *info,
                              struct iw_freq *freq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                              struct iw_request_info *info,
                              __u32 *mode, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
 
        DBFENTER;
 
                              struct iw_request_info *info,
                              __u32 *mode, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int     result;
                            struct sockaddr *ap_addr, char *extra)
 {
 
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
 
        DBFENTER;
 
                                struct iw_request_info *info,
                                struct iw_point *erq, char *key)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        int err = 0;
        int i;
 
                                struct iw_request_info *info,
                                struct iw_point *erq, char *key)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211msg_dot11req_mibset_t     msg;
        p80211item_pstr32_t             pstr;
 
                               struct iw_request_info *info,
                               struct iw_point *data, char *essid)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
 
        DBFENTER;
 
                               struct iw_request_info *info,
                               struct iw_point *data, char *essid)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211msg_lnxreq_autojoin_t     msg;
 
        int result;
                                struct iw_request_info *info,
                                struct iw_point *data, char *essid)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        int err = 0;
 
        DBFENTER;
                              struct iw_request_info *info,
                              struct iw_param *rrq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                             struct iw_request_info *info,
                             struct iw_param *rts, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                             struct iw_request_info *info,
                             struct iw_param *rts, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                              struct iw_request_info *info,
                              struct iw_param *frag, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                              struct iw_request_info *info,
                              struct iw_param *frag, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                               struct iw_request_info *info,
                               struct iw_param *rrq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                               struct iw_request_info *info,
                               struct iw_param *rrq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                                struct iw_request_info *info,
                                struct iw_param *rrq, char *extra)
 {
-        wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
         p80211item_uint32_t             mibitem;
         p80211msg_dot11req_mibset_t     msg;
         int result;
                               struct iw_request_info *info,
                               struct iw_param *rrq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211item_uint32_t             mibitem;
        p80211msg_dot11req_mibset_t     msg;
        int result;
                             struct iw_request_info *info,
                             struct iw_point *srq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
         struct sockaddr address[IW_MAX_SPY];
         int number = srq->length;
         int i;
                             struct iw_request_info *info,
                             struct iw_point *srq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
 
         struct sockaddr address[IW_MAX_SPY];
         struct iw_quality spy_stat[IW_MAX_SPY];
                             struct iw_request_info *info,
                             struct iw_point *srq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211msg_dot11req_scan_t       msg;
        int result;
        int err = 0;
                             struct iw_request_info *info,
                             struct iw_point *srq, char *extra)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        p80211msg_dot11req_scan_results_t       msg;
        int result = 0;
        int err = 0;
                                struct iw_request_info *info,
                                union iwreq_data *wrqu, char *extra)
 {
-  wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+  wlandevice_t *wlandev = dev->ml_priv;
   struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
        p80211msg_dot11req_mibset_t     msg;
        p80211item_pstr32_t             *pstr;
                                union iwreq_data *wrqu, char *extra)
 
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
        struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
 
        struct iw_point *encoding = &wrqu->encoding;
                                   struct iw_request_info *info,
                                   union iwreq_data *wrqu, char *extra)
 {
-  wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+  wlandevice_t *wlandev = dev->ml_priv;
   struct iw_param *param = &wrqu->param;
   int result =0;
 
                                   struct iw_request_info *info,
                                   union iwreq_data *wrqu, char *extra)
 {
-  wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+  wlandevice_t *wlandev = dev->ml_priv;
   struct iw_param *param = &wrqu->param;
   int result =0;
 
 /* wireless extensions' ioctls */
 int p80211wext_support_ioctl(netdevice_t *dev, struct ifreq *ifr, int cmd)
 {
-       wlandevice_t *wlandev = (wlandevice_t*)dev->priv;
+       wlandevice_t *wlandev = dev->ml_priv;
 
 #if WIRELESS_EXT < 13
        struct iwreq *iwr = (struct iwreq*)ifr;