• Jiri Pirko's avatar
    netdev: expose DPLL pin handle for netdevice · 5f184269
    Jiri Pirko authored
    In case netdevice represents a SyncE port, the user needs to understand
    the connection between netdevice and associated DPLL pin. There might me
    multiple netdevices pointing to the same pin, in case of VF/SF
    implementation.
    
    Add a IFLA Netlink attribute to nest the DPLL pin handle, similar to
    how it is implemented for devlink port. Add a struct dpll_pin pointer
    to netdev and protect access to it by RTNL. Expose netdev_dpll_pin_set()
    and netdev_dpll_pin_clear() helpers to the drivers so they can set/clear
    the DPLL pin relationship to netdev.
    
    Note that during the lifetime of struct dpll_pin the pin handle does not
    change. Therefore it is save to access it lockless. It is drivers
    responsibility to call netdev_dpll_pin_clear() before dpll_pin_put().
    Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
    Signed-off-by: default avatarArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
    Signed-off-by: default avatarVadim Fedorenko <vadim.fedorenko@linux.dev>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5f184269
dpll_netlink.c 29.6 KB