diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2018-07-02 16:05:21 -0400 |
---|---|---|
committer | Jacek Anaszewski <jacek.anaszewski@gmail.com> | 2018-07-05 17:21:10 -0400 |
commit | 2282e125a406e09331c5a785e3df29035c99a607 (patch) | |
tree | b5936ee2bde7c85bf71aaff259026857b2bda6d9 /drivers/leds/trigger/ledtrig-timer.c | |
parent | 033692eb3ec8305f6e9998b297aaec6899680637 (diff) |
leds: triggers: let struct led_trigger::activate() return an error code
Given that activating a trigger can fail, let the callback return an
indication. This prevents to have a trigger active according to the
"trigger" sysfs attribute but not functional.
All users are changed accordingly to return 0 for now. There is no intended
change in behaviour.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Diffstat (limited to 'drivers/leds/trigger/ledtrig-timer.c')
-rw-r--r-- | drivers/leds/trigger/ledtrig-timer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/leds/trigger/ledtrig-timer.c b/drivers/leds/trigger/ledtrig-timer.c index 10fc0966b0e3..527055d815ad 100644 --- a/drivers/leds/trigger/ledtrig-timer.c +++ b/drivers/leds/trigger/ledtrig-timer.c | |||
@@ -70,7 +70,7 @@ static ssize_t led_delay_off_store(struct device *dev, | |||
70 | static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store); | 70 | static DEVICE_ATTR(delay_on, 0644, led_delay_on_show, led_delay_on_store); |
71 | static DEVICE_ATTR(delay_off, 0644, led_delay_off_show, led_delay_off_store); | 71 | static DEVICE_ATTR(delay_off, 0644, led_delay_off_show, led_delay_off_store); |
72 | 72 | ||
73 | static void timer_trig_activate(struct led_classdev *led_cdev) | 73 | static int timer_trig_activate(struct led_classdev *led_cdev) |
74 | { | 74 | { |
75 | int rc; | 75 | int rc; |
76 | 76 | ||
@@ -78,7 +78,7 @@ static void timer_trig_activate(struct led_classdev *led_cdev) | |||
78 | 78 | ||
79 | rc = device_create_file(led_cdev->dev, &dev_attr_delay_on); | 79 | rc = device_create_file(led_cdev->dev, &dev_attr_delay_on); |
80 | if (rc) | 80 | if (rc) |
81 | return; | 81 | return 0; |
82 | rc = device_create_file(led_cdev->dev, &dev_attr_delay_off); | 82 | rc = device_create_file(led_cdev->dev, &dev_attr_delay_off); |
83 | if (rc) | 83 | if (rc) |
84 | goto err_out_delayon; | 84 | goto err_out_delayon; |
@@ -87,10 +87,12 @@ static void timer_trig_activate(struct led_classdev *led_cdev) | |||
87 | &led_cdev->blink_delay_off); | 87 | &led_cdev->blink_delay_off); |
88 | led_cdev->activated = true; | 88 | led_cdev->activated = true; |
89 | 89 | ||
90 | return; | 90 | return 0; |
91 | 91 | ||
92 | err_out_delayon: | 92 | err_out_delayon: |
93 | device_remove_file(led_cdev->dev, &dev_attr_delay_on); | 93 | device_remove_file(led_cdev->dev, &dev_attr_delay_on); |
94 | |||
95 | return 0; | ||
94 | } | 96 | } |
95 | 97 | ||
96 | static void timer_trig_deactivate(struct led_classdev *led_cdev) | 98 | static void timer_trig_deactivate(struct led_classdev *led_cdev) |