[PATCH 00/14] cpufreq: cpu0: Extend support beyond CPU0, V2

From: Viresh Kumar
Date: Tue Jul 01 2014 - 12:33:29 EST


V1: https://lkml.org/lkml/2014/6/25/152

Stephen Boyd sent few patches some time back around a new cpufreq driver for
Qualcomm's Krait SoC: https://lkml.org/lkml/2014/6/24/918.

Krait couldn't use existing cpufreq-cpu0 driver as it doesn't have support for
SoC's with multiple clusters or SoC's which don't share clock line across all
CPUs.

This patchset is all about extending support beyond CPU0. It can be used for
platforms like Krait or ARM big LITTLE architecture now.

First two patches add helper routine for of and clk layer, which would be used
by later patches.

Third one adds space for driver specific data in 'struct cpufreq_policy' and
later ones migrate cpufreq-cpu0 to cpufreq-generic, i.e. can be used for SoCs
which don't share clock lines across all CPUs.

@Stephen: I haven't added your Tested-by as there were few modifications since
the time you tested it last.

Pushed here:
Rebased over v3.16-rc3:
git://git.linaro.org/people/viresh.kumar/linux.git cpufreq/cpu0-krait-v2

For guys looking to test on exynos, rebased over linux-next + some patches from
Thomas Abraham to use cpufreq-cpu0 for exynos:
git://git.linaro.org/people/viresh.kumar/linux.git cpufreq/cpu0-exynos-v2

Cc: devicetree@xxxxxxxxxxxxxxx
Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
Cc: Michal Simek <michal.simek@xxxxxxxxxx>
Cc: Mike Turquette <mturquette@xxxxxxxxxx>
Cc: Rob Herring <rob.herring@xxxxxxxxxx>
Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
Cc: Simon Horman <horms@xxxxxxxxxxxx>

Viresh Kumar (14):
of: Create of_property_match()
clk: Create of_clk_shared_by_cpus()
cpufreq: Add support for per-policy driver data
cpufreq: cpu0: Add Module Author
cpufreq: cpu0: don't validate clock on clk_put()
cpufreq: cpu0: defer probe if clock isn't registered yet
cpufreq: cpu0: OPPs can be populated at runtime
cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug}
cpufreq: cpu0: Move per-cluster initialization code to ->init()
cpufreq: cpu0: try regulators with name "cpu-supply"
cpufreq: cpu0: Make allocate_resources() work for any CPU
cpufreq: cpu0: Extend support beyond CPU0
cpufreq: cpu0: rename driver and internals to 'cpufreq_generic'
cpufreq: generic: set platform_{driver|device} '.name' to
'cpufreq-generic'

.../devicetree/bindings/cpufreq/cpufreq-cpu0.txt | 62 ----
.../bindings/cpufreq/cpufreq-generic.txt | 126 +++++++
arch/arm/mach-imx/imx27-dt.c | 2 +-
arch/arm/mach-imx/imx51-dt.c | 2 +-
arch/arm/mach-omap2/pm.c | 2 +-
arch/arm/mach-shmobile/board-ape6evm-reference.c | 2 +-
arch/arm/mach-shmobile/setup-sh73a0.c | 4 +-
arch/arm/mach-zynq/common.c | 2 +-
drivers/clk/clk.c | 56 +++
drivers/cpufreq/Kconfig | 10 +-
drivers/cpufreq/Kconfig.arm | 2 +-
drivers/cpufreq/Makefile | 2 +-
drivers/cpufreq/cpufreq-cpu0.c | 251 -------------
drivers/cpufreq/cpufreq-generic.c | 394 +++++++++++++++++++++
drivers/cpufreq/exynos4x12-cpufreq.c | 2 +-
drivers/cpufreq/highbank-cpufreq.c | 6 +-
drivers/of/base.c | 29 ++
include/linux/clk.h | 6 +
include/linux/cpufreq.h | 3 +
include/linux/of.h | 10 +
20 files changed, 642 insertions(+), 331 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
create mode 100644 Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
delete mode 100644 drivers/cpufreq/cpufreq-cpu0.c
create mode 100644 drivers/cpufreq/cpufreq-generic.c

--
2.0.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/