Web lists-archives.com

Re: [PATCH] net: phy: leds: Don't make our own link speed names




On 11/8/18 9:51 AM, Kyle Roeschley wrote:
> The phy core provides a handy phy_speed_to_str() helper, so use that
> instead of doing our own formatting of the different known link speeds.

In case the speed is not supported, phy_speed_to_str() would return
"Unsupported (update phy-core.c)" which is bigger (by 21 characters)
than name_suffix.

If you bumped name_suffix/PHY_LED_TRIGGER_SPEED_SUFFIX_SIZE to 11
characters, that would be just large enough to accommodate for the
"Unsupported" part of the string and that might be an acceptable
solution in between.

> 
> Signed-off-by: Kyle Roeschley <kyle.roeschley@xxxxxx>
> ---
>  drivers/net/phy/phy_led_triggers.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/drivers/net/phy/phy_led_triggers.c b/drivers/net/phy/phy_led_triggers.c
> index 491efc1bf5c4..2827eb413c9c 100644
> --- a/drivers/net/phy/phy_led_triggers.c
> +++ b/drivers/net/phy/phy_led_triggers.c
> @@ -77,20 +77,9 @@ static int phy_led_trigger_register(struct phy_device *phy,
>  				    struct phy_led_trigger *plt,
>  				    unsigned int speed)
>  {
> -	char name_suffix[PHY_LED_TRIGGER_SPEED_SUFFIX_SIZE];
> -
>  	plt->speed = speed;
> -
> -	if (speed < SPEED_1000)
> -		snprintf(name_suffix, sizeof(name_suffix), "%dMbps", speed);
> -	else if (speed == SPEED_2500)
> -		snprintf(name_suffix, sizeof(name_suffix), "2.5Gbps");
> -	else
> -		snprintf(name_suffix, sizeof(name_suffix), "%dGbps",
> -			 DIV_ROUND_CLOSEST(speed, 1000));
> -
>  	phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name),
> -				    name_suffix);
> +				    phy_speed_to_str(speed));
>  	plt->trigger.name = plt->name;
>  
>  	return led_trigger_register(&plt->trigger);
> 


-- 
Florian