linux-stable/drivers/input/misc
Dmitry Torokhov f3efefb6fd Input: yealink - simplify locking in sysfs attribute handling
The locking rules in the driver came from era when sysfs attributes
could live past the point of time when device would be unbound from
the driver, and so used module-global semaphore (potentially shared
between multiple yealink devices). Thankfully these times are long
gone and attributes will not be accessible once they are removed.

Simplify the logic by moving to per-device mutex, stop checking if
there is driver data instance attached to the interface, and use
guard notation to acquire the mutex.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20240710234855.311366-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2024-07-12 17:15:45 -07:00
..
88pm80x_onkey.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
88pm860x_onkey.c Input: 88pm860x - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:20 -08:00
ab8500-ponkey.c Input: ab8500-ponkey - fix incorrect name in 'ab8500_ponkey' doc header 2020-11-08 22:27:54 -08:00
ad714x-i2c.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
ad714x-spi.c Input: ad714x - unify dev_pm_ops using EXPORT_SIMPLE_DEV_PM_OPS() 2023-01-27 14:49:52 -08:00
ad714x.c Input: ad714x - unify dev_pm_ops using EXPORT_SIMPLE_DEV_PM_OPS() 2023-01-27 14:49:52 -08:00
ad714x.h Input: ad714x - unify dev_pm_ops using EXPORT_SIMPLE_DEV_PM_OPS() 2023-01-27 14:49:52 -08:00
adxl34x-i2c.c Input: adxl34x - switch to using managed resources 2024-06-11 11:17:44 -07:00
adxl34x-spi.c Input: adxl34x - switch to using managed resources 2024-06-11 11:17:44 -07:00
adxl34x.c Input: adxl34x - switch to using "guard" notation 2024-06-11 11:17:52 -07:00
adxl34x.h Input: adxl34x - switch to using managed resources 2024-06-11 11:17:44 -07:00
apanel.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
ariel-pwrbutton.c Input: ariel-pwrbutton - add SPI device ID table 2021-10-01 21:24:14 -07:00
arizona-haptics.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
atc260x-onkey.c input: atc260x: Add onkey driver for ATC260x PMICs 2021-03-10 11:10:30 +00:00
ati_remote2.c Input: ati-remote2 - use driver core to instantiate device attributes 2024-07-12 17:15:38 -07:00
atlas_btns.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
atmel_captouch.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
axp20x-pek.c Input: axp20x-pek - avoid needless newline removal 2023-09-30 09:35:31 -07:00
bma150.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
cm109.c Input: remove third argument of usb_maxpacket() 2022-04-23 10:33:53 +02:00
cma3000_d0x_i2c.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
cma3000_d0x.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
cma3000_d0x.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
cobalt_btns.c Input: cobalt_btns - switch to using polled mode of input devices 2019-10-29 17:14:17 -07:00
cpcap-pwrbutton.c Input: cpcap-pwrbutton - replace GPLv2 boilerplate with SPDX 2023-07-05 14:50:00 -07:00
da7280.c Linux 6.9 2024-05-27 21:37:18 -07:00
da9052_onkey.c Input: da9052_onkey - convert to platform remove callback returning void 2023-09-23 19:16:42 -07:00
da9055_onkey.c Input: da9055_onkey - convert to platform remove callback returning void 2023-09-23 19:16:42 -07:00
da9063_onkey.c Input: da9063_onkey - avoid explicitly setting input's parent 2024-01-04 12:02:20 -08:00
drv260x.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
drv2665.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
drv2667.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
e3x0-button.c Input: e3x0-button - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:21 -08:00
gpio_decoder.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
gpio-beeper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
gpio-vibra.c Input: Explicitly include correct DT includes 2023-07-17 10:03:07 -07:00
hisi_powerkey.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
hp_sdc_rtc.c Input: hp_sdc_rtc - mark an unused function as __maybe_unused 2023-02-21 13:57:40 -08:00
ibm-panel.c Input: Switch i2c drivers back to use .probe() 2023-05-17 09:59:11 -07:00
ideapad_slidebar.c Input: ideapad_slidebar - convert to platform remove callback returning void 2023-09-23 19:16:42 -07:00
ims-pcu.c Input: ims-pcu - switch to using cleanup functions 2024-06-20 14:57:08 -07:00
iqs269a.c Input: iqs269a - add support for OTP variants 2024-01-01 13:24:03 -08:00
iqs626a.c Input: Explicitly include correct DT includes 2023-07-17 10:03:07 -07:00
iqs7222.c Input: iqs7222 - add support for IQS7222D v1.1 and v1.2 2024-03-07 10:10:50 -08:00
Kconfig Linux 6.5 2023-09-05 14:08:14 -07:00
keyspan_remote.c Input: move from strlcpy with unused retval to strscpy 2022-08-18 15:44:08 -07:00
kxtj9.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
m68kspkr.c Input: m68kspkr - convert to platform remove callback returning void 2023-09-23 19:16:43 -07:00
Makefile Input: bbnsm_pwrkey - add bbnsm power key support 2023-02-21 13:56:35 -08:00
max8925_onkey.c Input: max8925_onkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:21 -08:00
max8997_haptic.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
max77650-onkey.c Input: max77650-onkey - add of_match table 2020-01-16 20:23:24 -08:00
max77693-haptic.c Input: max77693-haptic - add device-tree compatible strings 2023-12-12 21:42:36 -08:00
mc13783-pwrbutton.c Input: mc13783-pwrbutton - convert to platform remove callback returning void 2023-09-23 19:16:43 -07:00
mma8450.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
nxp-bbnsm-pwrkey.c Input: bbnsm_pwrkey - add bbnsm power key support 2023-02-21 13:56:35 -08:00
palmas-pwrbutton.c Input: palmas-pwrbutton - convert to platform remove callback returning void 2023-09-23 19:16:43 -07:00
pcap_keys.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
pcf8574_keypad.c Input: drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-13 15:43:19 -07:00
pcf50633-input.c Input: pcf50633-input - convert to platform remove callback returning void 2023-09-23 19:16:43 -07:00
pcspkr.c Input: pcspkr - convert to platform remove callback returning void 2023-09-23 19:16:44 -07:00
pm8xxx-vibrator.c input: pm8xxx-vibrator: add new SPMI vibrator support 2024-04-17 15:27:12 -07:00
pm8941-pwrkey.c Input: pm8941-pwrkey - convert to platform remove callback returning void 2023-09-23 19:16:44 -07:00
pmic8xxx-pwrkey.c Input: Explicitly include correct DT includes 2023-07-17 10:03:07 -07:00
powermate.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
pwm-beeper.c pwm: Rename pwm_apply_state() to pwm_apply_might_sleep() 2023-12-20 16:07:04 +01:00
pwm-vibra.c pwm: Rename pwm_apply_state() to pwm_apply_might_sleep() 2023-12-20 16:07:04 +01:00
rave-sp-pwrbutton.c Input: add RAVE SP Powerbutton driver 2018-03-08 15:34:45 -08:00
rb532_button.c Input: rb532_button - switch to using polled mode of input devices 2019-10-29 17:15:46 -07:00
regulator-haptic.c Input: regulator-haptic - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:22 -08:00
retu-pwrbutton.c Input: misc - drop empty remove functions 2017-01-21 23:53:34 -08:00
rk805-pwrkey.c Input: rk805-pwrkey - fix module autoloading 2022-08-22 16:59:49 -07:00
rotary_encoder.c Input: rotary_encoder - don't double assign input->dev.parent 2023-07-12 14:10:32 -07:00
rt5120-pwrkey.c Input: rt5120 - add power key support 2022-08-31 15:48:49 -07:00
sc27xx-vibra.c Input: sc27xx - add support for sc2730 and sc2721 2020-12-11 19:00:21 -08:00
sgi_btns.c Input: add missing MODULE_DESCRIPTION() macros 2024-06-09 14:38:48 -07:00
soc_button_array.c Input: add missing MODULE_DESCRIPTION() macros 2024-06-09 14:38:48 -07:00
sparcspkr.c Input: sparcspkr - convert to platform remove callback returning void 2023-09-23 19:16:44 -07:00
stpmic1_onkey.c Input: stpmic1_onekey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:23 -08:00
tps65218-pwrbutton.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
tps65219-pwrbutton.c Input: tps65219-pwrbutton - use regmap_set_bits() 2023-06-06 11:11:58 -07:00
twl4030-pwrbutton.c Input: twl4030-pwrbutton - fix kernel-doc warning 2024-07-11 09:57:58 -07:00
twl4030-vibra.c Input: twl4030-vibra - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:23 -08:00
twl6040-vibra.c Input: twl6030-vibra - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:23 -08:00
uinput.c Input: misc - use sizeof(*pointer) instead of sizeof(type) 2024-06-02 21:32:01 -07:00
wistron_btns.c Input: wistron_btns - convert to platform remove callback returning void 2023-09-23 19:16:44 -07:00
wm831x-on.c Input: wm831x-on - convert to platform remove callback returning void 2023-09-23 19:16:44 -07:00
xen-kbdfront.c xen: make remove callback of xen driver void returned 2022-12-15 16:06:10 +01:00
yealink.c Input: yealink - simplify locking in sysfs attribute handling 2024-07-12 17:15:45 -07:00
yealink.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00