mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
generic: fix swconfig_leds.c in 5.18
This commit is contained in:
parent
340fe78011
commit
ebfa1b93b7
@ -85,7 +85,11 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
|
|||||||
sw_trig = (void *) trigger;
|
sw_trig = (void *) trigger;
|
||||||
|
|
||||||
port_mask = 0;
|
port_mask = 0;
|
||||||
|
#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 15, 0)
|
||||||
|
spin_lock(&trigger->leddev_list_lock);
|
||||||
|
#else
|
||||||
read_lock(&trigger->leddev_list_lock);
|
read_lock(&trigger->leddev_list_lock);
|
||||||
|
#endif
|
||||||
list_for_each(entry, &trigger->led_cdevs) {
|
list_for_each(entry, &trigger->led_cdevs) {
|
||||||
struct led_classdev *led_cdev;
|
struct led_classdev *led_cdev;
|
||||||
struct swconfig_trig_data *trig_data;
|
struct swconfig_trig_data *trig_data;
|
||||||
@ -98,8 +102,11 @@ swconfig_trig_update_port_mask(struct led_trigger *trigger)
|
|||||||
read_unlock(&trig_data->lock);
|
read_unlock(&trig_data->lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 15, 0)
|
||||||
|
spin_unlock(&trigger->leddev_list_lock);
|
||||||
|
#else
|
||||||
read_unlock(&trigger->leddev_list_lock);
|
read_unlock(&trigger->leddev_list_lock);
|
||||||
|
#endif
|
||||||
sw_trig->port_mask = port_mask;
|
sw_trig->port_mask = port_mask;
|
||||||
|
|
||||||
if (port_mask)
|
if (port_mask)
|
||||||
@ -418,14 +425,22 @@ swconfig_trig_update_leds(struct switch_led_trigger *sw_trig)
|
|||||||
struct led_trigger *trigger;
|
struct led_trigger *trigger;
|
||||||
|
|
||||||
trigger = &sw_trig->trig;
|
trigger = &sw_trig->trig;
|
||||||
|
#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 15, 0)
|
||||||
|
spin_lock(&trigger->leddev_list_lock);
|
||||||
|
#else
|
||||||
read_lock(&trigger->leddev_list_lock);
|
read_lock(&trigger->leddev_list_lock);
|
||||||
|
#endif
|
||||||
list_for_each(entry, &trigger->led_cdevs) {
|
list_for_each(entry, &trigger->led_cdevs) {
|
||||||
struct led_classdev *led_cdev;
|
struct led_classdev *led_cdev;
|
||||||
|
|
||||||
led_cdev = list_entry(entry, struct led_classdev, trig_list);
|
led_cdev = list_entry(entry, struct led_classdev, trig_list);
|
||||||
swconfig_trig_led_event(sw_trig, led_cdev);
|
swconfig_trig_led_event(sw_trig, led_cdev);
|
||||||
}
|
}
|
||||||
|
#if LINUX_VERSION_CODE > KERNEL_VERSION(5, 15, 0)
|
||||||
|
spin_unlock(&trigger->leddev_list_lock);
|
||||||
|
#else
|
||||||
read_unlock(&trigger->leddev_list_lock);
|
read_unlock(&trigger->leddev_list_lock);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user