Patchwork [3/3,net-next] net: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled

login
register
mail settings
Submitter Michael Chan
Date Aug. 26, 2011, 7:45 p.m.
Message ID <1314387941-2126-3-git-send-email-mchan@broadcom.com>
Download mbox | patch
Permalink /patch/111838/
State Accepted
Delegated to: David Miller
Headers show

Comments

Michael Chan - Aug. 26, 2011, 7:45 p.m.
From: Bhanu Prakash Gollapudi <bprakash@broadcom.com>

bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
be defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is
dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does
not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
CONFIG_LIBFCOE is defined.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Yi Zou <yi.zou@intel.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 include/linux/netdevice.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Yi Zou - Aug. 26, 2011, 10:11 p.m.
> From: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> 
> bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
> be defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is
> dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it
> does
> not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
> CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
> CONFIG_LIBFCOE is defined.
> 
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Reported-by: Randy Dunlap <rdunlap@xenotime.net>
> Cc: Yi Zou <yi.zou@intel.com>
> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> Signed-off-by: Michael Chan <mchan@broadcom.com>
> ---
>  include/linux/netdevice.h |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 125f9fb..0a7f619 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -922,11 +922,15 @@ struct net_device_ops {
>  						       u16 xid,
>  						       struct scatterlist *sgl,
>  						       unsigned int sgc);
> +#endif
> +
> +#if defined(CONFIG_LIBFCOE) || defined(CONFIG_LIBFCOE_MODULE)
>  #define NETDEV_FCOE_WWNN 0
>  #define NETDEV_FCOE_WWPN 1
>  	int			(*ndo_fcoe_get_wwn)(struct net_device *dev,
>  						    u64 *wwn, int type);
>  #endif
> +
>  #ifdef CONFIG_RFS_ACCEL
>  	int			(*ndo_rx_flow_steer)(struct net_device *dev,
>  						     const struct sk_buff *skb,
> --
> 1.7.1
> 
Thanks,

Reviewed-by: Yi Zou <yi.zou@intel.com>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Randy.Dunlap - Aug. 26, 2011, 10:17 p.m.
On Fri, 26 Aug 2011 15:11:17 -0700 Zou, Yi wrote:

> > From: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> > 
> > bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
> > be defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is
> > dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it
> > does
> > not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
> > CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
> > CONFIG_LIBFCOE is defined.
> > 
> > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > Reported-by: Randy Dunlap <rdunlap@xenotime.net>
> > Cc: Yi Zou <yi.zou@intel.com>
> > Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> > Signed-off-by: Michael Chan <mchan@broadcom.com>
> > ---
> >  include/linux/netdevice.h |    4 ++++
> >  1 files changed, 4 insertions(+), 0 deletions(-)
> > 
> > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> > index 125f9fb..0a7f619 100644
> > --- a/include/linux/netdevice.h
> > +++ b/include/linux/netdevice.h
> > @@ -922,11 +922,15 @@ struct net_device_ops {
> >  						       u16 xid,
> >  						       struct scatterlist *sgl,
> >  						       unsigned int sgc);
> > +#endif
> > +
> > +#if defined(CONFIG_LIBFCOE) || defined(CONFIG_LIBFCOE_MODULE)
> >  #define NETDEV_FCOE_WWNN 0
> >  #define NETDEV_FCOE_WWPN 1
> >  	int			(*ndo_fcoe_get_wwn)(struct net_device *dev,
> >  						    u64 *wwn, int type);
> >  #endif
> > +
> >  #ifdef CONFIG_RFS_ACCEL
> >  	int			(*ndo_rx_flow_steer)(struct net_device *dev,
> >  						     const struct sk_buff *skb,
> > --
> > 1.7.1
> > 
> Thanks,
> 
> Reviewed-by: Yi Zou <yi.zou@intel.com>

Acked-by: Randy Dunlap <rdunlap@xenotime.net>

This one fixes lots of build errors, like:

drivers/scsi/fcoe/fcoe_transport.c:152: error: 'const struct net_device_ops' has no member named 'ndo_fcoe_get_wwn'

drivers/scsi/bnx2fc/bnx2fc_fcoe.c:765: error: 'NETDEV_FCOE_WWNN' undeclared (first use in this function)
drivers/scsi/bnx2fc/bnx2fc_fcoe.c:771: error: 'NETDEV_FCOE_WWPN' undeclared (first use in this function)
drivers/scsi/fcoe/fcoe_transport.c:152: error: 'const struct net_device_ops' has no member named 'ndo_fcoe_get_wwn'


thanks,
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Aug. 28, 2011, 9:09 p.m.
From: "Michael Chan" <mchan@broadcom.com>
Date: Fri, 26 Aug 2011 12:45:41 -0700

> From: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> 
> bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
> be defined with the current Kconfig dependencies.  ndo_fcoe_get_wwn is
> dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does
> not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
> CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
> CONFIG_LIBFCOE is defined.
> 
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Reported-by: Randy Dunlap <rdunlap@xenotime.net>
> Cc: Yi Zou <yi.zou@intel.com>
> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
> Signed-off-by: Michael Chan <mchan@broadcom.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 125f9fb..0a7f619 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -922,11 +922,15 @@  struct net_device_ops {
 						       u16 xid,
 						       struct scatterlist *sgl,
 						       unsigned int sgc);
+#endif
+
+#if defined(CONFIG_LIBFCOE) || defined(CONFIG_LIBFCOE_MODULE)
 #define NETDEV_FCOE_WWNN 0
 #define NETDEV_FCOE_WWPN 1
 	int			(*ndo_fcoe_get_wwn)(struct net_device *dev,
 						    u64 *wwn, int type);
 #endif
+
 #ifdef CONFIG_RFS_ACCEL
 	int			(*ndo_rx_flow_steer)(struct net_device *dev,
 						     const struct sk_buff *skb,