leds: trigger: netdev: expose hw_control status via sysfs

Expose hw_control status via sysfs for the netdev trigger to give
userspace better understanding of the current state of the trigger and
the LED.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Acked-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Christian Marangi 2023-06-19 22:47:00 +02:00 committed by Jakub Kicinski
parent f22f95b9ff
commit b655892ffd

View File

@ -406,6 +406,16 @@ static ssize_t interval_store(struct device *dev,
static DEVICE_ATTR_RW(interval); static DEVICE_ATTR_RW(interval);
static ssize_t hw_control_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct led_netdev_data *trigger_data = led_trigger_get_drvdata(dev);
return sprintf(buf, "%d\n", trigger_data->hw_control);
}
static DEVICE_ATTR_RO(hw_control);
static struct attribute *netdev_trig_attrs[] = { static struct attribute *netdev_trig_attrs[] = {
&dev_attr_device_name.attr, &dev_attr_device_name.attr,
&dev_attr_link.attr, &dev_attr_link.attr,
@ -417,6 +427,7 @@ static struct attribute *netdev_trig_attrs[] = {
&dev_attr_rx.attr, &dev_attr_rx.attr,
&dev_attr_tx.attr, &dev_attr_tx.attr,
&dev_attr_interval.attr, &dev_attr_interval.attr,
&dev_attr_hw_control.attr,
NULL NULL
}; };
ATTRIBUTE_GROUPS(netdev_trig); ATTRIBUTE_GROUPS(netdev_trig);