* [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).