linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] omap2+: voltage: simple clean-ups
@ 2011-03-17 15:12 Sanjeev Premi
  2011-03-17 15:12 ` [PATCH 1/2] omap3: voltage: remove unnecessary param passing Sanjeev Premi
  2011-03-17 15:12 ` [PATCH 2/2] omap3: voltage: fix variable type and name Sanjeev Premi
  0 siblings, 2 replies; 7+ messages in thread
From: Sanjeev Premi @ 2011-03-17 15:12 UTC (permalink / raw)
  To: linux-omap; +Cc: Sanjeev Premi

This set contains simple clean-up changes.

There is a TODO in the patchset where i would need 
specific comments - whether my understanding is
right or not.

In expectation of an eminent new patch revision,
these changes have only been compiled against
omap2plus_defconfig.

BTW, I don't have OMAP4 board with me. Any test,
if necessary, would be useful.

Sanjeev Premi (2):
  omap3: voltage: remove unnecessary param passing
  omap3: voltage: fix variable type and name

 arch/arm/mach-omap2/voltage.c                 |   32 ++++++++++++++++--------
 arch/arm/mach-omap2/voltage.h                 |    3 +-
 arch/arm/mach-omap2/voltagedomains3xxx_data.c |    5 +---
 arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 +----
 4 files changed, 24 insertions(+), 22 deletions(-)

-- 
1.7.2.2


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

* [PATCH 1/2] omap3: voltage: remove unnecessary param passing
  2011-03-17 15:12 [PATCH 0/2] omap2+: voltage: simple clean-ups Sanjeev Premi
@ 2011-03-17 15:12 ` Sanjeev Premi
  2011-03-17 20:10   ` Kevin Hilman
  2011-03-17 15:12 ` [PATCH 2/2] omap3: voltage: fix variable type and name Sanjeev Premi
  1 sibling, 1 reply; 7+ messages in thread
From: Sanjeev Premi @ 2011-03-17 15:12 UTC (permalink / raw)
  To: linux-omap; +Cc: Sanjeev Premi

It is not necessary to pass the params prm_mod and
prm_irqst_mod to omap_voltage_early_init().

Signed-off-by: Sanjeev Premi <premi@ti.com>
---
 arch/arm/mach-omap2/voltage.c                 |   18 ++++++++++++++----
 arch/arm/mach-omap2/voltage.h                 |    3 +--
 arch/arm/mach-omap2/voltagedomains3xxx_data.c |    5 +----
 arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 +-----
 4 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
index c6facf7..ce3098a 100644
--- a/arch/arm/mach-omap2/voltage.c
+++ b/arch/arm/mach-omap2/voltage.c
@@ -1096,12 +1096,22 @@ int __init omap_voltage_late_init(void)
 }
 
 /* XXX document */
-int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_ocp_mod,
-				   struct omap_vdd_info *omap_vdd_array[],
+int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
 				   u8 omap_vdd_count)
 {
-	prm_mod_offs = prm_mod;
-	prm_irqst_ocp_mod_offs = prm_irqst_ocp_mod;
+	if (cpu_is_omap44xx()) {
+		prm_mod_offs = OMAP4430_PRM_DEVICE_INST;
+		prm_irqst_ocp_mod_offs = OMAP4430_PRM_OCP_SOCKET_INST;
+	} else if (cpu_is_omap34xx()) {
+		prm_mod_offs = OMAP3430_GR_MOD;
+		prm_irqst_ocp_mod_offs = OCP_MOD;
+	} else {
+		/* TODO:
+		 * What should be done for OMAP24xx?
+		 * Would we even reach here?
+		 */
+	}
+
 	vdd_info = omap_vdd_array;
 	nr_scalable_vdd = omap_vdd_count;
 	return 0;
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
index e9f5408..b56530e 100644
--- a/arch/arm/mach-omap2/voltage.h
+++ b/arch/arm/mach-omap2/voltage.h
@@ -151,8 +151,7 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
 		unsigned long volt);
 unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
 struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
-int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_mod,
-				   struct omap_vdd_info *omap_vdd_array[],
+int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
 				   u8 omap_vdd_count);
 #ifdef CONFIG_PM
 int omap_voltage_register_pmic(struct voltagedomain *voltdm,
diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
index def230f..6f6999d 100644
--- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
@@ -70,8 +70,6 @@ static struct omap_vdd_info *omap3_vdd_info[] = {
 /* OMAP3 specific voltage init functions */
 static int __init omap3xxx_voltage_early_init(void)
 {
-	s16 prm_mod = OMAP3430_GR_MOD;
-	s16 prm_irqst_ocp_mod = OCP_MOD;
 
 	if (!cpu_is_omap34xx())
 		return 0;
@@ -88,8 +86,7 @@ static int __init omap3xxx_voltage_early_init(void)
 		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
 	}
 
-	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
-				       omap3_vdd_info,
+	return omap_voltage_early_init(omap3_vdd_info,
 				       ARRAY_SIZE(omap3_vdd_info));
 };
 core_initcall(omap3xxx_voltage_early_init);
diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
index cb64996..208a67d 100644
--- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
@@ -81,9 +81,6 @@ static struct omap_vdd_info *omap4_vdd_info[] = {
 /* OMAP4 specific voltage init functions */
 static int __init omap44xx_voltage_early_init(void)
 {
-	s16 prm_mod = OMAP4430_PRM_DEVICE_INST;
-	s16 prm_irqst_ocp_mod = OMAP4430_PRM_OCP_SOCKET_INST;
-
 	if (!cpu_is_omap44xx())
 		return 0;
 
@@ -95,8 +92,7 @@ static int __init omap44xx_voltage_early_init(void)
 	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
 	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
 
-	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
-				       omap4_vdd_info,
+	return omap_voltage_early_init(omap4_vdd_info,
 				       ARRAY_SIZE(omap4_vdd_info));
 };
 core_initcall(omap44xx_voltage_early_init);
-- 
1.7.2.2


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

* [PATCH 2/2] omap3: voltage: fix variable type and name
  2011-03-17 15:12 [PATCH 0/2] omap2+: voltage: simple clean-ups Sanjeev Premi
  2011-03-17 15:12 ` [PATCH 1/2] omap3: voltage: remove unnecessary param passing Sanjeev Premi
@ 2011-03-17 15:12 ` Sanjeev Premi
  2011-03-17 20:11   ` Kevin Hilman
  1 sibling, 1 reply; 7+ messages in thread
From: Sanjeev Premi @ 2011-03-17 15:12 UTC (permalink / raw)
  To: linux-omap; +Cc: Sanjeev Premi

In all usages, variables prm_mod_offs and prm_irqst_ocp_mod_offs
are expected to be "u16" but have been declared as "s16".

In addition, renamed prm_irqst_ocp_mod_offs to ocp_sysreg_prm_offs
for better association with the TRM. Original name perhaps came
from the current usage of this offset to reach PRM_IRQSTATUS_MPU
offset.

Signed-off-by: Sanjeev Premi <premi@ti.com>
---
 arch/arm/mach-omap2/voltage.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
index ce3098a..c686eca 100644
--- a/arch/arm/mach-omap2/voltage.c
+++ b/arch/arm/mach-omap2/voltage.c
@@ -51,8 +51,8 @@ static struct omap_vdd_info **vdd_info;
 static int nr_scalable_vdd;
 
 /* XXX document */
-static s16 prm_mod_offs;
-static s16 prm_irqst_ocp_mod_offs;
+static u16 prm_mod_offs;
+static u16 ocp_sysreg_prm_offs;
 
 static struct dentry *voltage_dir;
 
@@ -447,8 +447,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
 	 */
 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
-			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
-		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
+			       ocp_sysreg_prm_offs, prm_irqst_reg);
+		if (!(vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
 			break;
 		udelay(1);
@@ -481,7 +481,7 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
 	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
 	 */
 	timeout = 0;
-	omap_test_timeout((vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
+	omap_test_timeout((vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
 			   vdd->vp_data->prm_irqst_data->tranxdone_status),
 			  VP_TRANXDONE_TIMEOUT, timeout);
 	if (timeout >= VP_TRANXDONE_TIMEOUT)
@@ -498,8 +498,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
 	timeout = 0;
 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
-			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
-		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
+			       ocp_sysreg_prm_offs, prm_irqst_reg);
+		if (!(vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
 			break;
 		udelay(1);
@@ -1101,10 +1101,10 @@ int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
 {
 	if (cpu_is_omap44xx()) {
 		prm_mod_offs = OMAP4430_PRM_DEVICE_INST;
-		prm_irqst_ocp_mod_offs = OMAP4430_PRM_OCP_SOCKET_INST;
+		ocp_sysreg_prm_offs = OMAP4430_PRM_OCP_SOCKET_INST;
 	} else if (cpu_is_omap34xx()) {
 		prm_mod_offs = OMAP3430_GR_MOD;
-		prm_irqst_ocp_mod_offs = OCP_MOD;
+		ocp_sysreg_prm_offs = OCP_MOD;
 	} else {
 		/* TODO:
 		 * What should be done for OMAP24xx?
-- 
1.7.2.2


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

* Re: [PATCH 1/2] omap3: voltage: remove unnecessary param passing
  2011-03-17 15:12 ` [PATCH 1/2] omap3: voltage: remove unnecessary param passing Sanjeev Premi
@ 2011-03-17 20:10   ` Kevin Hilman
  2011-03-18  4:58     ` Premi, Sanjeev
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2011-03-17 20:10 UTC (permalink / raw)
  To: Sanjeev Premi; +Cc: linux-omap

Sanjeev Premi <premi@ti.com> writes:

> It is not necessary to pass the params prm_mod and
> prm_irqst_mod to omap_voltage_early_init().
>
> Signed-off-by: Sanjeev Premi <premi@ti.com>

Hi Sanjeev,

I also started working on cleaning some of this up, but I took a
slightly different approach[1], namely I make these offsets part of the
VDD structure so that this data stays in the data files.

I'm still working on the series, but the work-in-progress is in my
pm-wip/voltdm branch, which I expect to post for comment tomorrow.

Kevin

[1] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=commit;h=185cdf40ad978a466106b52fce9b68ca7081f358
[2] http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=shortlog;h=refs/heads/pm-wip/voltdm

> ---
>  arch/arm/mach-omap2/voltage.c                 |   18 ++++++++++++++----
>  arch/arm/mach-omap2/voltage.h                 |    3 +--
>  arch/arm/mach-omap2/voltagedomains3xxx_data.c |    5 +----
>  arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 +-----
>  4 files changed, 17 insertions(+), 15 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
> index c6facf7..ce3098a 100644
> --- a/arch/arm/mach-omap2/voltage.c
> +++ b/arch/arm/mach-omap2/voltage.c
> @@ -1096,12 +1096,22 @@ int __init omap_voltage_late_init(void)
>  }
>  
>  /* XXX document */
> -int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_ocp_mod,
> -				   struct omap_vdd_info *omap_vdd_array[],
> +int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
>  				   u8 omap_vdd_count)
>  {
> -	prm_mod_offs = prm_mod;
> -	prm_irqst_ocp_mod_offs = prm_irqst_ocp_mod;
> +	if (cpu_is_omap44xx()) {
> +		prm_mod_offs = OMAP4430_PRM_DEVICE_INST;
> +		prm_irqst_ocp_mod_offs = OMAP4430_PRM_OCP_SOCKET_INST;
> +	} else if (cpu_is_omap34xx()) {
> +		prm_mod_offs = OMAP3430_GR_MOD;
> +		prm_irqst_ocp_mod_offs = OCP_MOD;
> +	} else {
> +		/* TODO:
> +		 * What should be done for OMAP24xx?
> +		 * Would we even reach here?
> +		 */
> +	}
> +
>  	vdd_info = omap_vdd_array;
>  	nr_scalable_vdd = omap_vdd_count;
>  	return 0;
> diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
> index e9f5408..b56530e 100644
> --- a/arch/arm/mach-omap2/voltage.h
> +++ b/arch/arm/mach-omap2/voltage.h
> @@ -151,8 +151,7 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
>  		unsigned long volt);
>  unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
>  struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
> -int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_mod,
> -				   struct omap_vdd_info *omap_vdd_array[],
> +int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
>  				   u8 omap_vdd_count);
>  #ifdef CONFIG_PM
>  int omap_voltage_register_pmic(struct voltagedomain *voltdm,
> diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> index def230f..6f6999d 100644
> --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> @@ -70,8 +70,6 @@ static struct omap_vdd_info *omap3_vdd_info[] = {
>  /* OMAP3 specific voltage init functions */
>  static int __init omap3xxx_voltage_early_init(void)
>  {
> -	s16 prm_mod = OMAP3430_GR_MOD;
> -	s16 prm_irqst_ocp_mod = OCP_MOD;
>  
>  	if (!cpu_is_omap34xx())
>  		return 0;
> @@ -88,8 +86,7 @@ static int __init omap3xxx_voltage_early_init(void)
>  		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
>  	}
>  
> -	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
> -				       omap3_vdd_info,
> +	return omap_voltage_early_init(omap3_vdd_info,
>  				       ARRAY_SIZE(omap3_vdd_info));
>  };
>  core_initcall(omap3xxx_voltage_early_init);
> diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
> index cb64996..208a67d 100644
> --- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
> +++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
> @@ -81,9 +81,6 @@ static struct omap_vdd_info *omap4_vdd_info[] = {
>  /* OMAP4 specific voltage init functions */
>  static int __init omap44xx_voltage_early_init(void)
>  {
> -	s16 prm_mod = OMAP4430_PRM_DEVICE_INST;
> -	s16 prm_irqst_ocp_mod = OMAP4430_PRM_OCP_SOCKET_INST;
> -
>  	if (!cpu_is_omap44xx())
>  		return 0;
>  
> @@ -95,8 +92,7 @@ static int __init omap44xx_voltage_early_init(void)
>  	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
>  	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
>  
> -	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
> -				       omap4_vdd_info,
> +	return omap_voltage_early_init(omap4_vdd_info,
>  				       ARRAY_SIZE(omap4_vdd_info));
>  };
>  core_initcall(omap44xx_voltage_early_init);

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

* Re: [PATCH 2/2] omap3: voltage: fix variable type and name
  2011-03-17 15:12 ` [PATCH 2/2] omap3: voltage: fix variable type and name Sanjeev Premi
@ 2011-03-17 20:11   ` Kevin Hilman
  2011-03-18  4:53     ` Premi, Sanjeev
  0 siblings, 1 reply; 7+ messages in thread
From: Kevin Hilman @ 2011-03-17 20:11 UTC (permalink / raw)
  To: Sanjeev Premi; +Cc: linux-omap

Sanjeev Premi <premi@ti.com> writes:

> In all usages, variables prm_mod_offs and prm_irqst_ocp_mod_offs
> are expected to be "u16" but have been declared as "s16".

What kind of problem is that causing?

Kevin

> In addition, renamed prm_irqst_ocp_mod_offs to ocp_sysreg_prm_offs
> for better association with the TRM. Original name perhaps came
> from the current usage of this offset to reach PRM_IRQSTATUS_MPU
> offset.
>
> Signed-off-by: Sanjeev Premi <premi@ti.com>
> ---
>  arch/arm/mach-omap2/voltage.c |   18 +++++++++---------
>  1 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
> index ce3098a..c686eca 100644
> --- a/arch/arm/mach-omap2/voltage.c
> +++ b/arch/arm/mach-omap2/voltage.c
> @@ -51,8 +51,8 @@ static struct omap_vdd_info **vdd_info;
>  static int nr_scalable_vdd;
>  
>  /* XXX document */
> -static s16 prm_mod_offs;
> -static s16 prm_irqst_ocp_mod_offs;
> +static u16 prm_mod_offs;
> +static u16 ocp_sysreg_prm_offs;
>  
>  static struct dentry *voltage_dir;
>  
> @@ -447,8 +447,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
>  	 */
>  	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
>  		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
> -			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
> -		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
> +			       ocp_sysreg_prm_offs, prm_irqst_reg);
> +		if (!(vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
>  		      vdd->vp_data->prm_irqst_data->tranxdone_status))
>  			break;
>  		udelay(1);
> @@ -481,7 +481,7 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
>  	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
>  	 */
>  	timeout = 0;
> -	omap_test_timeout((vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
> +	omap_test_timeout((vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
>  			   vdd->vp_data->prm_irqst_data->tranxdone_status),
>  			  VP_TRANXDONE_TIMEOUT, timeout);
>  	if (timeout >= VP_TRANXDONE_TIMEOUT)
> @@ -498,8 +498,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
>  	timeout = 0;
>  	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
>  		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
> -			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
> -		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
> +			       ocp_sysreg_prm_offs, prm_irqst_reg);
> +		if (!(vdd->read_reg(ocp_sysreg_prm_offs, prm_irqst_reg) &
>  		      vdd->vp_data->prm_irqst_data->tranxdone_status))
>  			break;
>  		udelay(1);
> @@ -1101,10 +1101,10 @@ int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
>  {
>  	if (cpu_is_omap44xx()) {
>  		prm_mod_offs = OMAP4430_PRM_DEVICE_INST;
> -		prm_irqst_ocp_mod_offs = OMAP4430_PRM_OCP_SOCKET_INST;
> +		ocp_sysreg_prm_offs = OMAP4430_PRM_OCP_SOCKET_INST;
>  	} else if (cpu_is_omap34xx()) {
>  		prm_mod_offs = OMAP3430_GR_MOD;
> -		prm_irqst_ocp_mod_offs = OCP_MOD;
> +		ocp_sysreg_prm_offs = OCP_MOD;
>  	} else {
>  		/* TODO:
>  		 * What should be done for OMAP24xx?

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

* RE: [PATCH 2/2] omap3: voltage: fix variable type and name
  2011-03-17 20:11   ` Kevin Hilman
@ 2011-03-18  4:53     ` Premi, Sanjeev
  0 siblings, 0 replies; 7+ messages in thread
From: Premi, Sanjeev @ 2011-03-18  4:53 UTC (permalink / raw)
  To: Hilman, Kevin; +Cc: linux-omap@vger.kernel.org

> -----Original Message-----
> From: Hilman, Kevin 
> Sent: Friday, March 18, 2011 1:42 AM
> To: Premi, Sanjeev
> Cc: linux-omap@vger.kernel.org
> Subject: Re: [PATCH 2/2] omap3: voltage: fix variable type and name
> 
> Sanjeev Premi <premi@ti.com> writes:
> 
> > In all usages, variables prm_mod_offs and prm_irqst_ocp_mod_offs
> > are expected to be "u16" but have been declared as "s16".
> 
> What kind of problem is that causing?

[sp] No, it wasn't causing any problems 0 because offset value wouldn't
     reach the signed / unsigned limits; but didn't seem right while
     reading the code.

~sanjeev

> 
> Kevin
> 
> > In addition, renamed prm_irqst_ocp_mod_offs to ocp_sysreg_prm_offs
> > for better association with the TRM. Original name perhaps came
> > from the current usage of this offset to reach PRM_IRQSTATUS_MPU
> > offset.

[snip]...[snip]

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

* RE: [PATCH 1/2] omap3: voltage: remove unnecessary param passing
  2011-03-17 20:10   ` Kevin Hilman
@ 2011-03-18  4:58     ` Premi, Sanjeev
  0 siblings, 0 replies; 7+ messages in thread
From: Premi, Sanjeev @ 2011-03-18  4:58 UTC (permalink / raw)
  To: Hilman, Kevin; +Cc: linux-omap@vger.kernel.org

> -----Original Message-----
> From: Hilman, Kevin 
> Sent: Friday, March 18, 2011 1:41 AM
> To: Premi, Sanjeev
> Cc: linux-omap@vger.kernel.org
> Subject: Re: [PATCH 1/2] omap3: voltage: remove unnecessary 
> param passing
> 
> Sanjeev Premi <premi@ti.com> writes:
> 
> > It is not necessary to pass the params prm_mod and
> > prm_irqst_mod to omap_voltage_early_init().
> >
> > Signed-off-by: Sanjeev Premi <premi@ti.com>
> 
> Hi Sanjeev,
> 
> I also started working on cleaning some of this up, but I took a
> slightly different approach[1], namely I make these offsets 
> part of the
> VDD structure so that this data stays in the data files.
> 
> I'm still working on the series, but the work-in-progress is in my
> pm-wip/voltdm branch, which I expect to post for comment tomorrow.
> 
> Kevin
> 
> [1] 
> http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-p
> m.git;a=commit;h=185cdf40ad978a466106b52fce9b68ca7081f358

[sp] I had considered this, but the PRM offset wouldn't change for
     each VDD. Therefore, opted to keep static in the file just as
     few other files e.g. control.c

~sanjeev

> [2] 
> http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-p
m.git;a=shortlog;h=refs/heads/pm-wip/voltdm
> 
> > ---
> >  arch/arm/mach-omap2/voltage.c                 |   18 
> ++++++++++++++----
> >  arch/arm/mach-omap2/voltage.h                 |    3 +--
> >  arch/arm/mach-omap2/voltagedomains3xxx_data.c |    5 +----
> >  arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 +-----
> >  4 files changed, 17 insertions(+), 15 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/voltage.c 
> b/arch/arm/mach-omap2/voltage.c
> > index c6facf7..ce3098a 100644
> > --- a/arch/arm/mach-omap2/voltage.c
> > +++ b/arch/arm/mach-omap2/voltage.c
> > @@ -1096,12 +1096,22 @@ int __init omap_voltage_late_init(void)
> >  }
> >  
> >  /* XXX document */
> > -int __init omap_voltage_early_init(s16 prm_mod, s16 
> prm_irqst_ocp_mod,
> > -				   struct omap_vdd_info 
> *omap_vdd_array[],
> > +int __init omap_voltage_early_init(struct omap_vdd_info 
> *omap_vdd_array[],
> >  				   u8 omap_vdd_count)
> >  {
> > -	prm_mod_offs = prm_mod;
> > -	prm_irqst_ocp_mod_offs = prm_irqst_ocp_mod;
> > +	if (cpu_is_omap44xx()) {
> > +		prm_mod_offs = OMAP4430_PRM_DEVICE_INST;
> > +		prm_irqst_ocp_mod_offs = OMAP4430_PRM_OCP_SOCKET_INST;
> > +	} else if (cpu_is_omap34xx()) {
> > +		prm_mod_offs = OMAP3430_GR_MOD;
> > +		prm_irqst_ocp_mod_offs = OCP_MOD;
> > +	} else {
> > +		/* TODO:
> > +		 * What should be done for OMAP24xx?
> > +		 * Would we even reach here?
> > +		 */
> > +	}
> > +
> >  	vdd_info = omap_vdd_array;
> >  	nr_scalable_vdd = omap_vdd_count;
> >  	return 0;
> > diff --git a/arch/arm/mach-omap2/voltage.h 
> b/arch/arm/mach-omap2/voltage.h
> > index e9f5408..b56530e 100644
> > --- a/arch/arm/mach-omap2/voltage.h
> > +++ b/arch/arm/mach-omap2/voltage.h
> > @@ -151,8 +151,7 @@ struct omap_volt_data 
> *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
> >  		unsigned long volt);
> >  unsigned long omap_voltage_get_nom_volt(struct 
> voltagedomain *voltdm);
> >  struct dentry *omap_voltage_get_dbgdir(struct 
> voltagedomain *voltdm);
> > -int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_mod,
> > -				   struct omap_vdd_info 
> *omap_vdd_array[],
> > +int __init omap_voltage_early_init(struct omap_vdd_info 
> *omap_vdd_array[],
> >  				   u8 omap_vdd_count);
> >  #ifdef CONFIG_PM
> >  int omap_voltage_register_pmic(struct voltagedomain *voltdm,
> > diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c 
> b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> > index def230f..6f6999d 100644
> > --- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> > +++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
> > @@ -70,8 +70,6 @@ static struct omap_vdd_info *omap3_vdd_info[] = {
> >  /* OMAP3 specific voltage init functions */
> >  static int __init omap3xxx_voltage_early_init(void)
> >  {
> > -	s16 prm_mod = OMAP3430_GR_MOD;
> > -	s16 prm_irqst_ocp_mod = OCP_MOD;
> >  
> >  	if (!cpu_is_omap34xx())
> >  		return 0;
> > @@ -88,8 +86,7 @@ static int __init 
> omap3xxx_voltage_early_init(void)
> >  		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
> >  	}
> >  
> > -	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
> > -				       omap3_vdd_info,
> > +	return omap_voltage_early_init(omap3_vdd_info,
> >  				       ARRAY_SIZE(omap3_vdd_info));
> >  };
> >  core_initcall(omap3xxx_voltage_early_init);
> > diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c 
> b/arch/arm/mach-omap2/voltagedomains44xx_data.c
> > index cb64996..208a67d 100644
> > --- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
> > +++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
> > @@ -81,9 +81,6 @@ static struct omap_vdd_info *omap4_vdd_info[] = {
> >  /* OMAP4 specific voltage init functions */
> >  static int __init omap44xx_voltage_early_init(void)
> >  {
> > -	s16 prm_mod = OMAP4430_PRM_DEVICE_INST;
> > -	s16 prm_irqst_ocp_mod = OMAP4430_PRM_OCP_SOCKET_INST;
> > -
> >  	if (!cpu_is_omap44xx())
> >  		return 0;
> >  
> > @@ -95,8 +92,7 @@ static int __init 
> omap44xx_voltage_early_init(void)
> >  	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
> >  	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
> >  
> > -	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
> > -				       omap4_vdd_info,
> > +	return omap_voltage_early_init(omap4_vdd_info,
> >  				       ARRAY_SIZE(omap4_vdd_info));
> >  };
> >  core_initcall(omap44xx_voltage_early_init);
> 

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

end of thread, other threads:[~2011-03-18  4:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-17 15:12 [PATCH 0/2] omap2+: voltage: simple clean-ups Sanjeev Premi
2011-03-17 15:12 ` [PATCH 1/2] omap3: voltage: remove unnecessary param passing Sanjeev Premi
2011-03-17 20:10   ` Kevin Hilman
2011-03-18  4:58     ` Premi, Sanjeev
2011-03-17 15:12 ` [PATCH 2/2] omap3: voltage: fix variable type and name Sanjeev Premi
2011-03-17 20:11   ` Kevin Hilman
2011-03-18  4:53     ` Premi, Sanjeev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).