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

index 61e509c..45fd9c1 100644 (file)
@@ -331,6 +331,20 @@ static void __exit nsc_ircc_cleanup(void)
        pnp_registered = 0;
 }
 
+static const struct net_device_ops nsc_ircc_sir_ops = {
+       .ndo_open       = nsc_ircc_net_open,
+       .ndo_stop       = nsc_ircc_net_close,
+       .ndo_start_xmit = nsc_ircc_hard_xmit_sir,
+       .ndo_do_ioctl   = nsc_ircc_net_ioctl,
+};
+
+static const struct net_device_ops nsc_ircc_fir_ops = {
+       .ndo_open       = nsc_ircc_net_open,
+       .ndo_stop       = nsc_ircc_net_close,
+       .ndo_start_xmit = nsc_ircc_hard_xmit_fir,
+       .ndo_do_ioctl   = nsc_ircc_net_ioctl,
+};
+
 /*
  * Function nsc_ircc_open (iobase, irq)
  *
@@ -441,10 +455,7 @@ static int __init nsc_ircc_open(chipio_t *info)
        self->tx_fifo.tail = self->tx_buff.head;
 
        /* Override the network functions we need to use */
-       dev->hard_start_xmit = nsc_ircc_hard_xmit_sir;
-       dev->open            = nsc_ircc_net_open;
-       dev->stop            = nsc_ircc_net_close;
-       dev->do_ioctl        = nsc_ircc_net_ioctl;
+       dev->netdev_ops = &nsc_ircc_sir_ops;
 
        err = register_netdev(dev);
        if (err) {
@@ -1320,12 +1331,12 @@ static __u8 nsc_ircc_change_speed(struct nsc_ircc_cb *self, __u32 speed)
        switch_bank(iobase, BANK0); 
        if (speed > 115200) {
                /* Install FIR xmit handler */
-               dev->hard_start_xmit = nsc_ircc_hard_xmit_fir;
+               dev->netdev_ops = &nsc_ircc_fir_ops;
                ier = IER_SFIF_IE;
                nsc_ircc_dma_receive(self);
        } else {
                /* Install SIR xmit handler */
-               dev->hard_start_xmit = nsc_ircc_hard_xmit_sir;
+               dev->netdev_ops = &nsc_ircc_sir_ops;
                ier = IER_RXHDL_IE;
        }
        /* Set our current interrupt mask */