net: ti: icssg-prueth: Add phys_port_name support
authorJan Kiszka <jan.kiszka@siemens.com>
Sun, 22 Oct 2023 08:56:22 +0000 (10:56 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 24 Oct 2023 08:29:48 +0000 (10:29 +0200)
Helps identifying the ports in udev rules e.g.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/895ae9c1-b6dd-4a97-be14-6f2b73c7b2b5@siemens.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/ti/icssg/icssg_prueth.c

index de3bb9da3b13cdb7017aed26ba6cab674aef2072..6c4b64227ac886dde27b4b0e5343bd730099d00a 100644 (file)
@@ -1659,6 +1659,19 @@ static void emac_ndo_get_stats64(struct net_device *ndev,
        stats->tx_dropped = ndev->stats.tx_dropped;
 }
 
+static int emac_ndo_get_phys_port_name(struct net_device *ndev, char *name,
+                                      size_t len)
+{
+       struct prueth_emac *emac = netdev_priv(ndev);
+       int ret;
+
+       ret = snprintf(name, len, "p%d", emac->port_id);
+       if (ret >= len)
+               return -EINVAL;
+
+       return 0;
+}
+
 static const struct net_device_ops emac_netdev_ops = {
        .ndo_open = emac_ndo_open,
        .ndo_stop = emac_ndo_stop,
@@ -1669,6 +1682,7 @@ static const struct net_device_ops emac_netdev_ops = {
        .ndo_set_rx_mode = emac_ndo_set_rx_mode,
        .ndo_eth_ioctl = emac_ndo_ioctl,
        .ndo_get_stats64 = emac_ndo_get_stats64,
+       .ndo_get_phys_port_name = emac_ndo_get_phys_port_name,
 };
 
 /* get emac_port corresponding to eth_node name */