irda: convert via-ircc to net_device_ops
authorStephen Hemminger <shemminger@vyatta.com>
Fri, 20 Mar 2009 19:35:43 +0000 (19:35 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Mar 2009 02:33:48 +0000 (19:33 -0700)
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/irda/via-ircc.c

index 8b3e545924ccd696d7593a12531d7665301e2439..864798502ff9ea6d686cb128239673f2b1c4ef1b 100644 (file)
@@ -310,6 +310,19 @@ static void __exit via_ircc_cleanup(void)
        pci_unregister_driver (&via_driver); 
 }
 
+static const struct net_device_ops via_ircc_sir_ops = {
+       .ndo_start_xmit = via_ircc_hard_xmit_sir,
+       .ndo_open = via_ircc_net_open,
+       .ndo_stop = via_ircc_net_close,
+       .ndo_do_ioctl = via_ircc_net_ioctl,
+};
+static const struct net_device_ops via_ircc_fir_ops = {
+       .ndo_start_xmit = via_ircc_hard_xmit_fir,
+       .ndo_open = via_ircc_net_open,
+       .ndo_stop = via_ircc_net_close,
+       .ndo_do_ioctl = via_ircc_net_ioctl,
+};
+
 /*
  * Function via_ircc_open (iobase, irq)
  *
@@ -428,10 +441,7 @@ static __devinit int via_ircc_open(int i, chipio_t * info, unsigned int id)
        self->tx_fifo.tail = self->tx_buff.head;
 
        /* Override the network functions we need to use */
-       dev->hard_start_xmit = via_ircc_hard_xmit_sir;
-       dev->open = via_ircc_net_open;
-       dev->stop = via_ircc_net_close;
-       dev->do_ioctl = via_ircc_net_ioctl;
+       dev->netdev_ops = &via_ircc_sir_ops;
 
        err = register_netdev(dev);
        if (err)
@@ -798,11 +808,11 @@ static void via_ircc_change_speed(struct via_ircc_cb *self, __u32 speed)
 
        if (speed > 115200) {
                /* Install FIR xmit handler */
-               dev->hard_start_xmit = via_ircc_hard_xmit_fir;
+               dev->netdev_ops = &via_ircc_fir_ops;
                via_ircc_dma_receive(self);
        } else {
                /* Install SIR xmit handler */
-               dev->hard_start_xmit = via_ircc_hard_xmit_sir;
+               dev->netdev_ops = &via_ircc_sir_ops;
        }
        netif_wake_queue(dev);
 }