.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * LED Flash class interface |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2015 Samsung Electronics Co., Ltd. |
---|
5 | 6 | * Author: Jacek Anaszewski <j.anaszewski@samsung.com> |
---|
6 | | - * |
---|
7 | | - * This program is free software; you can redistribute it and/or modify |
---|
8 | | - * it under the terms of the GNU General Public License version 2 as |
---|
9 | | - * published by the Free Software Foundation. |
---|
10 | | - * |
---|
11 | 7 | */ |
---|
12 | 8 | #ifndef __LINUX_FLASH_LEDS_H_INCLUDED |
---|
13 | 9 | #define __LINUX_FLASH_LEDS_H_INCLUDED |
---|
.. | .. |
---|
90 | 86 | } |
---|
91 | 87 | |
---|
92 | 88 | /** |
---|
93 | | - * led_classdev_flash_register - register a new object of led_classdev class |
---|
94 | | - * with support for flash LEDs |
---|
95 | | - * @parent: the flash LED to register |
---|
| 89 | + * led_classdev_flash_register_ext - register a new object of LED class with |
---|
| 90 | + * init data and with support for flash LEDs |
---|
| 91 | + * @parent: LED flash controller device this flash LED is driven by |
---|
96 | 92 | * @fled_cdev: the led_classdev_flash structure for this device |
---|
| 93 | + * @init_data: the LED class flash device initialization data |
---|
97 | 94 | * |
---|
98 | 95 | * Returns: 0 on success or negative error value on failure |
---|
99 | 96 | */ |
---|
100 | | -extern int led_classdev_flash_register(struct device *parent, |
---|
101 | | - struct led_classdev_flash *fled_cdev); |
---|
| 97 | +int led_classdev_flash_register_ext(struct device *parent, |
---|
| 98 | + struct led_classdev_flash *fled_cdev, |
---|
| 99 | + struct led_init_data *init_data); |
---|
| 100 | + |
---|
| 101 | +static inline int led_classdev_flash_register(struct device *parent, |
---|
| 102 | + struct led_classdev_flash *fled_cdev) |
---|
| 103 | +{ |
---|
| 104 | + return led_classdev_flash_register_ext(parent, fled_cdev, NULL); |
---|
| 105 | +} |
---|
102 | 106 | |
---|
103 | 107 | /** |
---|
104 | 108 | * led_classdev_flash_unregister - unregisters an object of led_classdev class |
---|
.. | .. |
---|
107 | 111 | * |
---|
108 | 112 | * Unregister a previously registered via led_classdev_flash_register object |
---|
109 | 113 | */ |
---|
110 | | -extern void led_classdev_flash_unregister(struct led_classdev_flash *fled_cdev); |
---|
| 114 | +void led_classdev_flash_unregister(struct led_classdev_flash *fled_cdev); |
---|
| 115 | + |
---|
| 116 | +int devm_led_classdev_flash_register_ext(struct device *parent, |
---|
| 117 | + struct led_classdev_flash *fled_cdev, |
---|
| 118 | + struct led_init_data *init_data); |
---|
| 119 | + |
---|
| 120 | + |
---|
| 121 | +static inline int devm_led_classdev_flash_register(struct device *parent, |
---|
| 122 | + struct led_classdev_flash *fled_cdev) |
---|
| 123 | +{ |
---|
| 124 | + return devm_led_classdev_flash_register_ext(parent, fled_cdev, NULL); |
---|
| 125 | +} |
---|
| 126 | + |
---|
| 127 | +void devm_led_classdev_flash_unregister(struct device *parent, |
---|
| 128 | + struct led_classdev_flash *fled_cdev); |
---|
111 | 129 | |
---|
112 | 130 | /** |
---|
113 | 131 | * led_set_flash_strobe - setup flash strobe |
---|
.. | .. |
---|
155 | 173 | * |
---|
156 | 174 | * Returns: 0 on success or negative error value on failure |
---|
157 | 175 | */ |
---|
158 | | -extern int led_set_flash_brightness(struct led_classdev_flash *fled_cdev, |
---|
159 | | - u32 brightness); |
---|
| 176 | +int led_set_flash_brightness(struct led_classdev_flash *fled_cdev, |
---|
| 177 | + u32 brightness); |
---|
160 | 178 | |
---|
161 | 179 | /** |
---|
162 | 180 | * led_update_flash_brightness - update flash LED brightness |
---|
.. | .. |
---|
167 | 185 | * |
---|
168 | 186 | * Returns: 0 on success or negative error value on failure |
---|
169 | 187 | */ |
---|
170 | | -extern int led_update_flash_brightness(struct led_classdev_flash *fled_cdev); |
---|
| 188 | +int led_update_flash_brightness(struct led_classdev_flash *fled_cdev); |
---|
171 | 189 | |
---|
172 | 190 | /** |
---|
173 | 191 | * led_set_flash_timeout - set flash LED timeout |
---|
.. | .. |
---|
178 | 196 | * |
---|
179 | 197 | * Returns: 0 on success or negative error value on failure |
---|
180 | 198 | */ |
---|
181 | | -extern int led_set_flash_timeout(struct led_classdev_flash *fled_cdev, |
---|
182 | | - u32 timeout); |
---|
| 199 | +int led_set_flash_timeout(struct led_classdev_flash *fled_cdev, u32 timeout); |
---|
183 | 200 | |
---|
184 | 201 | /** |
---|
185 | 202 | * led_get_flash_fault - get the flash LED fault |
---|
.. | .. |
---|
190 | 207 | * |
---|
191 | 208 | * Returns: 0 on success or negative error value on failure |
---|
192 | 209 | */ |
---|
193 | | -extern int led_get_flash_fault(struct led_classdev_flash *fled_cdev, |
---|
194 | | - u32 *fault); |
---|
| 210 | +int led_get_flash_fault(struct led_classdev_flash *fled_cdev, u32 *fault); |
---|
195 | 211 | |
---|
196 | 212 | #endif /* __LINUX_FLASH_LEDS_H_INCLUDED */ |
---|