OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 272... | Line 272... | |||
272 | |
272 | |
|
273 | /* mode special file */ |
273 | /* mode special file */ |
|
274 | static DEVICE_ATTR(mode, 0644, swconfig_trig_mode_show, |
274 | static DEVICE_ATTR(mode, 0644, swconfig_trig_mode_show, |
|
Line 275... | Line 275... | |||
275 | swconfig_trig_mode_store); |
275 | swconfig_trig_mode_store); |
|
276 | |
276 | |
|
277 | static int |
277 | static void |
|
278 | swconfig_trig_activate(struct led_classdev *led_cdev) |
278 | swconfig_trig_activate(struct led_classdev *led_cdev) |
|
279 | { |
279 | { |
|
280 | struct switch_led_trigger *sw_trig; |
280 | struct switch_led_trigger *sw_trig; |
|
Line -... | Line 281... | |||
- | 281 | struct swconfig_trig_data *trig_data; |
||
- | 282 | int err; |
||
- | 283 | |
||
281 | struct swconfig_trig_data *trig_data; |
284 | if (led_cdev->trigger->activate != swconfig_trig_activate) |
|
282 | int err; |
285 | return; |
|
283 | |
286 | |
|
Line 284... | Line 287... | |||
284 | trig_data = kzalloc(sizeof(struct swconfig_trig_data), GFP_KERNEL); |
287 | trig_data = kzalloc(sizeof(struct swconfig_trig_data), GFP_KERNEL); |
|
Line 285... | Line 288... | |||
285 | if (!trig_data) |
288 | if (!trig_data) |
|
286 | return -ENOMEM; |
289 | return; |
|
Line 304... | Line 307... | |||
304 | |
307 | |
|
305 | err = device_create_file(led_cdev->dev, &dev_attr_mode); |
308 | err = device_create_file(led_cdev->dev, &dev_attr_mode); |
|
306 | if (err) |
309 | if (err) |
|
Line 307... | Line 310... | |||
307 | goto err_mode_free; |
310 | goto err_mode_free; |
|
Line 308... | Line 311... | |||
308 | |
311 | |
|
309 | return 0; |
312 | return; |
|
Line 310... | Line 313... | |||
310 | |
313 | |
|
311 | err_mode_free: |
314 | err_mode_free: |
|
Line 312... | Line 315... | |||
312 | device_remove_file(led_cdev->dev, &dev_attr_speed_mask); |
315 | device_remove_file(led_cdev->dev, &dev_attr_speed_mask); |
|
313 | |
316 | |
|
314 | err_dev_free: |
317 | err_dev_free: |
|
315 | device_remove_file(led_cdev->dev, &dev_attr_port_mask); |
- | ||
316 | |
- | ||
317 | err_free: |
- | ||
318 | led_cdev->trigger_data = NULL; |
- | ||
319 | kfree(trig_data); |
- | ||
320 | |
- | ||
321 | return err; |
- | ||
322 | } |
- | ||
323 | |
- | ||
324 | #if LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) |
318 | device_remove_file(led_cdev->dev, &dev_attr_port_mask); |
|
325 | static void |
- | ||
Line 326... | Line 319... | |||
326 | swconfig_trig_activate_void(struct led_classdev *led_cdev) |
319 | |
|
327 | { |
320 | err_free: |
|
328 | swconfig_trig_activate(led_cdev); |
321 | led_cdev->trigger_data = NULL; |
|
329 | } |
322 | kfree(trig_data); |
|
Line 521... | Line 514... | |||
521 | if (!sw_trig) |
514 | if (!sw_trig) |
|
522 | return -ENOMEM; |
515 | return -ENOMEM; |
|
Line 523... | Line 516... | |||
523 | |
516 | |
|
524 | sw_trig->swdev = swdev; |
517 | sw_trig->swdev = swdev; |
|
525 | sw_trig->trig.name = swdev->devname; |
- | ||
526 | #if LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0) |
- | ||
527 | sw_trig->trig.activate = swconfig_trig_activate_void; |
- | ||
528 | #else |
518 | sw_trig->trig.name = swdev->devname; |
|
529 | sw_trig->trig.activate = swconfig_trig_activate; |
- | ||
530 | #endif |
519 | sw_trig->trig.activate = swconfig_trig_activate; |
|
Line 531... | Line 520... | |||
531 | sw_trig->trig.deactivate = swconfig_trig_deactivate; |
520 | sw_trig->trig.deactivate = swconfig_trig_deactivate; |
|
Line 532... | Line 521... | |||
532 | |
521 | |