[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47f18def-d34f-4224-9de2-6e0ae7122a52@lunn.ch>
Date: Thu, 4 Jan 2024 14:20:45 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Christian Marangi <ansuelsmth@...il.com>
Cc: Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
William Zhang <william.zhang@...adcom.com>,
Anand Gore <anand.gore@...adcom.com>,
Kursad Oney <kursad.oney@...adcom.com>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Rafał Miłecki <rafal@...ecki.pl>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.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>,
Jacek Anaszewski <jacek.anaszewski@...il.com>,
Fernández Rojas <noltari@...il.com>,
Sven Schwermer <sven.schwermer@...ruptive-technologies.com>,
linux-leds@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
netdev@...r.kernel.org
Subject: Re: [net-next PATCH v8 3/5] net: phy: add support for PHY LEDs
polarity modes
> + if (phydev->drv->led_polarity_set) {
> + if (of_property_read_bool(led, "active-low"))
> + set_bit(PHY_LED_ACTIVE_LOW, &modes);
> + if (of_property_read_bool(led, "inactive-high-impedance"))
> + set_bit(PHY_LED_INACTIVE_HIGH_IMPEDANCE, &modes);
> +
> + err = phydev->drv->led_polarity_set(phydev, index, modes);
> + if (err)
> + return err;
> + }
I think we should return an error if asked to set the mode, but its
not implemented by the driver. Something like:
if (of_property_read_bool(led, "active-low"))
set_bit(PHY_LED_ACTIVE_LOW, &modes);
if (of_property_read_bool(led, "inactive-high-impedance"))
set_bit(PHY_LED_INACTIVE_HIGH_IMPEDANCE, &modes);
if (mode)
if (phydev->drv->led_polarity_set) {
return -EINVAL;
} else {
err = phydev->drv->led_polarity_set(phydev, index, modes);
if (err)
return err;
}
}
> + /**
> + * @led_polarity_set: Set the LED polarity if active low
The 'if active low' is not ouw of date, since it is used for more than
that.
> + * @dev: PHY device which has the LED
> + * @index: Which LED of the PHY device or -1
> + * @modes: bitmap of LED polarity modes
> + *
> + * Configure LED with all the required polarity modes in @modes
> + * to make it correctly turn ON or OFF.
index == -1 should be explained.
> + *
> + * Returns 0, or an error code.
> + */
> + int (*led_polarity_set)(struct phy_device *dev, int index,
> + unsigned long modes);
Andrew
---
pw-bot: cr
Powered by blists - more mailing lists