linux/drivers/base/power
Nishanth Menon 0f5c890e9b PM / OPP: Remove cpufreq wrapper dependency on internal data organization
CPUFREQ custom functions for OPP (Operating Performance Points)
currently exist inside the OPP library. These custom functions currently
depend on internal data structures to pick up OPP information to create
the cpufreq table.  For example, the cpufreq table is created precisely
in the same order of how OPP entries are stored inside the list implementation.

This kind of tight interdependency is purely artificial since the same
functionality can be achieved using the generic OPP functions
meant to do the same. This interdependency also limits the independent
modification of cpufreq and OPP library.

So use the generic dev_pm_opp_find_freq_ceil function that achieves the
table organization as we currently use.

As a result of this, we dont need to use the internal device_opp
structure anymore, and we hence we can switch over to rcu lock instead
of the mutex holding the internal list lock.

This breaking of dependency on internal data structure imposes no change
to usage of these.

NOTE: This change is a precursor to moving this cpufreq specific logic
out of the generic library into cpufreq.

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-05-07 00:35:51 +02:00
..
clock_ops.c drivers/base: delete non-required instances of include <linux/init.h> 2014-02-14 14:31:37 -08:00
common.c drivers/base: delete non-required instances of include <linux/init.h> 2014-02-14 14:31:37 -08:00
domain_governor.c drivers/base: delete non-required instances of include <linux/init.h> 2014-02-14 14:31:37 -08:00
domain.c PM / domains: Add pd_ignore_unused to keep power domains enabled 2014-04-07 14:15:49 +02:00
generic_ops.c PM / Runtime: Spelling s/competing/completing/ 2014-03-26 16:33:53 +01:00
main.c Merge branch 'pm-cpufreq' 2014-03-20 13:26:12 +01:00
Makefile PM: Add pm_runtime_suspend|resume_force functions 2014-03-02 00:18:15 +01:00
opp.c PM / OPP: Remove cpufreq wrapper dependency on internal data organization 2014-05-07 00:35:51 +02:00
power.h PM / QoS: Rename device resume latency QoS items 2014-02-11 00:35:23 +01:00
qos.c PM / QoS: Add type to dev_pm_qos_add_ancestor_request() arguments 2014-02-11 00:36:00 +01:00
runtime.c Merge branches 'pm-runtime' and 'pm-sleep' 2014-03-20 13:25:54 +01:00
sysfs.c PM / QoS: Introcuce latency tolerance device PM QoS type 2014-02-11 00:35:38 +01:00
trace.c drivers/base: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required. 2011-10-31 19:31:38 -04:00
wakeup.c PM / Sleep: Print last wakeup source on failed wakeup_count write 2013-06-21 00:35:12 +02:00