hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/leds/leds-cr0014114.c
....@@ -8,7 +8,6 @@
88 #include <linux/of_device.h>
99 #include <linux/spi/spi.h>
1010 #include <linux/workqueue.h>
11
-#include <uapi/linux/uleds.h>
1211
1312 /*
1413 * CR0014114 SPI protocol descrtiption:
....@@ -40,8 +39,9 @@
4039 #define CR_FW_DELAY_MSEC 10
4140 #define CR_RECOUNT_DELAY (HZ * 3600)
4241
42
+#define CR_DEV_NAME "cr0014114"
43
+
4344 struct cr0014114_led {
44
- char name[LED_MAX_NAME_SIZE];
4545 struct cr0014114 *priv;
4646 struct led_classdev ldev;
4747 u8 brightness;
....@@ -167,8 +167,7 @@
167167 struct cr0014114_led,
168168 ldev);
169169
170
- dev_dbg(led->priv->dev, "Set brightness of %s to %d\n",
171
- led->name, brightness);
170
+ dev_dbg(led->priv->dev, "Set brightness to %d\n", brightness);
172171
173172 mutex_lock(&led->priv->lock);
174173 led->brightness = (u8)brightness;
....@@ -183,41 +182,28 @@
183182 size_t i = 0;
184183 struct cr0014114_led *led;
185184 struct fwnode_handle *child;
186
- struct device_node *np;
185
+ struct led_init_data init_data = {};
187186 int ret;
188
- const char *str;
189187
190188 device_for_each_child_node(priv->dev, child) {
191
- np = to_of_node(child);
192189 led = &priv->leds[i];
193190
194
- ret = fwnode_property_read_string(child, "label", &str);
195
- if (ret)
196
- snprintf(led->name, sizeof(led->name),
197
- "cr0014114::");
198
- else
199
- snprintf(led->name, sizeof(led->name),
200
- "cr0014114:%s", str);
201
-
202
- fwnode_property_read_string(child, "linux,default-trigger",
203
- &led->ldev.default_trigger);
204
-
205191 led->priv = priv;
206
- led->ldev.name = led->name;
207192 led->ldev.max_brightness = CR_MAX_BRIGHTNESS;
208193 led->ldev.brightness_set_blocking = cr0014114_set_sync;
209194
210
- ret = devm_of_led_classdev_register(priv->dev, np,
211
- &led->ldev);
195
+ init_data.fwnode = child;
196
+ init_data.devicename = CR_DEV_NAME;
197
+ init_data.default_label = ":";
198
+
199
+ ret = devm_led_classdev_register_ext(priv->dev, &led->ldev,
200
+ &init_data);
212201 if (ret) {
213202 dev_err(priv->dev,
214
- "failed to register LED device %s, err %d",
215
- led->name, ret);
203
+ "failed to register LED device, err %d", ret);
216204 fwnode_handle_put(child);
217205 return ret;
218206 }
219
-
220
- led->ldev.dev->of_node = np;
221207
222208 i++;
223209 }