mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/4] ARM: cpuidle: add const qualifier to cpuidle_ops member in structures
       [not found] <5719E10D.5020008@linaro.org>
@ 2016-04-22  8:31 ` Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops() Daniel Lezcano
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Daniel Lezcano @ 2016-04-22  8:31 UTC (permalink / raw)
  To: rjw
  Cc: Jisheng Zhang, Russell King, Lorenzo Pieralisi, Lina Iyer,
	moderated list:ARM PORT, open list

From: Jisheng Zhang <jszhang@marvell.com>

The core code does not modify smp_operations structures. To clarify it,
this patch adds 'const' qualifier to the 'ops' member of struct
of_cpuidle_method.

This change allows each arm cpuidle code to add 'const' qualifier to
its cpuidle_ops structure.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 arch/arm/include/asm/cpuidle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/include/asm/cpuidle.h b/arch/arm/include/asm/cpuidle.h
index 3848259..baefe1d 100644
--- a/arch/arm/include/asm/cpuidle.h
+++ b/arch/arm/include/asm/cpuidle.h
@@ -36,7 +36,7 @@ struct cpuidle_ops {
 
 struct of_cpuidle_method {
 	const char *method;
-	struct cpuidle_ops *ops;
+	const struct cpuidle_ops *ops;
 };
 
 #define CPUIDLE_METHOD_OF_DECLARE(name, _method, _ops)			\
-- 
1.9.1

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

* [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops()
  2016-04-22  8:31 ` [PATCH 1/4] ARM: cpuidle: add const qualifier to cpuidle_ops member in structures Daniel Lezcano
@ 2016-04-22  8:31   ` Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 3/4] soc: qcom: spm: Use const and __initconst for qcom_cpuidle_ops Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 4/4] drivers: firmware: psci: use const and __initconst for psci_cpuidle_ops Daniel Lezcano
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Lezcano @ 2016-04-22  8:31 UTC (permalink / raw)
  To: rjw
  Cc: Jisheng Zhang, Russell King, Lorenzo Pieralisi, Lina Iyer,
	moderated list:ARM PORT, open list

From: Jisheng Zhang <jszhang@marvell.com>

arm_cpuidle_read_ops() just copies '*ops' to cpuidle_ops[cpu], so the
structure '*ops' is not modified at all.

The comment is also updated accordingly.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 arch/arm/kernel/cpuidle.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/cpuidle.c b/arch/arm/kernel/cpuidle.c
index 703926e..a44b268e 100644
--- a/arch/arm/kernel/cpuidle.c
+++ b/arch/arm/kernel/cpuidle.c
@@ -70,7 +70,7 @@ int arm_cpuidle_suspend(int index)
  *
  * Returns a struct cpuidle_ops pointer, NULL if not found.
  */
-static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
+static const struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
 {
 	struct of_cpuidle_method *m = __cpuidle_method_of_table;
 
@@ -88,7 +88,7 @@ static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
  *
  * Get the method name defined in the 'enable-method' property, retrieve the
  * associated cpuidle_ops and do a struct copy. This copy is needed because all
- * cpuidle_ops are tagged __initdata and will be unloaded after the init
+ * cpuidle_ops are tagged __initconst and will be unloaded after the init
  * process.
  *
  * Return 0 on sucess, -ENOENT if no 'enable-method' is defined, -EOPNOTSUPP if
@@ -97,7 +97,7 @@ static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
 static int __init arm_cpuidle_read_ops(struct device_node *dn, int cpu)
 {
 	const char *enable_method;
-	struct cpuidle_ops *ops;
+	const struct cpuidle_ops *ops;
 
 	enable_method = of_get_property(dn, "enable-method", NULL);
 	if (!enable_method)
-- 
1.9.1

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

* [PATCH 3/4] soc: qcom: spm: Use const and __initconst for qcom_cpuidle_ops
  2016-04-22  8:31 ` [PATCH 1/4] ARM: cpuidle: add const qualifier to cpuidle_ops member in structures Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops() Daniel Lezcano
@ 2016-04-22  8:31   ` Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 4/4] drivers: firmware: psci: use const and __initconst for psci_cpuidle_ops Daniel Lezcano
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Lezcano @ 2016-04-22  8:31 UTC (permalink / raw)
  To: rjw
  Cc: Jisheng Zhang, Andy Gross, David Brown,
	open list:ARM/QUALCOMM SUPPORT, open list:ARM/QUALCOMM SUPPORT,
	open list

From: Jisheng Zhang <jszhang@marvell.com>

The qcom_cpuidle_ops structures is not over-written, so add "const"
qualifier and replace __initdata with __initconst.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Andy Gross <andy.gross@linaro.org>
---
 drivers/soc/qcom/spm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/qcom/spm.c b/drivers/soc/qcom/spm.c
index 5548a31..1fcbb22 100644
--- a/drivers/soc/qcom/spm.c
+++ b/drivers/soc/qcom/spm.c
@@ -274,7 +274,7 @@ check_spm:
 	return per_cpu(cpu_spm_drv, cpu) ? 0 : -ENXIO;
 }
 
-static struct cpuidle_ops qcom_cpuidle_ops __initdata = {
+static const struct cpuidle_ops qcom_cpuidle_ops __initconst = {
 	.suspend = qcom_idle_enter,
 	.init = qcom_cpuidle_init,
 };
-- 
1.9.1

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

* [PATCH 4/4] drivers: firmware: psci: use const and __initconst for psci_cpuidle_ops
  2016-04-22  8:31 ` [PATCH 1/4] ARM: cpuidle: add const qualifier to cpuidle_ops member in structures Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops() Daniel Lezcano
  2016-04-22  8:31   ` [PATCH 3/4] soc: qcom: spm: Use const and __initconst for qcom_cpuidle_ops Daniel Lezcano
@ 2016-04-22  8:31   ` Daniel Lezcano
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Lezcano @ 2016-04-22  8:31 UTC (permalink / raw)
  To: rjw
  Cc: Jisheng Zhang, Lorenzo Pieralisi, Mark Rutland,
	open list:POWER STATE COORD...,
	open list

From: Jisheng Zhang <jszhang@marvell.com>

The psci_cpuidle_ops structures is not over-written, so add "const"
qualifier and replace __initdata with __initconst.

Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/firmware/psci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
index 11bfee8..eb8134a 100644
--- a/drivers/firmware/psci.c
+++ b/drivers/firmware/psci.c
@@ -355,7 +355,7 @@ int psci_cpu_suspend_enter(unsigned long index)
 
 /* ARM specific CPU idle operations */
 #ifdef CONFIG_ARM
-static struct cpuidle_ops psci_cpuidle_ops __initdata = {
+static const struct cpuidle_ops psci_cpuidle_ops __initconst = {
 	.suspend = psci_cpu_suspend_enter,
 	.init = psci_dt_cpu_init_idle,
 };
-- 
1.9.1

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

* [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops()
  2016-03-22 14:42 [PATCH 0/4] ARM: cpuidle: use const and __initconst for cpuidle_ops Jisheng Zhang
@ 2016-03-22 14:42 ` Jisheng Zhang
  0 siblings, 0 replies; 5+ messages in thread
From: Jisheng Zhang @ 2016-03-22 14:42 UTC (permalink / raw)
  To: linux, mark.rutland, lorenzo.pieralisi, andy.gross, david.brown,
	daniel.lezcano
  Cc: linux-arm-kernel, linux-kernel, linux-arm-msm, linux-soc, Jisheng Zhang

arm_cpuidle_read_ops() just copies '*ops' to cpuidle_ops[cpu], so the
structure '*ops' is not modified at all.

The comment is also updated accordingly.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
---
 arch/arm/kernel/cpuidle.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/cpuidle.c b/arch/arm/kernel/cpuidle.c
index 703926e..a44b268e 100644
--- a/arch/arm/kernel/cpuidle.c
+++ b/arch/arm/kernel/cpuidle.c
@@ -70,7 +70,7 @@ int arm_cpuidle_suspend(int index)
  *
  * Returns a struct cpuidle_ops pointer, NULL if not found.
  */
-static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
+static const struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
 {
 	struct of_cpuidle_method *m = __cpuidle_method_of_table;
 
@@ -88,7 +88,7 @@ static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
  *
  * Get the method name defined in the 'enable-method' property, retrieve the
  * associated cpuidle_ops and do a struct copy. This copy is needed because all
- * cpuidle_ops are tagged __initdata and will be unloaded after the init
+ * cpuidle_ops are tagged __initconst and will be unloaded after the init
  * process.
  *
  * Return 0 on sucess, -ENOENT if no 'enable-method' is defined, -EOPNOTSUPP if
@@ -97,7 +97,7 @@ static struct cpuidle_ops *__init arm_cpuidle_get_ops(const char *method)
 static int __init arm_cpuidle_read_ops(struct device_node *dn, int cpu)
 {
 	const char *enable_method;
-	struct cpuidle_ops *ops;
+	const struct cpuidle_ops *ops;
 
 	enable_method = of_get_property(dn, "enable-method", NULL);
 	if (!enable_method)
-- 
2.8.0.rc3

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

end of thread, other threads:[~2016-04-22  8:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <5719E10D.5020008@linaro.org>
2016-04-22  8:31 ` [PATCH 1/4] ARM: cpuidle: add const qualifier to cpuidle_ops member in structures Daniel Lezcano
2016-04-22  8:31   ` [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops() Daniel Lezcano
2016-04-22  8:31   ` [PATCH 3/4] soc: qcom: spm: Use const and __initconst for qcom_cpuidle_ops Daniel Lezcano
2016-04-22  8:31   ` [PATCH 4/4] drivers: firmware: psci: use const and __initconst for psci_cpuidle_ops Daniel Lezcano
2016-03-22 14:42 [PATCH 0/4] ARM: cpuidle: use const and __initconst for cpuidle_ops Jisheng Zhang
2016-03-22 14:42 ` [PATCH 2/4] ARM: cpuidle: constify return value of arm_cpuidle_get_ops() Jisheng Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®