770-r8169-LED-uses-original-network-port-name.patch 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. From 5f8e52f3991c794be69af13170e5c54e5afe0674 Mon Sep 17 00:00:00 2001
  2. From: Chukun Pan <[email protected]>
  3. Date: Sun, 5 Jan 2025 18:08:29 +0800
  4. Subject: [PATCH] r8169: LED uses original network port name
  5. Most Linux distributions use Predictable Network Interface Names
  6. to name PCIe network interfaces (systemd-udevd renames them).
  7. Since OpenWrt doesn't use this, let's use the original network
  8. port name in the driver to match the LED.
  9. Signed-off-by: Chukun Pan <[email protected]>
  10. ---
  11. --- a/drivers/net/ethernet/realtek/r8169.h
  12. +++ b/drivers/net/ethernet/realtek/r8169.h
  13. @@ -84,8 +84,6 @@ u8 rtl8168d_efuse_read(struct rtl8169_pr
  14. void r8169_hw_phy_config(struct rtl8169_private *tp, struct phy_device *phydev,
  15. enum mac_version ver);
  16. -void r8169_get_led_name(struct rtl8169_private *tp, int idx,
  17. - char *buf, int buf_len);
  18. int rtl8168_get_led_mode(struct rtl8169_private *tp);
  19. int rtl8168_led_mod_ctrl(struct rtl8169_private *tp, u16 mask, u16 val);
  20. struct r8169_led_classdev *rtl8168_init_leds(struct net_device *ndev);
  21. --- a/drivers/net/ethernet/realtek/r8169_leds.c
  22. +++ b/drivers/net/ethernet/realtek/r8169_leds.c
  23. @@ -129,14 +129,13 @@ static struct device *
  24. static void rtl8168_setup_ldev(struct r8169_led_classdev *ldev,
  25. struct net_device *ndev, int index)
  26. {
  27. - struct rtl8169_private *tp = netdev_priv(ndev);
  28. struct led_classdev *led_cdev = &ldev->led;
  29. char led_name[LED_MAX_NAME_SIZE];
  30. ldev->ndev = ndev;
  31. ldev->index = index;
  32. - r8169_get_led_name(tp, index, led_name, LED_MAX_NAME_SIZE);
  33. + snprintf(led_name, sizeof(led_name), "%s-%d::lan", ndev->name, index);
  34. led_cdev->name = led_name;
  35. led_cdev->hw_control_trigger = "netdev";
  36. led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN;
  37. @@ -228,14 +227,13 @@ static int rtl8125_led_hw_control_get(st
  38. static void rtl8125_setup_led_ldev(struct r8169_led_classdev *ldev,
  39. struct net_device *ndev, int index)
  40. {
  41. - struct rtl8169_private *tp = netdev_priv(ndev);
  42. struct led_classdev *led_cdev = &ldev->led;
  43. char led_name[LED_MAX_NAME_SIZE];
  44. ldev->ndev = ndev;
  45. ldev->index = index;
  46. - r8169_get_led_name(tp, index, led_name, LED_MAX_NAME_SIZE);
  47. + snprintf(led_name, sizeof(led_name), "%s-%d::lan", ndev->name, index);
  48. led_cdev->name = led_name;
  49. led_cdev->hw_control_trigger = "netdev";
  50. led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN;
  51. --- a/drivers/net/ethernet/realtek/r8169_main.c
  52. +++ b/drivers/net/ethernet/realtek/r8169_main.c
  53. @@ -980,28 +980,6 @@ int rtl8125_get_led_mode(struct rtl8169_
  54. return ret;
  55. }
  56. -void r8169_get_led_name(struct rtl8169_private *tp, int idx,
  57. - char *buf, int buf_len)
  58. -{
  59. - struct pci_dev *pdev = tp->pci_dev;
  60. - char pdom[8], pfun[8];
  61. - int domain;
  62. -
  63. - domain = pci_domain_nr(pdev->bus);
  64. - if (domain)
  65. - snprintf(pdom, sizeof(pdom), "P%d", domain);
  66. - else
  67. - pdom[0] = '\0';
  68. -
  69. - if (pdev->multifunction)
  70. - snprintf(pfun, sizeof(pfun), "f%d", PCI_FUNC(pdev->devfn));
  71. - else
  72. - pfun[0] = '\0';
  73. -
  74. - snprintf(buf, buf_len, "en%sp%ds%d%s-%d::lan", pdom, pdev->bus->number,
  75. - PCI_SLOT(pdev->devfn), pfun, idx);
  76. -}
  77. -
  78. static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
  79. {
  80. /* based on RTL8168FP_OOBMAC_BASE in vendor driver */