Re: [PATCH] [v2, -net] cpsw/netcp: work around reverse cpts dependency

From: David Miller
Date: Wed Mar 22 2017 - 13:57:09 EST


From: Arnd Bergmann <arnd@xxxxxxxx>
Date: Mon, 20 Mar 2017 09:52:50 +0100

> The dependency is reversed: cpsw and netcp call into cpts,
> but cpts depends on the other two in Kconfig. This can lead
> to cpts being a loadable module and its callers built-in:
>
> drivers/net/ethernet/ti/cpsw.o: In function `cpsw_remove':
> cpsw.c:(.text.cpsw_remove+0xd0): undefined reference to `cpts_release'
> drivers/net/ethernet/ti/cpsw.o: In function `cpsw_rx_handler':
> cpsw.c:(.text.cpsw_rx_handler+0x2dc): undefined reference to `cpts_rx_timestamp'
> drivers/net/ethernet/ti/cpsw.o: In function `cpsw_tx_handler':
> cpsw.c:(.text.cpsw_tx_handler+0x7c): undefined reference to `cpts_tx_timestamp'
> drivers/net/ethernet/ti/cpsw.o: In function `cpsw_ndo_stop':
>
> As a workaround, I'm introducing another Kconfig symbol to
> control the compilation of cpts, while making the actual
> module controlled by a silent symbol that is =y when necessary.
>
> Fixes: 6246168b4a38 ("net: ethernet: ti: netcp: add support of cpts")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
> ---
> v1: Originally submitted on Dec 16, still needed for v4.10 and v4.11-rc2
> v2: change the symbol names to keep existing defconfigs working

I've applied these two cpsw fixes, thanks Arnd.