static void print_tx_state(struct net_device *dev)
 {
 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct xl_tx_desc *txd ; 
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        int i ; 
 static void print_rx_state(struct net_device *dev)
 {
 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct xl_rx_desc *rxd ; 
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        int i ; 
 
 static u16 xl_ee_read(struct net_device *dev, int ee_addr)
 { 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
 
        /* Wait for EEProm to not be busy */
 
 static void  xl_ee_write(struct net_device *dev, int ee_addr, u16 ee_value) 
 {
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
 
        /* Wait for EEProm to not be busy */
                pci_release_regions(pdev) ; 
                return -ENOMEM ; 
        } 
-       xl_priv = dev->priv ; 
+       xl_priv = netdev_priv(dev);
 
 #if XL_DEBUG  
        printk("pci_device: %p, dev:%p, dev->priv: %p, ba[0]: %10x, ba[1]:%10x\n", 
-               pdev, dev, dev->priv, (unsigned int)pdev->resource[0].start, (unsigned int)pdev->resource[1].start) ;  
+               pdev, dev, netdev_priv(dev), (unsigned int)pdev->resource[0].start, (unsigned int)pdev->resource[1].start);
 #endif 
 
        dev->irq=pdev->irq;
 
 static int __devinit xl_init(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
 
        printk(KERN_INFO "%s \n", version);
        printk(KERN_INFO "%s: I/O at %hx, MMIO at %p, using irq %d\n",
 
 static int xl_hw_reset(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t ; 
        u16 i ; 
 
 static int xl_open(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        u8 i ; 
        u16 hwaddr[3] ; /* Should be u8[6] but we get word return values */
 
 static int xl_open_hw(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        u16 vsoff ;
        char ver_str[33];  
 
 static void adv_rx_ring(struct net_device *dev) /* Advance rx_ring, cut down on bloat in xl_rx */ 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        int prev_ring_loc ; 
 
        prev_ring_loc = (xl_priv->rx_ring_tail + XL_RX_RING_SIZE - 1) & (XL_RX_RING_SIZE - 1);
 
 static void xl_rx(struct net_device *dev)
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        struct sk_buff *skb, *skb2 ; 
        int frame_length = 0, copy_len = 0  ;   
 
 static void xl_reset(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t; 
 
 
 static void xl_freemem(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv=netdev_priv(dev);
        int i ; 
 
        for (i=0;i<XL_RX_RING_SIZE;i++) {
 static irqreturn_t xl_interrupt(int irq, void *dev_id) 
 {
        struct net_device *dev = (struct net_device *)dev_id;
-       struct xl_private *xl_priv =(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv =netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u16 intstatus, macstatus  ;
 
        
 static int xl_xmit(struct sk_buff *skb, struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        struct xl_tx_desc *txd ; 
        int tx_head, tx_tail, tx_prev ; 
        unsigned long flags ;   
 
 static void xl_dn_comp(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        struct xl_tx_desc *txd ; 
 
 
 static int xl_close(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t ; 
 
 
 static void xl_set_rx_mode(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct dev_mc_list *dmi ; 
        unsigned char dev_mc_address[4] ; 
        u16 options ; 
 
 static void xl_srb_bh(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 srb_cmd, ret_code ; 
        int i ; 
 
 static struct net_device_stats * xl_get_stats(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        return (struct net_device_stats *) &xl_priv->xl_stats; 
 }
 
 static int xl_set_mac_address (struct net_device *dev, void *addr) 
 {
        struct sockaddr *saddr = addr ; 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
 
        if (netif_running(dev)) { 
                printk(KERN_WARNING "%s: Cannot set mac/laa address while card is open\n", dev->name) ; 
 
 static void xl_arb_cmd(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 arb_cmd ; 
        u16 lan_status, lan_status_diff ; 
 
 static void xl_asb_cmd(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
 
        if (xl_priv->asb_queued == 1) 
  */
 static void xl_asb_bh(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 ret_code ; 
 
 
 static void xl_srb_cmd(struct net_device *dev, int srb_cmd) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
 
        switch (srb_cmd) { 
 
 static void xl_wait_misr_flags(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        
        int i  ; 
 
 static int xl_change_mtu(struct net_device *dev, int mtu) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u16 max_mtu ; 
 
        if (xl_priv->xl_ring_speed == 4)
 static void __devexit xl_remove_one (struct pci_dev *pdev)
 {
        struct net_device *dev = pci_get_drvdata(pdev);
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        
        unregister_netdev(dev);
        iounmap(xl_priv->xl_mmio) ; 
 
        release_region(dev->base_addr, IBMTR_IO_EXTENT);
 
        { 
-               struct tok_info *ti = (struct tok_info *) dev->priv;
+               struct tok_info *ti = netdev_priv(dev);
                iounmap(ti->mmio);
                iounmap(ti->sram_virt);
        }
 
        unsigned char segment, intr=0, irq=0, i, j, cardpresent=NOTOK, temp=0;
        void __iomem * t_mmio = NULL;
-       struct tok_info *ti = dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
        void __iomem *cd_chanid;
        unsigned char *tchanid, ctemp;
 #ifndef PCMCIA
 
 static int __devinit trdev_init(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
 
        SET_PAGE(ti->srb_page);
         ti->open_failure = NO    ;
        unsigned long i;
 
        PIOaddr = dev->base_addr;
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
        /* Special processing for first interrupt after reset */
        ti->do_tok_int = FIRST_INT;
        /* Reset adapter */
 /*****************************************************************************/
 static int tok_open(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
        int i;
 
        /*the case we were left in a failure state during a previous open */
        struct tok_info *ti;
        int i;
 
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
        SET_PAGE(ti->init_srb_page); 
        writeb(~SRB_RESP_INT, ti->mmio + ACA_OFFSET + ACA_RESET + ISRP_ODD);
        for (i = 0; i < sizeof(struct dir_open_adapter); i++)
 static void open_sap(unsigned char type, struct net_device *dev)
 {
        int i;
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
 
        SET_PAGE(ti->srb_page);
        for (i = 0; i < sizeof(struct dlc_open_sap); i++)
 
 static void tok_set_multicast_list(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
        struct dev_mc_list *mclist;
        unsigned char address[4];
 
 {
        struct tok_info *ti;
        unsigned long flags;
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
 
         netif_stop_queue(dev);
 
 
 static int tok_close(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
 
        /* Important for PCMCIA hot unplug, otherwise, we'll pull the card, */
        /* unloading the module from memory, and then if a timer pops, ouch */
 
 static void dir_open_adapter (struct net_device *dev)
 {
-        struct tok_info *ti = (struct tok_info *) dev->priv;
+        struct tok_info *ti = netdev_priv(dev);
         unsigned char ret_code;
         __u16 err;
 
 #if TR_VERBOSE
        DPRINTK("Int from tok_driver, dev : %p irq%d\n", dev,irq);
 #endif
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
        if (ti->sram_phys & 1)
                return IRQ_NONE;         /* PCMCIA card extraction flag */
        spin_lock(&(ti->lock));
        struct tok_info *ti;
         unsigned char init_status; /*BMS 12/2000*/
 
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
 
        ti->do_tok_int = NOT_FIRST;
 
 
 static void tr_tx(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
        struct trh_hdr *trhdr = (struct trh_hdr *) ti->current_skb->data;
        unsigned int hdr_len;
        __u32 dhb=0,dhb_base;
 
 static void tr_rx(struct net_device *dev)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
        __u32 rbuffer;
        void __iomem *rbuf, *rbufdata, *llc;
        __u8 rbuffer_page = 0;
 void tok_rerun(unsigned long dev_addr){
 
        struct net_device *dev = (struct net_device *)dev_addr;
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
 
        if ( ti->open_action == RESTART){
                ti->do_tok_int = FIRST_INT;
 {
        struct tok_info *ti;
 
-       ti = (struct tok_info *) dev->priv;
+       ti = netdev_priv(dev);
 
        ti->readlog_pending = 0;
        SET_PAGE(ti->srb_page);
 {
 
        struct tok_info *toki;
-       toki = (struct tok_info *) dev->priv;
+       toki = netdev_priv(dev);
        return (struct net_device_stats *) &toki->tr_stats;
 }
 
 
 static int ibmtr_change_mtu(struct net_device *dev, int mtu)
 {
-       struct tok_info *ti = (struct tok_info *) dev->priv;
+       struct tok_info *ti = netdev_priv(dev);
 
        if (ti->ring_speed == 16 && mtu > ti->maxmtu16)
                return -EINVAL;
 
        }
 
        SET_MODULE_OWNER(dev);
-       streamer_priv = dev->priv;
+       streamer_priv = netdev_priv(dev);
 
 #if STREAMER_NETWORK_MONITOR
 #ifdef CONFIG_PROC_FS
                return;
        }
 
-       streamer_priv=dev->priv;
+       streamer_priv=netdev_priv(dev);
        if (streamer_priv == NULL) {
                printk(KERN_ERR "lanstreamer::streamer_remove_one, ERROR dev->priv is NULL\n");
                return;
        struct sk_buff *skb = NULL;
        __u16 misr;
 
-       streamer_priv = (struct streamer_private *) dev->priv;
+       streamer_priv = netdev_priv(dev);
        streamer_mmio = streamer_priv->streamer_mmio;
 
        writew(readw(streamer_mmio + BCTL) | BCTL_SOFTRESET, streamer_mmio + BCTL);
 
 static int streamer_open(struct net_device *dev)
 {
-       struct streamer_private *streamer_priv = (struct streamer_private *) dev->priv;
+       struct streamer_private *streamer_priv = netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        unsigned long flags;
        char open_error[255];
 static void streamer_rx(struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        struct streamer_rx_desc *rx_desc;
        int rx_ring_last_received, length, frame_length, buffer_cnt = 0;
 {
        struct net_device *dev = (struct net_device *) dev_id;
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        __u16 sisr;
        __u16 misr;
 static int streamer_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        unsigned long flags ;
 
 static int streamer_close(struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        unsigned long flags;
        int i;
 static void streamer_set_rx_mode(struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        __u8 options = 0;
        struct dev_mc_list *dmi;
 
 static void streamer_srb_bh(struct net_device *dev)
 {
-       struct streamer_private *streamer_priv = (struct streamer_private *) dev->priv;
+       struct streamer_private *streamer_priv = netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        __u16 srb_word;
 
 static struct net_device_stats *streamer_get_stats(struct net_device *dev)
 {
        struct streamer_private *streamer_priv;
-       streamer_priv = (struct streamer_private *) dev->priv;
+       streamer_priv = netdev_priv(dev);
        return (struct net_device_stats *) &streamer_priv->streamer_stats;
 }
 
 static int streamer_set_mac_address(struct net_device *dev, void *addr)
 {
        struct sockaddr *saddr = addr;
-       struct streamer_private *streamer_priv = (struct streamer_private *) dev->priv;
+       struct streamer_private *streamer_priv = netdev_priv(dev);
 
        if (netif_running(dev)) 
        {
 static void streamer_arb_cmd(struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        __u8 header_len;
        __u16 frame_len, buffer_len;
 static void streamer_asb_bh(struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
 
        if (streamer_priv->asb_queued == 1) 
 static int streamer_change_mtu(struct net_device *dev, int mtu)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u16 max_mtu;
 
        if (streamer_priv->streamer_ring_speed == 4)
 static int sprintf_info(char *buffer, struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
-           (struct streamer_private *) dev->priv;
+           netdev_priv(dev);
        __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio;
        struct streamer_adapter_addr_table sat;
        struct streamer_parameters_table spt;
 
 static int madgemc_mcaproc(char *buf, int slot, void *d) 
 {      
        struct net_device *dev = (struct net_device *)d;
-       struct net_local *tp = dev->priv;
+       struct net_local *tp = netdev_priv(dev);
        struct card_info *curcard = tp->tmspriv;
        int len = 0;
        
 
        BUG_ON(!dev);
 
-       tp = dev->priv;
+       tp = netdev_priv(dev);
        card = tp->tmspriv;
        kfree(card);
        tp->tmspriv = NULL;
 
                goto op_release_dev;
        }
 
-       olympic_priv = dev->priv ;
+       olympic_priv = netdev_priv(dev) ;
        
        spin_lock_init(&olympic_priv->olympic_lock) ; 
 
        init_waitqueue_head(&olympic_priv->srb_wait);
        init_waitqueue_head(&olympic_priv->trb_wait);
 #if OLYMPIC_DEBUG  
-       printk(KERN_INFO "pci_device: %p, dev:%p, dev->priv: %p\n", pdev, dev, dev->priv);
+       printk(KERN_INFO "pci_device: %p, dev:%p, dev->priv: %p\n", pdev, dev, netdev_priv(dev));
 #endif
        dev->irq=pdev->irq;
        dev->base_addr=pci_resource_start(pdev, 0);
        unsigned long t; 
        unsigned int uaa_addr;
 
-       olympic_priv=(struct olympic_private *)dev->priv;
+       olympic_priv=netdev_priv(dev);
        olympic_mmio=olympic_priv->olympic_mmio;
 
        printk("%s \n", version);
 
 static int olympic_open(struct net_device *dev) 
 {
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*init_srb;
        unsigned long flags, t;
        int i, open_finished = 1 ;
  */
 static void olympic_rx(struct net_device *dev)
 {
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio;
        struct olympic_rx_status *rx_status;
        struct olympic_rx_desc *rx_desc ; 
 
 static void olympic_freemem(struct net_device *dev) 
 { 
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        int i;
                        
        for(i=0;i<OLYMPIC_RX_RING_SIZE;i++) {
 static irqreturn_t olympic_interrupt(int irq, void *dev_id) 
 {
        struct net_device *dev= (struct net_device *)dev_id;
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio;
        u32 sisr;
        u8 __iomem *adapter_check_area ; 
 
 static int olympic_xmit(struct sk_buff *skb, struct net_device *dev) 
 {
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio;
        unsigned long flags ; 
 
 
 static int olympic_close(struct net_device *dev) 
 {
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*srb;
        unsigned long t,flags;
 
 
 static void olympic_set_rx_mode(struct net_device *dev) 
 {
-       struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; 
+       struct olympic_private *olympic_priv = netdev_priv(dev);
        u8 __iomem *olympic_mmio = olympic_priv->olympic_mmio ; 
        u8 options = 0; 
        u8 __iomem *srb;
 
 static void olympic_srb_bh(struct net_device *dev) 
 { 
-       struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; 
+       struct olympic_private *olympic_priv = netdev_priv(dev);
        u8 __iomem *olympic_mmio = olympic_priv->olympic_mmio ; 
        u8 __iomem *srb;
 
 static struct net_device_stats * olympic_get_stats(struct net_device *dev)
 {
        struct olympic_private *olympic_priv ;
-       olympic_priv=(struct olympic_private *) dev->priv;
+       olympic_priv=netdev_priv(dev);
        return (struct net_device_stats *) &olympic_priv->olympic_stats; 
 }
 
 static int olympic_set_mac_address (struct net_device *dev, void *addr) 
 {
        struct sockaddr *saddr = addr ; 
-       struct olympic_private *olympic_priv = (struct olympic_private *)dev->priv ; 
+       struct olympic_private *olympic_priv = netdev_priv(dev);
 
        if (netif_running(dev)) { 
                printk(KERN_WARNING "%s: Cannot set mac/laa address while card is open\n", dev->name) ; 
 
 static void olympic_arb_cmd(struct net_device *dev)
 {
-       struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv;
+       struct olympic_private *olympic_priv = netdev_priv(dev);
        u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio;
        u8 __iomem *arb_block, *asb_block, *srb  ; 
        u8 header_len ; 
 
 static void olympic_asb_bh(struct net_device *dev) 
 {
-       struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; 
+       struct olympic_private *olympic_priv = netdev_priv(dev);
        u8 __iomem *arb_block, *asb_block ; 
 
        arb_block = (olympic_priv->olympic_lap + olympic_priv->arb) ; 
  
 static int olympic_change_mtu(struct net_device *dev, int mtu) 
 {
-       struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv;
+       struct olympic_private *olympic_priv = netdev_priv(dev);
        u16 max_mtu ; 
 
        if (olympic_priv->olympic_ring_speed == 4)
 static int olympic_proc_info(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
 {
        struct net_device *dev = (struct net_device *)data ; 
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
        u8 __iomem *oat = (olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; 
        u8 __iomem *opt = (olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; 
        int size = 0 ; 
 static void __devexit olympic_remove_one(struct pci_dev *pdev) 
 {
        struct net_device *dev = pci_get_drvdata(pdev) ; 
-       struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv;
+       struct olympic_private *olympic_priv=netdev_priv(dev);
 
        if (olympic_priv->olympic_network_monitor) { 
                char proc_name[20] ; 
 
                goto err_out_irq;
        }
 
-       tp = dev->priv;
+       tp = netdev_priv(dev);
        tp->setnselout = tms_pci_setnselout_pins;
                
        tp->sifreadb = tms_pci_sifreadb;
 static unsigned short tms_pci_setnselout_pins(struct net_device *dev)
 {
        unsigned short val = 0;
-       struct net_local *tp = dev->priv;
+       struct net_local *tp = netdev_priv(dev);
        struct card_info *cardinfo = tp->tmspriv;
   
        if(tp->DataRate == SPEED_4)