RE: [PATCH 1/2] omap3: voltage: remove unnecessary param passing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Hilman, Kevin 
> Sent: Friday, March 18, 2011 1:41 AM
> To: Premi, Sanjeev
> Cc: linux-omap@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 1/2] omap3: voltage: remove unnecessary 
> param passing
> 
> Sanjeev Premi <premi@xxxxxx> 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@xxxxxx>
> 
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux