Re: [PATCH v2] cpufreq: rockchip: add driver
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2016-03-23 04:40:44
Also in:
linux-arm-kernel, linux-rockchip, lkml
On 23-03-16, 10:18, Feng Xiao wrote:
quoted hunk ↗ jump to hunk
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 14b1f93..1786315 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm@@ -97,6 +97,16 @@ config ARM_OMAP2PLUS_CPUFREQ depends on ARCH_OMAP2PLUS default ARCH_OMAP2PLUS +config ARM_ROCKCHIP_CPUFREQ + tristate "Rockchip CPUfreq driver"
Since you are allowing it to be built as a module ...
+ depends on ARCH_ROCKCHIP && CPUFREQ_DT + select PM_OPP + help + This adds the CPUFreq driver support for Rockchip SoCs. + The driver will directly use cpufreq-dt driver as backend. + + If in doubt, say N.
quoted hunk ↗ jump to hunk
+++ b/drivers/cpufreq/rockchip-cpufreq.c +static int __init rockchip_cpufreq_driver_init(void) +{ + struct platform_device *pdev; + int i; + + for (i = 0; i < ARRAY_SIZE(rockchip_compat); i++) { + if (of_machine_is_compatible(rockchip_compat[i])) { + pdev = platform_device_register_simple("cpufreq-dt", + -1, NULL, 0); + return PTR_ERR_OR_ZERO(pdev); + } + } + + return -ENODEV; +} +module_init(rockchip_cpufreq_driver_init);
You need a module exit as well to remove the device. Otherwise following sequence will give you errors: insmod rockchip-cpufreq.ko rmmod rockchip-cpufreq.ko insmod rockchip-cpufreq.ko //Errors on this.. So, either don't allow it to be built as a module or fix the module-exit path. -- viresh