[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <98375832-3d29-1f03-145f-8d6e763dd2d2@linux.ibm.com>
Date: Thu, 22 Jun 2023 09:15:24 +0200
From: Alexandra Winter <wintera@...ux.ibm.com>
To: Randy Dunlap <rdunlap@...radead.org>, linux-kernel@...r.kernel.org
Cc: kernel test robot <lkp@...el.com>,
Simon Horman <simon.horman@...igine.com>,
Wenjia Zhang <wenjia@...ux.ibm.com>,
linux-s390@...r.kernel.org, netdev@...r.kernel.org,
Heiko Carstens <hca@...ux.ibm.com>,
Vasily Gorbik <gor@...ux.ibm.com>,
Alexander Gordeev <agordeev@...ux.ibm.com>,
Christian Borntraeger <borntraeger@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH] s390/net: lcs: fix build errors when FDDI is a loadable
module
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@...radead.org>
> Reported-by: kernel test robot <lkp@...el.com>
> Link: lore.kernel.org/r/202306202129.pl0AqK8G-lkp@...el.com
> Suggested-by: Simon Horman <simon.horman@...igine.com>
> Cc: Alexandra Winter <wintera@...ux.ibm.com>
> Cc: Wenjia Zhang <wenjia@...ux.ibm.com>
> Cc: linux-s390@...r.kernel.org
> Cc: netdev@...r.kernel.org
> Cc: Heiko Carstens <hca@...ux.ibm.com>
> Cc: Vasily Gorbik <gor@...ux.ibm.com>
> Cc: Alexander Gordeev <agordeev@...ux.ibm.com>
> Cc: Christian Borntraeger <borntraeger@...ux.ibm.com>
> Cc: Sven Schnelle <svens@...ux.ibm.com>
> Cc: David S. Miller <davem@...emloft.net>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Jakub Kicinski <kuba@...nel.org>
> Cc: Paolo Abeni <pabeni@...hat.com>
> ---
> 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
Powered by blists - more mailing lists