• Clay McClure's avatar
    net: ethernet: ti: Remove TI_CPTS_MOD workaround · 92db978f
    Clay McClure authored
    My recent commit b6d49cab ("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: b6d49cab ("net: Make PTP-specific drivers depend on PTP_1588_CLOCK")
    Reported-by: default avatarkbuild test robot <lkp@intel.com>
    Signed-off-by: default avatarClay McClure <clay@daemons.net>
    [grygorii.strashko@ti.com: rewording, add deps cpsw/netcp from cpts, drop IS_REACHABLE]
    Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
    Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
    Tested-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    92db978f
omap2plus_defconfig 13.2 KB