linux_dsm_epyc7002/drivers/net/ethernet/ti
Clay McClure 92db978f0d net: ethernet: ti: Remove TI_CPTS_MOD workaround
My recent commit b6d49cab44 ("net: Make PTP-specific drivers depend on
PTP_1588_CLOCK") exposes a missing dependency in defconfigs that select
TI_CPTS without selecting PTP_1588_CLOCK, leading to linker errors of the
form:

drivers/net/ethernet/ti/cpsw.o: in function `cpsw_ndo_stop':
cpsw.c:(.text+0x680): undefined reference to `cpts_unregister'
 ...

That's because TI_CPTS_MOD (which is the symbol gating the _compilation_ of
cpts.c) now depends on PTP_1588_CLOCK, and so is not enabled in these
configurations, but TI_CPTS (which is the symbol gating _calls_ to the cpts
functions) _is_ enabled. So we end up compiling calls to functions that
don't exist, resulting in the linker errors.

This patch fixes build errors and restores previous behavior by:
 - ensure PTP_1588_CLOCK=y in TI specific configs and CPTS will be built
 - remove TI_CPTS_MOD and, instead, add dependencies from CPTS in
   TI_CPSW/TI_KEYSTONE_NETCP/TI_CPSW_SWITCHDEV as below:

   config TI_CPSW_SWITCHDEV
   ...
    depends on TI_CPTS || !TI_CPTS

   which will ensure proper dependencies PTP_1588_CLOCK -> TI_CPTS ->
TI_CPSW/TI_KEYSTONE_NETCP/TI_CPSW_SWITCHDEV and build type selection.

Note. For NFS boot + CPTS all of above configs have to be built-in.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Fixes: b6d49cab44 ("net: Make PTP-specific drivers depend on PTP_1588_CLOCK")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Clay McClure <clay@daemons.net>
[grygorii.strashko@ti.com: rewording, add deps cpsw/netcp from cpts, drop IS_REACHABLE]
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-12 12:33:27 -07:00
..
am65-cpsw-ethtool.c net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver 2020-03-26 20:01:14 -07:00
am65-cpsw-nuss.c net: ethernet: ti: am65-cpsw-nuss: fix irqs type 2020-05-06 17:53:00 -07:00
am65-cpsw-nuss.h net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver 2020-03-26 20:01:14 -07:00
cpmac.c net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
cpsw_ale.c net: ethernet: ti: ale: am65: add support for default thread cfg 2020-03-26 20:01:14 -07:00
cpsw_ale.h net: ethernet: ti: ale: am65: add support for default thread cfg 2020-03-26 20:01:14 -07:00
cpsw_ethtool.c treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
cpsw_new.c net: cpsw: reject unsupported coalescing params 2020-03-17 20:56:58 -07:00
cpsw_priv.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cpsw_priv.h netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cpsw_sl.c net: ethernet: ti: cpsw: introduce mac sl module api 2019-04-27 17:11:49 -04:00
cpsw_sl.h net: ethernet: ti: cpsw: introduce mac sl module api 2019-04-27 17:11:49 -04:00
cpsw_switchdev.c net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpsw_switchdev.h net: ethernet: ti: introduce cpsw switchdev based driver part 2 - switch 2019-11-20 11:25:24 -08:00
cpsw-common.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
cpsw-phy-sel.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
cpsw.c net: cpsw: reject unsupported coalescing params 2020-03-17 20:56:58 -07:00
cpsw.h net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
cpts.c ethernet: ti: cpts: use ktime_get_real_ns helper 2019-11-07 19:59:16 -08:00
cpts.h net: ethernet: ti: cpts: add support for ext rftclk selection 2019-06-09 12:53:06 -07:00
davinci_cpdma.c net: ethernet: ti: davinci_cpdma: fix warning "device driver frees DMA memory with different size" 2019-12-09 14:26:04 -08:00
davinci_cpdma.h net: ethernet: ti: davinci_cpdma: allow desc split while down 2019-07-08 14:58:04 -07:00
davinci_emac.c net: davinci_emac: reject unsupported coalescing params 2020-03-17 20:56:58 -07:00
davinci_mdio.c drivers: net: davinci_mdio: fix return value check in davinci_mdio_probe() 2019-05-05 10:17:28 -07:00
k3-cppi-desc-pool.c net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver 2020-03-26 20:01:14 -07:00
k3-cppi-desc-pool.h net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver 2020-03-26 20:01:14 -07:00
Kconfig net: ethernet: ti: Remove TI_CPTS_MOD workaround 2020-05-12 12:33:27 -07:00
Makefile net: ethernet: ti: Remove TI_CPTS_MOD workaround 2020-05-12 12:33:27 -07:00
netcp_core.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
netcp_ethss.c net: netcp_ethss: Use the PHY time stamping interface. 2019-12-25 19:51:33 -08:00
netcp_sgmii.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
netcp_xgbepcsr.c net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
netcp.h net: ethernet: ti: convert to SPDX license identifiers 2019-04-27 17:11:48 -04:00
tlan.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
tlan.h