[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9603636f-3296-4c6a-96ca-c522e91c1c4c@lunn.ch>
Date: Thu, 13 Apr 2023 16:48:21 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: Christian Marangi <ansuelsmth@...il.com>,
Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
Gregory Clement <gregory.clement@...tlin.com>,
Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
John Crispin <john@...ozen.org>, linux-leds@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-arm-msm@...r.kernel.org
Subject: Re: [net-next PATCH v6 06/16] net: phy: phy_device: Call into the
PHY driver to set LED brightness
On Thu, Apr 13, 2023 at 06:57:51AM -0700, Florian Fainelli wrote:
>
>
> On 3/27/2023 7:10 AM, Christian Marangi wrote:
> > From: Andrew Lunn <andrew@...n.ch>
> >
> > Linux LEDs can be software controlled via the brightness file in /sys.
> > LED drivers need to implement a brightness_set function which the core
> > will call. Implement an intermediary in phy_device, which will call
> > into the phy driver if it implements the necessary function.
> >
> > Signed-off-by: Andrew Lunn <andrew@...n.ch>
> > Signed-off-by: Christian Marangi <ansuelsmth@...il.com>
>
> Reviewed-by: Florian Fainelli <f.fainelli@...il.com>
>
> > + int (*led_brightness_set)(struct phy_device *dev,
> > + u32 index, enum led_brightness value);
>
> I think I would have made this an u8, 4 billion LEDs, man, that's a lot!
That can be done. We need to change:
err = of_property_read_u32(led, "reg", &phyled->index);
if (err)
return err;
to a u8, to avoid overflow problems in other places. It looks like
of_property_read_u8() does the correct thing if somebody tried to use
4 billion - 1.
Andrew
Powered by blists - more mailing lists