diff mbox series

[net-next] net: enetc: fix link error again

Message ID 20210422133518.1835403-1-arnd@kernel.org (mailing list archive)
State Accepted
Commit 74c97ea3b61e4ce149444f904ee8d4fc7073505b
Delegated to: Netdev Maintainers
Headers show
Series [net-next] net: enetc: fix link error again | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net-next
netdev/subject_prefix success Link
netdev/cc_maintainers success CCed 5 of 5 maintainers
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 1 this patch: 1
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 7 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 1 this patch: 1
netdev/header_inline success Link

Commit Message

Arnd Bergmann April 22, 2021, 1:35 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

A link time bug that I had fixed before has come back now that
another sub-module was added to the enetc driver:

ERROR: modpost: "enetc_ierb_register_pf" [drivers/net/ethernet/freescale/enetc/fsl-enetc.ko] undefined!

The problem is that the enetc Makefile is not actually used for
the ierb module if that is the only built-in driver in there
and everything else is a loadable module.

Fix it by always entering the directory this time, regardless
of which symbols are configured. This should reliably fix the
problem and prevent it from coming back another time.

Fixes: 112463ddbe82 ("net: dsa: felix: fix link error")
Fixes: e7d48e5fbf30 ("net: enetc: add a mini driver for the Integrated Endpoint Register Block")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/ethernet/freescale/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Vladimir Oltean April 22, 2021, 3:14 p.m. UTC | #1
On Thu, Apr 22, 2021 at 03:35:11PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A link time bug that I had fixed before has come back now that
> another sub-module was added to the enetc driver:
> 
> ERROR: modpost: "enetc_ierb_register_pf" [drivers/net/ethernet/freescale/enetc/fsl-enetc.ko] undefined!
> 
> The problem is that the enetc Makefile is not actually used for
> the ierb module if that is the only built-in driver in there
> and everything else is a loadable module.
> 
> Fix it by always entering the directory this time, regardless
> of which symbols are configured. This should reliably fix the
> problem and prevent it from coming back another time.
> 
> Fixes: 112463ddbe82 ("net: dsa: felix: fix link error")
> Fixes: e7d48e5fbf30 ("net: enetc: add a mini driver for the Integrated Endpoint Register Block")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/net/ethernet/freescale/Makefile | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/freescale/Makefile b/drivers/net/ethernet/freescale/Makefile
> index 67c436400352..de7b31842233 100644
> --- a/drivers/net/ethernet/freescale/Makefile
> +++ b/drivers/net/ethernet/freescale/Makefile
> @@ -24,6 +24,4 @@ obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/
>  
>  obj-$(CONFIG_FSL_DPAA2_ETH) += dpaa2/
>  
> -obj-$(CONFIG_FSL_ENETC) += enetc/
> -obj-$(CONFIG_FSL_ENETC_MDIO) += enetc/
> -obj-$(CONFIG_FSL_ENETC_VF) += enetc/
> +obj-y += enetc/
> -- 
> 2.29.2
> 

I feel so bad that I'm incapable of troubleshooting even the most
elementary Kconfig issues... I did not even once think of opening that
Makefile.

Acked-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Arnd Bergmann April 22, 2021, 3:22 p.m. UTC | #2
On Thu, Apr 22, 2021 at 5:15 PM Vladimir Oltean <olteanv@gmail.com> wrote:
>> The problem is that the enetc Makefile is not actually used for
>> the ierb module if that is the only built-in driver in there
>> and everything else is a loadable module.
>
> I feel so bad that I'm incapable of troubleshooting even the most
> elementary Kconfig issues... I did not even once think of opening that
> Makefile.
>
> Acked-by: Vladimir Oltean <vladimir.oltean@nxp.com>

No worries, this is a particularly nasty way Kconfig can go wrong, I thing
most kernel developers would struggle with this.

       Arnd
patchwork-bot+netdevbpf@kernel.org April 22, 2021, 8:30 p.m. UTC | #3
Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Thu, 22 Apr 2021 15:35:11 +0200 you wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A link time bug that I had fixed before has come back now that
> another sub-module was added to the enetc driver:
> 
> ERROR: modpost: "enetc_ierb_register_pf" [drivers/net/ethernet/freescale/enetc/fsl-enetc.ko] undefined!
> 
> [...]

Here is the summary with links:
  - [net-next] net: enetc: fix link error again
    https://git.kernel.org/netdev/net-next/c/74c97ea3b61e

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/drivers/net/ethernet/freescale/Makefile b/drivers/net/ethernet/freescale/Makefile
index 67c436400352..de7b31842233 100644
--- a/drivers/net/ethernet/freescale/Makefile
+++ b/drivers/net/ethernet/freescale/Makefile
@@ -24,6 +24,4 @@  obj-$(CONFIG_FSL_DPAA_ETH) += dpaa/
 
 obj-$(CONFIG_FSL_DPAA2_ETH) += dpaa2/
 
-obj-$(CONFIG_FSL_ENETC) += enetc/
-obj-$(CONFIG_FSL_ENETC_MDIO) += enetc/
-obj-$(CONFIG_FSL_ENETC_VF) += enetc/
+obj-y += enetc/