> -----Original Message-----
> From: Hilman, Kevin
> Sent: Friday, March 18, 2011 1:41 AM
> To: Premi, Sanjeev
> Cc: [email protected]
> Subject: Re: [PATCH 1/2] omap3: voltage: remove unnecessary
> param passing
>
> Sanjeev Premi <[email protected]> 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 <[email protected]>
>
> 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);
> --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html