linux-stable/drivers/devfreq
Brian Norris fb089b6f21 PM / devfreq: rk3399_dmc: Disable edev on remove()
[ Upstream commit 2fccf9e605 ]

Otherwise we hit an unablanced enable-count when unbinding the DFI
device:

[ 1279.659119] ------------[ cut here ]------------
[ 1279.659179] WARNING: CPU: 2 PID: 5638 at drivers/devfreq/devfreq-event.c:360 devfreq_event_remove_edev+0x84/0x8c
...
[ 1279.659352] Hardware name: Google Kevin (DT)
[ 1279.659363] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO BTYPE=--)
[ 1279.659371] pc : devfreq_event_remove_edev+0x84/0x8c
[ 1279.659380] lr : devm_devfreq_event_release+0x1c/0x28
...
[ 1279.659571] Call trace:
[ 1279.659582]  devfreq_event_remove_edev+0x84/0x8c
[ 1279.659590]  devm_devfreq_event_release+0x1c/0x28
[ 1279.659602]  release_nodes+0x1cc/0x244
[ 1279.659611]  devres_release_all+0x44/0x60
[ 1279.659621]  device_release_driver_internal+0x11c/0x1ac
[ 1279.659629]  device_driver_detach+0x20/0x2c
[ 1279.659641]  unbind_store+0x7c/0xb0
[ 1279.659650]  drv_attr_store+0x2c/0x40
[ 1279.659663]  sysfs_kf_write+0x44/0x58
[ 1279.659672]  kernfs_fop_write_iter+0xf4/0x190
[ 1279.659684]  vfs_write+0x2b0/0x2e4
[ 1279.659693]  ksys_write+0x80/0xec
[ 1279.659701]  __arm64_sys_write+0x24/0x30
[ 1279.659714]  el0_svc_common+0xf0/0x1d8
[ 1279.659724]  do_el0_svc_compat+0x28/0x3c
[ 1279.659738]  el0_svc_compat+0x10/0x1c
[ 1279.659746]  el0_sync_compat_handler+0xa8/0xcc
[ 1279.659758]  el0_sync_compat+0x188/0x1c0
[ 1279.659768] ---[ end trace cec200e5094155b4 ]---

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-09 10:25:32 +02:00
..
event devfreq: exynos-ppmu: simplify parsing event-type from DT 2021-10-27 14:22:12 +09:00
Kconfig PM / devfreq: sun8i: addd COMMON_CLK dependency 2021-12-16 11:19:34 +09:00
Makefile PM / devfreq: Add a driver for the sun8i/sun50i MBUS 2021-12-10 15:56:07 +09:00
devfreq-event.c PM / devfreq: event: Change prototype of devfreq_event_get_edev_by_phandle function 2020-09-29 17:50:10 +09:00
devfreq.c PM / devfreq: Reduce log severity for informative message 2021-12-16 11:29:54 +09:00
exynos-bus.c Merge branches 'pm-devfreq' and 'pm-tools' 2020-12-15 15:27:16 +01:00
governor.h PM / devfreq: Add devm_devfreq_add_governor() 2021-10-05 09:54:38 +05:30
governor_passive.c PM / devfreq: passive: Fix get_target_freq when not using required-opp 2021-06-24 10:37:35 +09:00
governor_performance.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
governor_powersave.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
governor_simpleondemand.c PM / devfreq: Add governor attribute flag for specifc sysfs nodes 2020-10-26 11:46:54 +09:00
governor_userspace.c PM / devfreq: userspace: Use DEVICE_ATTR_RW macro 2021-06-17 17:08:46 +09:00
imx-bus.c PM / devfreq: imx-bus: Remove imx_bus_get_dev_status 2021-05-21 13:16:10 +09:00
imx8m-ddrc.c PM / devfreq: imx8m-ddrc: Remove unneeded of_match_ptr() 2021-04-08 13:14:51 +09:00
rk3399_dmc.c PM / devfreq: rk3399_dmc: Disable edev on remove() 2022-06-09 10:25:32 +02:00
sun8i-a33-mbus.c PM / devfreq: Add a driver for the sun8i/sun50i MBUS 2021-12-10 15:56:07 +09:00
tegra30-devfreq.c PM / devfreq: tegra30: Check whether clk_round_rate() returns zero rate 2021-10-05 09:54:39 +05:30