Hi Rafael,
This is V3 of the stats cleanup I sent earlier. Few things are improved based on the feedback received (mostly from you). Please see if it looks any better.
Pushed here: git://git.linaro.org/people/viresh.kumar/linux.git cpufreq/stats/cleanups
V1->V2: - New patches: cpufreq: stats: remove unused cpufreq_stats_attribute cpufreq: stats: initialize 'cur_time' on its definition cpufreq: stats: rename 'struct cpufreq_stats' objects as 'stats' cpufreq: stats: drop unnecessary locking
- Patches dropped: cpufreq: stats: replace spinlock with mutex cpufreq: stats: Fix locking cpufreq: stats: call cpufreq_stats_update() with locks held
- Logs improved - don't return error values notifiers on missing policy/stats - rename stats_data as stats and make it cpufreq_stats pointer instead of void *
Viresh Kumar (16): cpufreq: stats: Improve module description string cpufreq: stats: return -EEXIST when stats are already allocated cpufreq: stats: remove unused cpufreq_stats_attribute cpufreq: stats: initialize 'cur_time' on its definition cpufreq: stats: don't check for freq table while freeing stats cpufreq: stats: pass 'stat' to cpufreq_stats_update() cpufreq: stats: get rid of per-cpu cpufreq_stats_table cpufreq: stats: rename 'struct cpufreq_stats' objects as 'stats' cpufreq: Remove (now) unused 'last_cpu' from struct cpufreq_policy cpufreq: stats: drop 'cpu' field of struct cpufreq_stats cpufreq: remove CPUFREQ_UPDATE_POLICY_CPU notifications cpufreq: stats: create sysfs group once we are ready cpufreq: stats: time_in_state can't be NULL in cpufreq_stats_update() cpufreq: stats: don't update stats from show_trans_table() cpufreq: stats: don't update stats on false notifiers cpufreq: stats: drop unnecessary locking
drivers/cpufreq/cpufreq.c | 6 -- drivers/cpufreq/cpufreq_stats.c | 211 ++++++++++++++++++---------------------- include/linux/cpufreq.h | 10 +- 3 files changed, 98 insertions(+), 129 deletions(-)