linux/drivers/devfreq
Nishanth Menon 8fa938acb3 PM / devfreq: exynos4_bus: honor RCU lock usage
OPP pointers cannot be expected to be valid beyond the boundary
of rcu_read_lock and rcu_read_unlock. Unfortunately, the current
exynos4 busfreq driver does not honor the usage constraint and stores
the OPP pointer in struct busfreq_data. This could potentially
become invalid later such as: across devfreq opp change decisions,
resulting in unpredictable behavior.

To fix this, we introduce a busfreq specific busfreq_opp_info
structure which is used to handle OPP information. OPP information
is de-referenced to voltage and frequency pairs as needed into
busfreq_opp_info structure and used as needed.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:40 +01:00
..
Kconfig PM / devfreq: governors: add GPL module license and allow module build 2012-11-20 18:46:23 +09:00
Makefile PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412. 2011-12-20 14:08:08 +09:00
devfreq.c PM / devfreq: add locking documentation for recommended_opp 2013-01-22 13:28:39 +01:00
exynos4_bus.c PM / devfreq: exynos4_bus: honor RCU lock usage 2013-01-22 13:28:40 +01:00
governor.h PM / devfreq: provide hooks for governors to be registered 2012-11-20 18:46:12 +09:00
governor_performance.c PM / devfreq: governors: add GPL module license and allow module build 2012-11-20 18:46:23 +09:00
governor_powersave.c PM / devfreq: governors: add GPL module license and allow module build 2012-11-20 18:46:23 +09:00
governor_simpleondemand.c PM / devfreq: governors: add GPL module license and allow module build 2012-11-20 18:46:23 +09:00
governor_userspace.c PM / devfreq: governors: add GPL module license and allow module build 2012-11-20 18:46:23 +09:00