On Thu, Jun 22, 2023 at 09:15:24AM +0200, Alexandra Winter wrote: > > > 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? I'll leave that one to Randy at this point. > 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. It does seem to on my side. But checking would be much appreciated.