leds: trigger: netdev: Use mutex instead of spinlocks
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 19 Apr 2023 21:07:43 +0000 (23:07 +0200)
committerLee Jones <lee@kernel.org>
Thu, 25 May 2023 11:07:38 +0000 (12:07 +0100)
commitd1b9e1391ab2dc80e9db87fe8b2de015c651e4c9
tree6f0f27e44d07d535bdfbeeeb2975c459aab8ffa4
parent164b67d53476a9d114be85c885bd31f783835be4
leds: trigger: netdev: Use mutex instead of spinlocks

Some LEDs may require to sleep while doing some operation like setting
brightness and other cleanup.

For this reason, using a spinlock will cause a sleep under spinlock
warning.

It should be safe to convert this to a sleepable lock since:
- sysfs read/write can sleep
- netdev_trig_work is a work queue and can sleep
- netdev _trig_notify can sleep

The spinlock was used when brightness didn't support sleeping, but this
changed and now it supported with brightness_set_blocking().

Convert to mutex lock to permit sleeping using brightness_set_blocking().

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230419210743.3594-6-ansuelsmth@gmail.com
drivers/leds/trigger/ledtrig-netdev.c