Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phy: leds: Deduplicate link LED trigger registration

Refactor phy_led_trigger_register() and deduplicate its functionality
when registering LED trigger for link.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20201027182146.21355-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Andy Shevchenko and committed by
Jakub Kicinski
043d2be2 be1c7eae

+6 -10
+6 -10
drivers/net/phy/phy_led_triggers.c
··· 66 66 67 67 static int phy_led_trigger_register(struct phy_device *phy, 68 68 struct phy_led_trigger *plt, 69 - unsigned int speed) 69 + unsigned int speed, 70 + const char *suffix) 70 71 { 71 72 plt->speed = speed; 72 - phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name), 73 - phy_speed_to_str(speed)); 73 + phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name), suffix); 74 74 plt->trigger.name = plt->name; 75 75 76 76 return led_trigger_register(&plt->trigger); ··· 99 99 goto out_clear; 100 100 } 101 101 102 - phy_led_trigger_format_name(phy, phy->led_link_trigger->name, 103 - sizeof(phy->led_link_trigger->name), 104 - "link"); 105 - phy->led_link_trigger->trigger.name = phy->led_link_trigger->name; 106 - 107 - err = led_trigger_register(&phy->led_link_trigger->trigger); 102 + err = phy_led_trigger_register(phy, phy->led_link_trigger, 0, "link"); 108 103 if (err) 109 104 goto out_free_link; 110 105 ··· 114 119 115 120 for (i = 0; i < phy->phy_num_led_triggers; i++) { 116 121 err = phy_led_trigger_register(phy, &phy->phy_led_triggers[i], 117 - speeds[i]); 122 + speeds[i], 123 + phy_speed_to_str(speeds[i])); 118 124 if (err) 119 125 goto out_unreg; 120 126 }