On 21.06.23 23:37, Randy Dunlap wrote: > Require FDDI to be built-in if it is used. LCS needs FDDI to be > built-in to build without errors. > > Prevents these build errors: > s390-linux-ld: drivers/s390/net/lcs.o: in function `lcs_new_device': > drivers/s390/net/lcs.c:2150: undefined reference to `fddi_type_trans' > s390-linux-ld: drivers/s390/net/lcs.c:2151: undefined reference to `alloc_fddidev' > > This FDDI requirement effectively restores the previous condition > before the blamed patch, when #ifdef CONFIG_FDDI was used, without > testing for CONFIG_FDDI_MODULE. > > Fixes: 128272336120 ("s390/net: lcs: use IS_ENABLED() for kconfig detection") > Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Link: lore.kernel.org/r/202306202129.pl0AqK8G-lkp@xxxxxxxxx > Suggested-by: Simon Horman <simon.horman@xxxxxxxxxxxx> > Cc: Alexandra Winter <wintera@xxxxxxxxxxxxx> > Cc: Wenjia Zhang <wenjia@xxxxxxxxxxxxx> > Cc: linux-s390@xxxxxxxxxxxxxxx > Cc: netdev@xxxxxxxxxxxxxxx > Cc: Heiko Carstens <hca@xxxxxxxxxxxxx> > Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> > Cc: Alexander Gordeev <agordeev@xxxxxxxxxxxxx> > Cc: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx> > Cc: Sven Schnelle <svens@xxxxxxxxxxxxx> > Cc: David S. Miller <davem@xxxxxxxxxxxxx> > Cc: Eric Dumazet <edumazet@xxxxxxxxxx> > Cc: Jakub Kicinski <kuba@xxxxxxxxxx> > Cc: Paolo Abeni <pabeni@xxxxxxxxxx> > --- > drivers/s390/net/Kconfig | 2 ++ > 1 file changed, 2 insertions(+) > > diff -- a/drivers/s390/net/Kconfig b/drivers/s390/net/Kconfig > --- a/drivers/s390/net/Kconfig > +++ b/drivers/s390/net/Kconfig > @@ -6,11 +6,13 @@ config LCS > def_tristate m > prompt "Lan Channel Station Interface" > depends on CCW && NETDEVICES && (ETHERNET || FDDI) > + depends on FDDI=y || FDDI=n > help > Select this option if you want to use LCS networking on IBM System z. > This device driver supports FDDI (IEEE 802.7) and Ethernet. > To compile as a module, choose M. The module name is lcs. > If you do not know what it is, it's safe to choose Y. > + If FDDI is used, it must be built-in (=y). > > config CTCM > def_tristate m > Wow Randy and Simon, you are reacting faster than I was able to evaluate this yesterday. 2 thoughts: 1) As ETHERNET cannot be a module and this patch prevents FDDI from being a module, then 128272336120 ("s390/net: lcs: use IS_ENABLED() for kconfig detection") is kind of pointless and can as well be reverted instead of doing this fix. Or am I missing something? 2) I wonder whether depends on CCW && NETDEVICES && (ETHERNET || FDDI) + depends on FDDI || FDDI=n would do what we want here: When FDDI is a loadable module, LCS mustn't be built-in. I will do some experiments and let you know. Alexandra