• Vladimir Oltean's avatar
    net: dsa: tag_sja1105: optionally build as module when switch driver is module if PTP is enabled · f8b17a0b
    Vladimir Oltean authored
    TX timestamps are sent by SJA1110 as Ethernet packets containing
    metadata, so they are received by the tagging driver but must be
    processed by the switch driver - the one that is stateful since it
    keeps the TX timestamp queue.
    
    This means that there is an sja1110_process_meta_tstamp() symbol
    exported by the switch driver which is called by the tagging driver.
    
    There is a shim definition for that function when the switch driver is
    not compiled, which does nothing, but that shim is not effective when
    the tagging protocol driver is built-in and the switch driver is a
    module, because built-in code cannot call symbols exported by modules.
    
    So add an optional dependency between the tagger and the switch driver,
    if PTP support is enabled in the switch driver. If PTP is not enabled,
    sja1110_process_meta_tstamp() will translate into the shim "do nothing
    with these meta frames" function.
    
    Fixes: 566b18c8 ("net: dsa: sja1105: implement TX timestamping for SJA1110")
    Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f8b17a0b
Kconfig 5.48 KB