All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
@ 2016-03-30  8:15 Viresh Kumar
  2016-03-30  8:15 ` [PATCH V3 1/4] cpufreq: dt: Include types.h from cpufreq-dt.h Viresh Kumar
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	k.kozlowski, Viresh Kumar

Multiple platforms are using the generic cpufreq-dt driver now, and all
of them are required to create a platform device with name "cpufreq-dt",
in order to get the cpufreq-dt probed.

Many of them do it from platform code, others have special drivers just
to do that.

It would be more sensible to do this at a generic place, where all such
platform can mark their entries.

The first patch fixes an issue that came up with an earlier version of
patch 2/4, but its still worth fixing it.  The second one creates a new
driver to create platform-device based on current platform and the last
two converts exynos platform to use this common infrastructure.

I will migrate rest of the platforms after this is accepted as the right
way ahead.

V2->V3:
- 2/3 is very lightweight now and doesn't support cpufreq-dt
  platform-data and an extra depends_on from Kconfig is dropped as well.
- 3/3 is separated into two patches.

Viresh Kumar (4):
  cpufreq: dt: Include types.h from cpufreq-dt.h
  cpufreq: dt: Add generic platform-device creation support
  ARM: exynos: exynos-cpufreq platform device isn't supported anymore
  cpufreq: exynos: Use generic platdev driver

 arch/arm/mach-exynos/exynos.c        | 29 -------------------------
 drivers/cpufreq/Kconfig              | 10 +++++++++
 drivers/cpufreq/Makefile             |  1 +
 drivers/cpufreq/cpufreq-dt-platdev.c | 41 ++++++++++++++++++++++++++++++++++++
 include/linux/cpufreq-dt.h           |  2 ++
 5 files changed, 54 insertions(+), 29 deletions(-)
 create mode 100644 drivers/cpufreq/cpufreq-dt-platdev.c

-- 
2.7.1.410.g6faf27b


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH V3 1/4] cpufreq: dt: Include types.h from cpufreq-dt.h
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
@ 2016-03-30  8:15 ` Viresh Kumar
  2016-03-30  8:15 ` [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support Viresh Kumar
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	k.kozlowski, Viresh Kumar, linux-kernel

cpufreq-dt.h uses 'bool' data type but doesn't include types.h. It works
fine for now as the files that include cpufreq-dt.h, also include
types.h directly or indirectly.

But, when a file includes cpufreq-dt.h without including types.h, we get
a build error. Avoid such errors by including types.h in cpufreq-dt
itself.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 include/linux/cpufreq-dt.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/cpufreq-dt.h b/include/linux/cpufreq-dt.h
index 0414009e2c30..a87335a1660c 100644
--- a/include/linux/cpufreq-dt.h
+++ b/include/linux/cpufreq-dt.h
@@ -10,6 +10,8 @@
 #ifndef __CPUFREQ_DT_H__
 #define __CPUFREQ_DT_H__
 
+#include <linux/types.h>
+
 struct cpufreq_dt_platform_data {
 	/*
 	 * True when each CPU has its own clock to control its
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
  2016-03-30  8:15 ` [PATCH V3 1/4] cpufreq: dt: Include types.h from cpufreq-dt.h Viresh Kumar
@ 2016-03-30  8:15 ` Viresh Kumar
  2016-04-13 19:46   ` Matthew McClintock
  2016-03-30  8:15   ` Viresh Kumar
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann, Viresh Kumar
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	k.kozlowski, linux-kernel

Multiple platforms are using the generic cpufreq-dt driver now, and all
of them are required to create a platform device with name "cpufreq-dt",
in order to get the cpufreq-dt probed.

Many of them do it from platform code, others have special drivers just
to do that.

It would be more sensible to do this at a generic place, where all such
platform can mark their entries.

This patch adds a separate file to get this device created. Currently
the compat list of platforms that we support is empty, and will be
filled in as and when we move platforms to use it.

It always compiles as part of the kernel and so doesn't need a
module-exit operation.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/cpufreq/Kconfig              | 10 ++++++++++
 drivers/cpufreq/Makefile             |  1 +
 drivers/cpufreq/cpufreq-dt-platdev.c | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+)
 create mode 100644 drivers/cpufreq/cpufreq-dt-platdev.c

diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index a7f45853c103..8c26e3c53498 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -191,6 +191,7 @@ config CPUFREQ_DT
 	depends on HAVE_CLK && OF
 	# if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
 	depends on !CPU_THERMAL || THERMAL
+	select CPUFREQ_DT_PLATDEV
 	select PM_OPP
 	help
 	  This adds a generic DT based cpufreq driver for frequency management.
@@ -199,6 +200,15 @@ config CPUFREQ_DT
 
 	  If in doubt, say N.
 
+config CPUFREQ_DT_PLATDEV
+	bool
+	help
+	  This adds a generic DT based cpufreq platdev driver for frequency
+	  management.  This creates a 'cpufreq-dt' platform device, on the
+	  supported platforms.
+
+	  If in doubt, say N.
+
 if X86
 source "drivers/cpufreq/Kconfig.x86"
 endif
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 9e63fb1b09f8..b9224fdb8322 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o
 obj-$(CONFIG_CPU_FREQ_GOV_COMMON)		+= cpufreq_governor.o
 
 obj-$(CONFIG_CPUFREQ_DT)		+= cpufreq-dt.o
+obj-$(CONFIG_CPUFREQ_DT_PLATDEV)	+= cpufreq-dt-platdev.o
 
 ##################################################################################
 # x86 drivers.
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
new file mode 100644
index 000000000000..2a3532427ecf
--- /dev/null
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2016 Linaro.
+ * Viresh Kumar <viresh.kumar@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+
+static const struct of_device_id machines[] = {
+};
+
+static int __init cpufreq_dt_platdev_init(void)
+{
+	struct device_node *np = of_find_node_by_path("/");
+
+	if (!np)
+		return -ENODEV;
+
+	if (!of_match_node(machines, np))
+		return -ENODEV;
+
+	of_node_put(of_root);
+
+	return PTR_ERR_OR_ZERO(platform_device_register_simple("cpufreq-dt", -1,
+							       NULL, 0));
+}
+device_initcall(cpufreq_dt_platdev_init);
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
@ 2016-03-30  8:15   ` Viresh Kumar
  2016-03-30  8:15 ` [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support Viresh Kumar
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann, Kukjin Kim, Krzysztof Kozlowski
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	Viresh Kumar, linux-arm-kernel, linux-samsung-soc, linux-kernel

The driver is removed long back and we don't support this device
anymore. Stop adding it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 arch/arm/mach-exynos/exynos.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index bbf51a46f772..4dfce1069406 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -232,12 +232,8 @@ static void __init exynos_cpufreq_init(void)
 	const struct of_device_id *match;
 
 	match = of_match_node(exynos_cpufreq_matches, root);
-	if (!match) {
-		platform_device_register_simple("exynos-cpufreq", -1, NULL, 0);
-		return;
-	}
-
-	platform_device_register_simple(match->data, -1, NULL, 0);
+	if (match)
+		platform_device_register_simple(match->data, -1, NULL, 0);
 }
 
 static void __init exynos_dt_machine_init(void)
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore
@ 2016-03-30  8:15   ` Viresh Kumar
  0 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: linux-arm-kernel

The driver is removed long back and we don't support this device
anymore. Stop adding it.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 arch/arm/mach-exynos/exynos.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index bbf51a46f772..4dfce1069406 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -232,12 +232,8 @@ static void __init exynos_cpufreq_init(void)
 	const struct of_device_id *match;
 
 	match = of_match_node(exynos_cpufreq_matches, root);
-	if (!match) {
-		platform_device_register_simple("exynos-cpufreq", -1, NULL, 0);
-		return;
-	}
-
-	platform_device_register_simple(match->data, -1, NULL, 0);
+	if (match)
+		platform_device_register_simple(match->data, -1, NULL, 0);
 }
 
 static void __init exynos_dt_machine_init(void)
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 4/4] cpufreq: exynos: Use generic platdev driver
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
  2016-03-30  8:15 ` [PATCH V3 1/4] cpufreq: dt: Include types.h from cpufreq-dt.h Viresh Kumar
@ 2016-03-30  8:15   ` Viresh Kumar
  2016-03-30  8:15   ` Viresh Kumar
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann, Kukjin Kim, Krzysztof Kozlowski,
	Viresh Kumar
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	linux-arm-kernel, linux-samsung-soc, linux-kernel

The cpufreq-dt-platdev driver supports creation of cpufreq-dt platform
device now, reuse that and remove similar code from platform code.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/mach-exynos/exynos.c        | 25 -------------------------
 drivers/cpufreq/cpufreq-dt-platdev.c |  9 +++++++++
 2 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4dfce1069406..4d3b056fd786 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -213,29 +213,6 @@ static void __init exynos_init_irq(void)
 	exynos_map_pmu();
 }
 
-static const struct of_device_id exynos_cpufreq_matches[] = {
-	{ .compatible = "samsung,exynos3250", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4210", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4212", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4412", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5250", .data = "cpufreq-dt" },
-#ifndef CONFIG_BL_SWITCHER
-	{ .compatible = "samsung,exynos5420", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5800", .data = "cpufreq-dt" },
-#endif
-	{ /* sentinel */ }
-};
-
-static void __init exynos_cpufreq_init(void)
-{
-	struct device_node *root = of_find_node_by_path("/");
-	const struct of_device_id *match;
-
-	match = of_match_node(exynos_cpufreq_matches, root);
-	if (match)
-		platform_device_register_simple(match->data, -1, NULL, 0);
-}
-
 static void __init exynos_dt_machine_init(void)
 {
 	/*
@@ -258,8 +235,6 @@ static void __init exynos_dt_machine_init(void)
 	    of_machine_is_compatible("samsung,exynos5250"))
 		platform_device_register(&exynos_cpuidle);
 
-	exynos_cpufreq_init();
-
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index 2a3532427ecf..f2ae7ad99a3c 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -12,6 +12,15 @@
 #include <linux/platform_device.h>
 
 static const struct of_device_id machines[] = {
+	{ .compatible = "samsung,exynos3250", },
+	{ .compatible = "samsung,exynos4210", },
+	{ .compatible = "samsung,exynos4212", },
+	{ .compatible = "samsung,exynos4412", },
+	{ .compatible = "samsung,exynos5250", },
+#ifndef CONFIG_BL_SWITCHER
+	{ .compatible = "samsung,exynos5420", },
+	{ .compatible = "samsung,exynos5800", },
+#endif
 };
 
 static int __init cpufreq_dt_platdev_init(void)
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 4/4] cpufreq: exynos: Use generic platdev driver
@ 2016-03-30  8:15   ` Viresh Kumar
  0 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann, Kukjin Kim, Krzysztof Kozlowski,
	Viresh Kumar
  Cc: kgene.kim, heiko, xf, mmcclint, linux-pm, linux-kernel,
	linux-samsung-soc, linaro-kernel, linux-arm-kernel

The cpufreq-dt-platdev driver supports creation of cpufreq-dt platform
device now, reuse that and remove similar code from platform code.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/mach-exynos/exynos.c        | 25 -------------------------
 drivers/cpufreq/cpufreq-dt-platdev.c |  9 +++++++++
 2 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4dfce1069406..4d3b056fd786 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -213,29 +213,6 @@ static void __init exynos_init_irq(void)
 	exynos_map_pmu();
 }
 
-static const struct of_device_id exynos_cpufreq_matches[] = {
-	{ .compatible = "samsung,exynos3250", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4210", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4212", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4412", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5250", .data = "cpufreq-dt" },
-#ifndef CONFIG_BL_SWITCHER
-	{ .compatible = "samsung,exynos5420", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5800", .data = "cpufreq-dt" },
-#endif
-	{ /* sentinel */ }
-};
-
-static void __init exynos_cpufreq_init(void)
-{
-	struct device_node *root = of_find_node_by_path("/");
-	const struct of_device_id *match;
-
-	match = of_match_node(exynos_cpufreq_matches, root);
-	if (match)
-		platform_device_register_simple(match->data, -1, NULL, 0);
-}
-
 static void __init exynos_dt_machine_init(void)
 {
 	/*
@@ -258,8 +235,6 @@ static void __init exynos_dt_machine_init(void)
 	    of_machine_is_compatible("samsung,exynos5250"))
 		platform_device_register(&exynos_cpuidle);
 
-	exynos_cpufreq_init();
-
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index 2a3532427ecf..f2ae7ad99a3c 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -12,6 +12,15 @@
 #include <linux/platform_device.h>
 
 static const struct of_device_id machines[] = {
+	{ .compatible = "samsung,exynos3250", },
+	{ .compatible = "samsung,exynos4210", },
+	{ .compatible = "samsung,exynos4212", },
+	{ .compatible = "samsung,exynos4412", },
+	{ .compatible = "samsung,exynos5250", },
+#ifndef CONFIG_BL_SWITCHER
+	{ .compatible = "samsung,exynos5420", },
+	{ .compatible = "samsung,exynos5800", },
+#endif
 };
 
 static int __init cpufreq_dt_platdev_init(void)
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH V3 4/4] cpufreq: exynos: Use generic platdev driver
@ 2016-03-30  8:15   ` Viresh Kumar
  0 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-03-30  8:15 UTC (permalink / raw)
  To: linux-arm-kernel

The cpufreq-dt-platdev driver supports creation of cpufreq-dt platform
device now, reuse that and remove similar code from platform code.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/mach-exynos/exynos.c        | 25 -------------------------
 drivers/cpufreq/cpufreq-dt-platdev.c |  9 +++++++++
 2 files changed, 9 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 4dfce1069406..4d3b056fd786 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -213,29 +213,6 @@ static void __init exynos_init_irq(void)
 	exynos_map_pmu();
 }
 
-static const struct of_device_id exynos_cpufreq_matches[] = {
-	{ .compatible = "samsung,exynos3250", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4210", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4212", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos4412", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5250", .data = "cpufreq-dt" },
-#ifndef CONFIG_BL_SWITCHER
-	{ .compatible = "samsung,exynos5420", .data = "cpufreq-dt" },
-	{ .compatible = "samsung,exynos5800", .data = "cpufreq-dt" },
-#endif
-	{ /* sentinel */ }
-};
-
-static void __init exynos_cpufreq_init(void)
-{
-	struct device_node *root = of_find_node_by_path("/");
-	const struct of_device_id *match;
-
-	match = of_match_node(exynos_cpufreq_matches, root);
-	if (match)
-		platform_device_register_simple(match->data, -1, NULL, 0);
-}
-
 static void __init exynos_dt_machine_init(void)
 {
 	/*
@@ -258,8 +235,6 @@ static void __init exynos_dt_machine_init(void)
 	    of_machine_is_compatible("samsung,exynos5250"))
 		platform_device_register(&exynos_cpuidle);
 
-	exynos_cpufreq_init();
-
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index 2a3532427ecf..f2ae7ad99a3c 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -12,6 +12,15 @@
 #include <linux/platform_device.h>
 
 static const struct of_device_id machines[] = {
+	{ .compatible = "samsung,exynos3250", },
+	{ .compatible = "samsung,exynos4210", },
+	{ .compatible = "samsung,exynos4212", },
+	{ .compatible = "samsung,exynos4412", },
+	{ .compatible = "samsung,exynos5250", },
+#ifndef CONFIG_BL_SWITCHER
+	{ .compatible = "samsung,exynos5420", },
+	{ .compatible = "samsung,exynos5800", },
+#endif
 };
 
 static int __init cpufreq_dt_platdev_init(void)
-- 
2.7.1.410.g6faf27b

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore
  2016-03-30  8:15   ` Viresh Kumar
  (?)
@ 2016-03-30  8:30     ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-30  8:30 UTC (permalink / raw)
  To: Viresh Kumar, Rafael Wysocki, arnd.bergmann, Kukjin Kim
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint,
	linux-arm-kernel, linux-samsung-soc, linux-kernel

On 30.03.2016 17:15, Viresh Kumar wrote:
> The driver is removed long back and we don't support this device
> anymore. Stop adding it.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm/mach-exynos/exynos.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>



Best regards,

Krzysztof

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore
@ 2016-03-30  8:30     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-30  8:30 UTC (permalink / raw)
  To: Viresh Kumar, Rafael Wysocki, arnd.bergmann, Kukjin Kim
  Cc: kgene.kim, heiko, xf, mmcclint, linux-pm, linux-kernel,
	linux-samsung-soc, linaro-kernel, linux-arm-kernel

On 30.03.2016 17:15, Viresh Kumar wrote:
> The driver is removed long back and we don't support this device
> anymore. Stop adding it.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm/mach-exynos/exynos.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>



Best regards,

Krzysztof

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore
@ 2016-03-30  8:30     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 19+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-30  8:30 UTC (permalink / raw)
  To: linux-arm-kernel

On 30.03.2016 17:15, Viresh Kumar wrote:
> The driver is removed long back and we don't support this device
> anymore. Stop adding it.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm/mach-exynos/exynos.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>



Best regards,

Krzysztof

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
                   ` (3 preceding siblings ...)
  2016-03-30  8:15   ` Viresh Kumar
@ 2016-04-07  8:31 ` Viresh Kumar
  2016-04-20  9:55 ` Viresh Kumar
  5 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-04-07  8:31 UTC (permalink / raw)
  To: Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, mmcclint, k.kozlowski

On 30-03-16, 13:45, Viresh Kumar wrote:
> Multiple platforms are using the generic cpufreq-dt driver now, and all
> of them are required to create a platform device with name "cpufreq-dt",
> in order to get the cpufreq-dt probed.
> 
> Many of them do it from platform code, others have special drivers just
> to do that.
> 
> It would be more sensible to do this at a generic place, where all such
> platform can mark their entries.
> 
> The first patch fixes an issue that came up with an earlier version of
> patch 2/4, but its still worth fixing it.  The second one creates a new
> driver to create platform-device based on current platform and the last
> two converts exynos platform to use this common infrastructure.
> 
> I will migrate rest of the platforms after this is accepted as the right
> way ahead.
> 
> V2->V3:
> - 2/3 is very lightweight now and doesn't support cpufreq-dt
>   platform-data and an extra depends_on from Kconfig is dropped as well.
> - 3/3 is separated into two patches.

@Rafael: Can you please apply this series now, that will enable me
with converting rest of the users to use this.

-- 
viresh

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support
  2016-03-30  8:15 ` [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support Viresh Kumar
@ 2016-04-13 19:46   ` Matthew McClintock
  0 siblings, 0 replies; 19+ messages in thread
From: Matthew McClintock @ 2016-04-13 19:46 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, arnd.bergmann, linaro-kernel, linux-pm,
	kgene.kim, xf, heiko, k.kozlowski, linux-kernel

On Mar 30, 2016, at 3:15 AM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> 
> Multiple platforms are using the generic cpufreq-dt driver now, and all
> of them are required to create a platform device with name "cpufreq-dt",
> in order to get the cpufreq-dt probed.
> 
> Many of them do it from platform code, others have special drivers just
> to do that.
> 
> It would be more sensible to do this at a generic place, where all such
> platform can mark their entries.
> 
> This patch adds a separate file to get this device created. Currently
> the compat list of platforms that we support is empty, and will be
> filled in as and when we move platforms to use it.
> 
> It always compiles as part of the kernel and so doesn't need a
> module-exit operation.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Test on ipq4019.

Tested-by: Matthew McClintock <mmcclint@codeaurora.org>

-M

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
                   ` (4 preceding siblings ...)
  2016-04-07  8:31 ` [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
@ 2016-04-20  9:55 ` Viresh Kumar
  2016-04-20 21:27   ` Mason
  2016-04-27 16:47   ` Mason
  5 siblings, 2 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-04-20  9:55 UTC (permalink / raw)
  To: slash.tmp, mmcclint, Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, k.kozlowski

On 30-03-16, 13:45, Viresh Kumar wrote:
> Multiple platforms are using the generic cpufreq-dt driver now, and all
> of them are required to create a platform device with name "cpufreq-dt",
> in order to get the cpufreq-dt probed.
> 
> Many of them do it from platform code, others have special drivers just
> to do that.
> 
> It would be more sensible to do this at a generic place, where all such
> platform can mark their entries.
> 
> The first patch fixes an issue that came up with an earlier version of
> patch 2/4, but its still worth fixing it.  The second one creates a new
> driver to create platform-device based on current platform and the last
> two converts exynos platform to use this common infrastructure.
> 
> I will migrate rest of the platforms after this is accepted as the right
> way ahead.

@Matthew and @Mason,

Now that this is present in linux-next, you guys can send patches for
your platforms cpufreq support.

-- 
viresh

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-04-20  9:55 ` Viresh Kumar
@ 2016-04-20 21:27   ` Mason
  2016-04-20 22:31     ` Rafael J. Wysocki
  2016-04-27 16:47   ` Mason
  1 sibling, 1 reply; 19+ messages in thread
From: Mason @ 2016-04-20 21:27 UTC (permalink / raw)
  To: Viresh Kumar, mmcclint, Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, k.kozlowski

On 20/04/2016 11:55, Viresh Kumar wrote:
> On 30-03-16, 13:45, Viresh Kumar wrote:
>> Multiple platforms are using the generic cpufreq-dt driver now, and all
>> of them are required to create a platform device with name "cpufreq-dt",
>> in order to get the cpufreq-dt probed.
>>
>> Many of them do it from platform code, others have special drivers just
>> to do that.
>>
>> It would be more sensible to do this at a generic place, where all such
>> platform can mark their entries.
>>
>> The first patch fixes an issue that came up with an earlier version of
>> patch 2/4, but its still worth fixing it.  The second one creates a new
>> driver to create platform-device based on current platform and the last
>> two converts exynos platform to use this common infrastructure.
>>
>> I will migrate rest of the platforms after this is accepted as the right
>> way ahead.
> 
> @Matthew and @Mason,
> 
> Now that this is present in linux-next, you guys can send patches for
> your platforms cpufreq support.

Present in linux-next means it will show up in 4.6-rc5?

Regards.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-04-20 21:27   ` Mason
@ 2016-04-20 22:31     ` Rafael J. Wysocki
  0 siblings, 0 replies; 19+ messages in thread
From: Rafael J. Wysocki @ 2016-04-20 22:31 UTC (permalink / raw)
  To: Mason
  Cc: Viresh Kumar, mmcclint, Rafael Wysocki, Arnd Bergmann,
	Lists linaro-kernel, linux-pm, Kukjin Kim, xf,
	Heiko Stübner, Krzysztof Kozłowski

On Wed, Apr 20, 2016 at 11:27 PM, Mason <slash.tmp@free.fr> wrote:
> On 20/04/2016 11:55, Viresh Kumar wrote:
>> On 30-03-16, 13:45, Viresh Kumar wrote:
>>> Multiple platforms are using the generic cpufreq-dt driver now, and all
>>> of them are required to create a platform device with name "cpufreq-dt",
>>> in order to get the cpufreq-dt probed.
>>>
>>> Many of them do it from platform code, others have special drivers just
>>> to do that.
>>>
>>> It would be more sensible to do this at a generic place, where all such
>>> platform can mark their entries.
>>>
>>> The first patch fixes an issue that came up with an earlier version of
>>> patch 2/4, but its still worth fixing it.  The second one creates a new
>>> driver to create platform-device based on current platform and the last
>>> two converts exynos platform to use this common infrastructure.
>>>
>>> I will migrate rest of the platforms after this is accepted as the right
>>> way ahead.
>>
>> @Matthew and @Mason,
>>
>> Now that this is present in linux-next, you guys can send patches for
>> your platforms cpufreq support.
>
> Present in linux-next means it will show up in 4.6-rc5?

No, it doesn't, in general.

Bug fixes may show up in -rcX, X > 1, but the majority of new material
in linux-next will show up in the next -rc1 (4.7-rc1 in this
particular case).

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-04-20  9:55 ` Viresh Kumar
  2016-04-20 21:27   ` Mason
@ 2016-04-27 16:47   ` Mason
  2016-04-27 16:57     ` Matthew McClintock
  1 sibling, 1 reply; 19+ messages in thread
From: Mason @ 2016-04-27 16:47 UTC (permalink / raw)
  To: Viresh Kumar, mmcclint, Rafael Wysocki, arnd.bergmann
  Cc: linaro-kernel, linux-pm, kgene.kim, xf, heiko, k.kozlowski,
	Sebastian Frias

On 20/04/2016 11:55, Viresh Kumar wrote:
> On 30-03-16, 13:45, Viresh Kumar wrote:
>> Multiple platforms are using the generic cpufreq-dt driver now, and all
>> of them are required to create a platform device with name "cpufreq-dt",
>> in order to get the cpufreq-dt probed.
>>
>> Many of them do it from platform code, others have special drivers just
>> to do that.
>>
>> It would be more sensible to do this at a generic place, where all such
>> platform can mark their entries.
>>
>> The first patch fixes an issue that came up with an earlier version of
>> patch 2/4, but its still worth fixing it.  The second one creates a new
>> driver to create platform-device based on current platform and the last
>> two converts exynos platform to use this common infrastructure.
>>
>> I will migrate rest of the platforms after this is accepted as the right
>> way ahead.
> 
> @Matthew and @Mason,
> 
> Now that this is present in linux-next, you guys can send patches for
> your platforms cpufreq support.

Viresh,

IIUC, all I need to do is add my platform's string to
drivers/cpufreq/cpufreq-dt-platdev.c ?

Should I add it at the beginning or at the end?
(I suppose at the end.)

I should add "sigma,tango4", since that's what is used
in arch/arm/mach-tango/setup.c right?

Regards.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-04-27 16:47   ` Mason
@ 2016-04-27 16:57     ` Matthew McClintock
  2016-04-28  2:27       ` Viresh Kumar
  0 siblings, 1 reply; 19+ messages in thread
From: Matthew McClintock @ 2016-04-27 16:57 UTC (permalink / raw)
  To: Mason
  Cc: Viresh Kumar, Rafael Wysocki, arnd.bergmann, linaro-kernel,
	linux-pm, kgene.kim, xf, heiko, k.kozlowski, Sebastian Frias

On Apr 27, 2016, at 11:47 AM, Mason <slash.tmp@free.fr> wrote:
> 
> Should I add it at the beginning or at the end?
> (I suppose at the end.)

I was going to do alphabetical order.

-M

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code
  2016-04-27 16:57     ` Matthew McClintock
@ 2016-04-28  2:27       ` Viresh Kumar
  0 siblings, 0 replies; 19+ messages in thread
From: Viresh Kumar @ 2016-04-28  2:27 UTC (permalink / raw)
  To: Matthew McClintock
  Cc: Mason, Rafael Wysocki, arnd.bergmann, linaro-kernel, linux-pm,
	kgene.kim, xf, heiko, k.kozlowski, Sebastian Frias

On 27-04-16, 11:57, Matthew McClintock wrote:
> On Apr 27, 2016, at 11:47 AM, Mason <slash.tmp@free.fr> wrote:
> > 
> > Should I add it at the beginning or at the end?
> > (I suppose at the end.)
> 
> I was going to do alphabetical order.

That's right, you should follow the way things are present in the file itself.
So, it should be in alphabetical order, + blank lines separating your platform
from the rest.

-- 
viresh

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-04-28  2:27 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30  8:15 [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
2016-03-30  8:15 ` [PATCH V3 1/4] cpufreq: dt: Include types.h from cpufreq-dt.h Viresh Kumar
2016-03-30  8:15 ` [PATCH V3 2/4] cpufreq: dt: Add generic platform-device creation support Viresh Kumar
2016-04-13 19:46   ` Matthew McClintock
2016-03-30  8:15 ` [PATCH V3 3/4] ARM: exynos: exynos-cpufreq platform device isn't supported anymore Viresh Kumar
2016-03-30  8:15   ` Viresh Kumar
2016-03-30  8:30   ` Krzysztof Kozlowski
2016-03-30  8:30     ` Krzysztof Kozlowski
2016-03-30  8:30     ` Krzysztof Kozlowski
2016-03-30  8:15 ` [PATCH V3 4/4] cpufreq: exynos: Use generic platdev driver Viresh Kumar
2016-03-30  8:15   ` Viresh Kumar
2016-03-30  8:15   ` Viresh Kumar
2016-04-07  8:31 ` [PATCH V3 0/4] cpufreq: dt: Create platform device from generic code Viresh Kumar
2016-04-20  9:55 ` Viresh Kumar
2016-04-20 21:27   ` Mason
2016-04-20 22:31     ` Rafael J. Wysocki
2016-04-27 16:47   ` Mason
2016-04-27 16:57     ` Matthew McClintock
2016-04-28  2:27       ` Viresh Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.