Commit 4fd1b6d4 authored by Christian Marangi's avatar Christian Marangi Committed by David S. Miller

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: default avatarChristian Marangi <ansuelsmth@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 28a6a2ef
...@@ -51,6 +51,7 @@ struct led_netdev_data { ...@@ -51,6 +51,7 @@ struct led_netdev_data {
unsigned long mode; unsigned long mode;
bool carrier_link_up; bool carrier_link_up;
bool hw_control;
}; };
enum led_trigger_netdev_modes { enum led_trigger_netdev_modes {
...@@ -91,6 +92,11 @@ static void set_baseline_state(struct led_netdev_data *trigger_data) ...@@ -91,6 +92,11 @@ static void set_baseline_state(struct led_netdev_data *trigger_data)
} }
} }
static bool can_hw_control(struct led_netdev_data *trigger_data)
{
return false;
}
static ssize_t device_name_show(struct device *dev, static ssize_t device_name_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
...@@ -204,6 +210,8 @@ static ssize_t netdev_led_attr_store(struct device *dev, const char *buf, ...@@ -204,6 +210,8 @@ static ssize_t netdev_led_attr_store(struct device *dev, const char *buf,
else else
clear_bit(bit, &trigger_data->mode); clear_bit(bit, &trigger_data->mode);
trigger_data->hw_control = can_hw_control(trigger_data);
set_baseline_state(trigger_data); set_baseline_state(trigger_data);
return size; return size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment