@@ -85,7 +85,11 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
85
85
sw_trig = (void * ) trigger ;
86
86
87
87
port_mask = 0 ;
88
+ #if LINUX_VERSION_CODE > KERNEL_VERSION (5 , 15 , 0 )
89
+ spin_lock (& trigger -> leddev_list_lock );
90
+ #else
88
91
read_lock (& trigger -> leddev_list_lock );
92
+ #endif
89
93
list_for_each (entry , & trigger -> led_cdevs ) {
90
94
struct led_classdev * led_cdev ;
91
95
struct swconfig_trig_data * trig_data ;
@@ -98,8 +102,11 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
98
102
read_unlock (& trig_data -> lock );
99
103
}
100
104
}
105
+ #if LINUX_VERSION_CODE > KERNEL_VERSION (5 , 15 , 0 )
106
+ spin_unlock (& trigger -> leddev_list_lock );
107
+ #else
101
108
read_unlock (& trigger -> leddev_list_lock );
102
-
109
+ #endif
103
110
sw_trig -> port_mask = port_mask ;
104
111
105
112
if (port_mask )
@@ -418,14 +425,22 @@ swconfig_trig_update_leds(struct switch_led_trigger *sw_trig)
418
425
struct led_trigger * trigger ;
419
426
420
427
trigger = & sw_trig -> trig ;
428
+ #if LINUX_VERSION_CODE > KERNEL_VERSION (5 , 15 , 0 )
429
+ spin_lock (& trigger -> leddev_list_lock );
430
+ #else
421
431
read_lock (& trigger -> leddev_list_lock );
432
+ #endif
422
433
list_for_each (entry , & trigger -> led_cdevs ) {
423
434
struct led_classdev * led_cdev ;
424
435
425
436
led_cdev = list_entry (entry , struct led_classdev , trig_list );
426
437
swconfig_trig_led_event (sw_trig , led_cdev );
427
438
}
439
+ #if LINUX_VERSION_CODE > KERNEL_VERSION (5 , 15 , 0 )
440
+ spin_unlock (& trigger -> leddev_list_lock );
441
+ #else
428
442
read_unlock (& trigger -> leddev_list_lock );
443
+ #endif
429
444
}
430
445
431
446
static void
0 commit comments