leds-ns2.c (a4a469b4314e95818521daef82aa7f9071123245) leds-ns2.c (48b77cdca50a180fd1f22f4ae3b3d1e4ec7d2e5c)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * leds-ns2.c - Driver for the Network Space v2 (and parents) dual-GPIO LED
4 *
5 * Copyright (C) 2010 LaCie
6 *
7 * Author: Simon Guinot <sguinot@lacie.com>
8 *

--- 57 unchanged lines hidden (view full) ---

66 }
67
68 return -EINVAL;
69}
70
71static void ns2_led_set_mode(struct ns2_led *led, enum ns2_led_modes mode)
72{
73 int i;
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * leds-ns2.c - Driver for the Network Space v2 (and parents) dual-GPIO LED
4 *
5 * Copyright (C) 2010 LaCie
6 *
7 * Author: Simon Guinot <sguinot@lacie.com>
8 *

--- 57 unchanged lines hidden (view full) ---

66 }
67
68 return -EINVAL;
69}
70
71static void ns2_led_set_mode(struct ns2_led *led, enum ns2_led_modes mode)
72{
73 int i;
74 bool found = false;
75 unsigned long flags;
76
77 for (i = 0; i < led->num_modes; i++)
74 unsigned long flags;
75
76 for (i = 0; i < led->num_modes; i++)
78 if (mode == led->modval[i].mode) {
79 found = true;
77 if (mode == led->modval[i].mode)
80 break;
78 break;
81 }
82
79
83 if (!found)
80 if (i == led->num_modes)
84 return;
85
86 write_lock_irqsave(&led->rw_lock, flags);
87
88 if (!led->can_sleep) {
89 gpiod_set_value(led->cmd, led->modval[i].cmd_level);
90 gpiod_set_value(led->slow, led->modval[i].slow_level);
91 goto exit_unlock;

--- 203 unchanged lines hidden ---
81 return;
82
83 write_lock_irqsave(&led->rw_lock, flags);
84
85 if (!led->can_sleep) {
86 gpiod_set_value(led->cmd, led->modval[i].cmd_level);
87 gpiod_set_value(led->slow, led->modval[i].slow_level);
88 goto exit_unlock;

--- 203 unchanged lines hidden ---