Subject: Re: [PATCH] IRDA: donauboe: fix build

From: Stephen Hemminger <[email-masked]>
Date: Thu, 26 Mar 2009 18:18:04 -0700

On Fri, 27 Mar 2009 04:02:27 +0300
Alexander Beregalov <[email-masked]> wrote:

> drivers/net/irda/donauboe.c: In function 'toshoboe_open':
> drivers/net/irda/donauboe.c:1660: error: 'struct net_device' has no
> member named 'hard_start_xmit'
> drivers/net/irda/donauboe.c:1661: error: 'struct net_device' has no
> member named 'open'
> drivers/net/irda/donauboe.c:1662: error: 'struct net_device' has no
> member named 'stop'
> drivers/net/irda/donauboe.c:1663: error: 'struct net_device' has no
> member named 'do_ioctl'
> 
> Signed-off-by: Alexander Beregalov <[email-masked]>
> ---
> 
>  drivers/net/irda/donauboe.c |   15 +++++++++++----
>  1 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
> index 6f3e7f7..847fa22 100644
> --- a/drivers/net/irda/donauboe.c
> +++ b/drivers/net/irda/donauboe.c
> @@ -970,7 +970,7 @@ toshoboe_probe (struct toshoboe_cb *self)
>  /* Netdev style code */
>  
>  /* Transmit something */
> -static int
> +int
>  toshoboe_hard_xmit (struct sk_buff *skb, struct net_device *dev)
>  {
>    struct toshoboe_cb *self;
> @@ -1145,6 +1145,7 @@ dumpbufs(skb->data,skb->len,'>');
>  
>    return 0;
>  }
> +EXPORT_SYMBOL(toshoboe_hard_xmit);
>  
>  /*interrupt handler */
>  static irqreturn_t
> @@ -1336,7 +1337,7 @@ dumpbufs(self->rx_bufs[self->rxs],len,'<');
>  }
>  
>  
> -static int
> +int
>  toshoboe_net_open (struct net_device *dev)
>  {
>    struct toshoboe_cb *self;
> @@ -1375,8 +1376,9 @@ toshoboe_net_open (struct net_device *dev)
>  
>    return 0;
>  }
> +EXPORT_SYMBOL(toshoboe_net_open);
>  
> -static int
> +int
>  toshoboe_net_close (struct net_device *dev)
>  {
>    struct toshoboe_cb *self;
> @@ -1405,6 +1407,7 @@ toshoboe_net_close (struct net_device *dev)
>  
>    return 0;
>  }
> +EXPORT_SYMBOL(toshoboe_net_close);
>  
>  /*
>   * Function toshoboe_net_ioctl (dev, rq, cmd)
> @@ -1412,7 +1415,7 @@ toshoboe_net_close (struct net_device *dev)
>   *    Process IOCTL commands for this device
>   *
>   */
> -static int
> +int
>  toshoboe_net_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
>  {
>    struct if_irda_req *irq = (struct if_irda_req *) rq;
> @@ -1473,6 +1476,7 @@ out:
>    return ret;
>  
>  }
> +EXPORT_SYMBOL(toshoboe_net_ioctl);
>  
>  MODULE_DESCRIPTION("Toshiba OBOE IrDA Device Driver");
>  MODULE_AUTHOR("James McKenzie <[email-masked]>");
> @@ -1657,10 +1661,13 @@ toshoboe_open (struct pci_dev *pci_dev, const struct pci_device_id *pdid)
>  #endif
>  
>    SET_NETDEV_DEV(dev, &pci_dev->dev);
> +
> +#ifdef CONFIG_COMPAT_NET_DEV_OPS
>    dev->hard_start_xmit = toshoboe_hard_xmit;
>    dev->open = toshoboe_net_open;
>    dev->stop = toshoboe_net_close;
>    dev->do_ioctl = toshoboe_net_ioctl;
> +#endif

NAKC, device needs to be convert to net_device_ops for real
or it won't work.