OpenWrt – Diff between revs 2 and 3

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
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