Message ID | 54809BA5.7030901@rupran.de |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Thu, Dec 04, 2014 at 06:36:37PM CET, mail@rupran.de wrote: >On 04.12.2014 17:34, Jim Davis wrote: >> Building with the attached random configuration file, >> >> drivers/built-in.o: In function `rocker_port_fdb_learn_work': >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3014: undefined >> reference to `br_fdb_external_learn_del' >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3016: undefined >> reference to `br_fdb_external_learn_add' >> > >Hi, > >the problem here is that CONFIG_BRIDGE is set to 'm' (leading to >inclusion of the two functions above in the kernel module) while >CONFIG_ROCKER is set to 'y', requiring the functions at link time. > >Is the attached patch sufficient to fix this? > >Regards, > >Andreas >From 0529c3cbe381338dc3337e07a71e15b3d22a3255 Mon Sep 17 00:00:00 2001 >From: Andreas Ruprecht <rupran@einserver.de> >Date: Thu, 4 Dec 2014 18:28:09 +0100 >Subject: [PATCH] net: ethernet: rocker: Add select to CONFIG_BRIDGE in Kconfig > >In a configuration with CONFIG_BRIDGE set to 'm' and CONFIG_ROCKER >set to 'y', undefined references occur at link time: > >> drivers/built-in.o: In function `rocker_port_fdb_learn_work': >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3014: undefined >> reference to `br_fdb_external_learn_del' >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3016: undefined >> reference to `br_fdb_external_learn_add' > >This patch fixes these by selecting CONFIG_BRIDGE from CONFIG_ROCKER. > >Reported-by: Jim Davis <jim.epost@gmail.com> >Signed-off-by: Andreas Ruprecht <rupran@einserver.de> Acked-by: Jiri Pirko <jiri@resnulli.us> this is ok for now. There is a plan to replace br_fdb_external_learn_add/del a by notifier which will fix this as well. Thanks. >--- > drivers/net/ethernet/rocker/Kconfig | 1 + > 1 file changed, 1 insertion(+) > >diff --git a/drivers/net/ethernet/rocker/Kconfig b/drivers/net/ethernet/rocker/Kconfig >index 11a850eab628..ade10ec4c78d 100644 >--- a/drivers/net/ethernet/rocker/Kconfig >+++ b/drivers/net/ethernet/rocker/Kconfig >@@ -18,6 +18,7 @@ if NET_VENDOR_ROCKER > config ROCKER > tristate "Rocker switch driver (EXPERIMENTAL)" > depends on PCI && NET_SWITCHDEV >+ select BRIDGE > ---help--- > This driver supports Rocker switch device. > >-- >1.9.1 > -- 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
From: Andreas Ruprecht <mail@rupran.de> Date: Thu, 04 Dec 2014 18:36:37 +0100 > On 04.12.2014 17:34, Jim Davis wrote: >> Building with the attached random configuration file, >> >> drivers/built-in.o: In function `rocker_port_fdb_learn_work': >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3014: undefined >> reference to `br_fdb_external_learn_del' >> /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3016: undefined >> reference to `br_fdb_external_learn_add' >> > > Hi, > > the problem here is that CONFIG_BRIDGE is set to 'm' (leading to > inclusion of the two functions above in the kernel module) while > CONFIG_ROCKER is set to 'y', requiring the functions at link time. > > Is the attached patch sufficient to fix this? Do not use select, please. You can only use select on leaf node Kconfig symbols, ie. those which do not have any dependencies whatsoever. Select does not recursively walk down the dependency chain turning things on for you when you say "select X". -- 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
From 0529c3cbe381338dc3337e07a71e15b3d22a3255 Mon Sep 17 00:00:00 2001 From: Andreas Ruprecht <rupran@einserver.de> Date: Thu, 4 Dec 2014 18:28:09 +0100 Subject: [PATCH] net: ethernet: rocker: Add select to CONFIG_BRIDGE in Kconfig In a configuration with CONFIG_BRIDGE set to 'm' and CONFIG_ROCKER set to 'y', undefined references occur at link time: > drivers/built-in.o: In function `rocker_port_fdb_learn_work': > /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3014: undefined > reference to `br_fdb_external_learn_del' > /home/jim/linux/drivers/net/ethernet/rocker/rocker.c:3016: undefined > reference to `br_fdb_external_learn_add' This patch fixes these by selecting CONFIG_BRIDGE from CONFIG_ROCKER. Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Andreas Ruprecht <rupran@einserver.de> --- drivers/net/ethernet/rocker/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/rocker/Kconfig b/drivers/net/ethernet/rocker/Kconfig index 11a850eab628..ade10ec4c78d 100644 --- a/drivers/net/ethernet/rocker/Kconfig +++ b/drivers/net/ethernet/rocker/Kconfig @@ -18,6 +18,7 @@ if NET_VENDOR_ROCKER config ROCKER tristate "Rocker switch driver (EXPERIMENTAL)" depends on PCI && NET_SWITCHDEV + select BRIDGE ---help--- This driver supports Rocker switch device. -- 1.9.1