123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- From 4fd1b6d47a7a38e81fdc6f8be2ccd4216b3f93db Mon Sep 17 00:00:00 2001
- From: Christian Marangi <[email protected]>
- Date: Mon, 29 May 2023 18:32:35 +0200
- Subject: [PATCH 05/13] leds: trigger: netdev: introduce check for possible hw
- control
- Introduce function to check if the requested mode can use hw control in
- preparation for hw control support. Currently everything is handled in
- software so can_hw_control will always return false.
- Add knob with the new value hw_control in trigger_data struct to
- set hw control possible. Useful for future implementation to implement
- in set_baseline_state() the required function to set the requested mode
- using LEDs hw control ops and in other function to reject set if hw
- control is currently active.
- Signed-off-by: Christian Marangi <[email protected]>
- Reviewed-by: Andrew Lunn <[email protected]>
- Signed-off-by: David S. Miller <[email protected]>
- ---
- drivers/leds/trigger/ledtrig-netdev.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
- --- a/drivers/leds/trigger/ledtrig-netdev.c
- +++ b/drivers/leds/trigger/ledtrig-netdev.c
- @@ -51,6 +51,7 @@ struct led_netdev_data {
-
- unsigned long mode;
- bool carrier_link_up;
- + bool hw_control;
- };
-
- enum led_trigger_netdev_modes {
- @@ -91,6 +92,11 @@ static void set_baseline_state(struct le
- }
- }
-
- +static bool can_hw_control(struct led_netdev_data *trigger_data)
- +{
- + return false;
- +}
- +
- static ssize_t device_name_show(struct device *dev,
- struct device_attribute *attr, char *buf)
- {
- @@ -204,6 +210,8 @@ static ssize_t netdev_led_attr_store(str
- else
- clear_bit(bit, &trigger_data->mode);
-
- + trigger_data->hw_control = can_hw_control(trigger_data);
- +
- set_baseline_state(trigger_data);
-
- return size;
|