Message ID | B00E06E2766C2744B022DE9BAF3C59D542E07F@zmy16exm69.ds.mot.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Kevin Hilman |
Headers | show |
"Wang Sawsd-A24013" <cqwang@motorola.com> writes: > From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 00:00:00 2001 > From: Chunqiu Wang <cqwang@motorola.com> > Date: Wed, 24 Jun 2009 06:48:52 +0800 > Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC > > Current OMAP SmartReflex driver only supports TI Triton > Power IC, add a callback to make it possible to use > different PowerIC and use different settings to > configure OMAP3 Voltage Controller for DVFS > > Board file can setup a new function to have different settings > on SR to configure their Power IC for voltage scaling > > Signed-off-by: Chunqiu Wang <cqwang@motorola.com> Your patch seems wrapped again: checkpatch reports: ERROR: patch seems to be corrupt (line wrapped?) #38: FILE: arch/arm/mach-omap2/smartreflex.c:57: u32 value) ERROR: trailing whitespace #95: FILE: arch/arm/mach-omap2/smartreflex.h:252: +^I^I^I^I^I^Iu8 t_vsel, u8 c_vsel); $ total: 2 errors, 0 warnings, 71 lines checked > --- > arch/arm/mach-omap2/smartreflex.c | 13 +++++++++++++ > arch/arm/mach-omap2/smartreflex.h | 4 ++++ > arch/arm/plat-omap/Kconfig | 2 +- > 3 files changed, 18 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-omap2/smartreflex.c > b/arch/arm/mach-omap2/smartreflex.c > index 9d462e3..bacf602 100644 > --- a/arch/arm/mach-omap2/smartreflex.c > +++ b/arch/arm/mach-omap2/smartreflex.c > @@ -52,6 +52,8 @@ struct omap_sr { > > #define SR_REGADDR(offs) (sr->srbase_addr + offset) > > +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; > + > static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, > u32 value) > { > __raw_writel(value, SR_REGADDR(offset)); > @@ -767,6 +769,11 @@ void disable_smartreflex(int srid) > } > } > > +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t > fun) > +{ > + omap3_volscale_vcbypass_fun = fun; > +} > + > /* Voltage Scaling using SR VCBYPASS */ > int sr_voltagescale_vcbypass(u32 target_opp, u32 current_opp, > u8 target_vsel, u8 current_vsel) > @@ -779,6 +786,10 @@ int sr_voltagescale_vcbypass(u32 target_opp, u32 > current_opp, > u32 t2_smps_steps = 0; > u32 t2_smps_delay = 0; > > + if (omap3_volscale_vcbypass_fun) > + return omap3_volscale_vcbypass_fun(target_opp, > current_opp, > + target_vsel, > current_vsel); > + > vdd = get_vdd(target_opp); > target_opp_no = get_opp_no(target_opp); > current_opp_no = get_opp_no(current_opp); > @@ -940,6 +951,7 @@ static int __init omap3_sr_init(void) > return -ENODEV; > } > > +#ifdef CONFIG_TWL4030_CORE > /* Enable SR on T2 */ > ret = twl4030_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &RdReg, > R_DCDC_GLOBAL_CFG); > @@ -947,6 +959,7 @@ static int __init omap3_sr_init(void) > RdReg |= DCDC_GLOBAL_CFG_ENABLE_SRFLX; > ret |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, RdReg, > R_DCDC_GLOBAL_CFG); > +#endif > > if (cpu_is_omap34xx()) { > sr1.clk = clk_get(NULL, "sr1_fck"); > diff --git a/arch/arm/mach-omap2/smartreflex.h > b/arch/arm/mach-omap2/smartreflex.h > index 2a0e823..c4aca9d 100644 > --- a/arch/arm/mach-omap2/smartreflex.h > +++ b/arch/arm/mach-omap2/smartreflex.h > @@ -248,9 +248,13 @@ void disable_smartreflex(int srid); > int sr_voltagescale_vcbypass(u32 t_opp, u32 c_opp, u8 t_vsel, u8 > c_vsel); > void sr_start_vddautocomap(int srid, u32 target_opp_no); > int sr_stop_vddautocomap(int srid); > +typedef int (*omap3_voltagescale_vcbypass_t)(u32 t_opp, u32 c_opp, > + u8 t_vsel, u8 c_vsel); > +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t > fun); > #else > static inline void enable_smartreflex(int srid) {} > static inline void disable_smartreflex(int srid) {} > +#define omap3_voltagescale_vcbypass_setup(fun) do {} while (0); > #endif > > #endif > diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig > index c8ba1e2..8d2c607 100644 > --- a/arch/arm/plat-omap/Kconfig > +++ b/arch/arm/plat-omap/Kconfig > @@ -68,7 +68,7 @@ config OMAP_DEBUG_CLOCKDOMAIN > > config OMAP_SMARTREFLEX > bool "SmartReflex support" > - depends on ARCH_OMAP34XX && TWL4030_CORE && PM > + depends on ARCH_OMAP34XX && PM > help > Say Y if you want to enable SmartReflex. > > -- > 1.5.4.3 > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Kevin Hilman [mailto:khilman@deeprootsystems.com] > Sent: 2009年6月24日 8:19 > To: Wang Sawsd-A24013 > Cc: linux-omap@vger.kernel.org > Subject: Re: [PATCH 1/2] Support OMAP3 VC adaptation with > different Power IC > > "Wang Sawsd-A24013" <cqwang@motorola.com> writes: > > > From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 > 00:00:00 2001 > > From: Chunqiu Wang <cqwang@motorola.com> > > Date: Wed, 24 Jun 2009 06:48:52 +0800 > > Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC > > > > Current OMAP SmartReflex driver only supports TI Triton > > Power IC, add a callback to make it possible to use > > different PowerIC and use different settings to > > configure OMAP3 Voltage Controller for DVFS > > > > Board file can setup a new function to have different settings > > on SR to configure their Power IC for voltage scaling > > > > Signed-off-by: Chunqiu Wang <cqwang@motorola.com> > > Your patch seems wrapped again: > > checkpatch reports: > > ERROR: patch seems to be corrupt (line wrapped?) > #38: FILE: arch/arm/mach-omap2/smartreflex.c:57: > u32 value) > > ERROR: trailing whitespace > #95: FILE: arch/arm/mach-omap2/smartreflex.h:252: > +^I^I^I^I^I^Iu8 t_vsel, u8 c_vsel); $ > > total: 2 errors, 0 warnings, 71 lines checked > Sorry about that, this time I attached these two patch files. Thanks, Chunqiu
Wang Sawsd-A24013 wrote: > From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 00:00:00 2001 > From: Chunqiu Wang <cqwang@motorola.com> > Date: Wed, 24 Jun 2009 06:48:52 +0800 > Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC > > Current OMAP SmartReflex driver only supports TI Triton > Power IC, add a callback to make it possible to use > different PowerIC and use different settings to > configure OMAP3 Voltage Controller for DVFS > > Board file can setup a new function to have different settings > on SR to configure their Power IC for voltage scaling > > Signed-off-by: Chunqiu Wang <cqwang@motorola.com> > --- > arch/arm/mach-omap2/smartreflex.c | 13 +++++++++++++ > arch/arm/mach-omap2/smartreflex.h | 4 ++++ > arch/arm/plat-omap/Kconfig | 2 +- > 3 files changed, 18 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-omap2/smartreflex.c > b/arch/arm/mach-omap2/smartreflex.c > index 9d462e3..bacf602 100644 > --- a/arch/arm/mach-omap2/smartreflex.c > +++ b/arch/arm/mach-omap2/smartreflex.c > @@ -52,6 +52,8 @@ struct omap_sr { > > #define SR_REGADDR(offs) (sr->srbase_addr + offset) > > +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; > Perhaps use static int (*omap3_volscale_vcbypass_fun) (u32, u32, u8, u8); This gets rid of the compiler warning on incompatible pointer types when you register a function via omap3_voltagescale_vcbypass_setup(). -- Mike > + > static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, > u32 value) > { > __raw_writel(value, SR_REGADDR(offset)); > @@ -767,6 +769,11 @@ void disable_smartreflex(int srid) > } > } > > +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t > fun) > +{ > + omap3_volscale_vcbypass_fun = fun; > +} > + > /* Voltage Scaling using SR VCBYPASS */ > int sr_voltagescale_vcbypass(u32 target_opp, u32 current_opp, > u8 target_vsel, u8 current_vsel) > @@ -779,6 +786,10 @@ int sr_voltagescale_vcbypass(u32 target_opp, u32 > current_opp, > u32 t2_smps_steps = 0; > u32 t2_smps_delay = 0; > > + if (omap3_volscale_vcbypass_fun) > + return omap3_volscale_vcbypass_fun(target_opp, > current_opp, > + target_vsel, > current_vsel); > + > vdd = get_vdd(target_opp); > target_opp_no = get_opp_no(target_opp); > current_opp_no = get_opp_no(current_opp); > @@ -940,6 +951,7 @@ static int __init omap3_sr_init(void) > return -ENODEV; > } > > +#ifdef CONFIG_TWL4030_CORE > /* Enable SR on T2 */ > ret = twl4030_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &RdReg, > R_DCDC_GLOBAL_CFG); > @@ -947,6 +959,7 @@ static int __init omap3_sr_init(void) > RdReg |= DCDC_GLOBAL_CFG_ENABLE_SRFLX; > ret |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, RdReg, > R_DCDC_GLOBAL_CFG); > +#endif > > if (cpu_is_omap34xx()) { > sr1.clk = clk_get(NULL, "sr1_fck"); > diff --git a/arch/arm/mach-omap2/smartreflex.h > b/arch/arm/mach-omap2/smartreflex.h > index 2a0e823..c4aca9d 100644 > --- a/arch/arm/mach-omap2/smartreflex.h > +++ b/arch/arm/mach-omap2/smartreflex.h > @@ -248,9 +248,13 @@ void disable_smartreflex(int srid); > int sr_voltagescale_vcbypass(u32 t_opp, u32 c_opp, u8 t_vsel, u8 > c_vsel); > void sr_start_vddautocomap(int srid, u32 target_opp_no); > int sr_stop_vddautocomap(int srid); > +typedef int (*omap3_voltagescale_vcbypass_t)(u32 t_opp, u32 c_opp, > + u8 t_vsel, u8 c_vsel); > +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t > fun); > #else > static inline void enable_smartreflex(int srid) {} > static inline void disable_smartreflex(int srid) {} > +#define omap3_voltagescale_vcbypass_setup(fun) do {} while (0); > #endif > > #endif > diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig > index c8ba1e2..8d2c607 100644 > --- a/arch/arm/plat-omap/Kconfig > +++ b/arch/arm/plat-omap/Kconfig > @@ -68,7 +68,7 @@ config OMAP_DEBUG_CLOCKDOMAIN > > config OMAP_SMARTREFLEX > bool "SmartReflex support" > - depends on ARCH_OMAP34XX && TWL4030_CORE && PM > + depends on ARCH_OMAP34XX && PM > help > Say Y if you want to enable SmartReflex. > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Mike Chan [mailto:mike@android.com] > Sent: 2009年6月25日 9:25 > To: Wang Sawsd-A24013 > Cc: linux-omap@vger.kernel.org > Subject: Re: [PATCH 1/2] Support OMAP3 VC adaptation with > different Power IC > > Wang Sawsd-A24013 wrote: > > From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 > 00:00:00 2001 > > From: Chunqiu Wang <cqwang@motorola.com> > > Date: Wed, 24 Jun 2009 06:48:52 +0800 > > Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC > > > > Current OMAP SmartReflex driver only supports TI Triton > > Power IC, add a callback to make it possible to use > > different PowerIC and use different settings to > > configure OMAP3 Voltage Controller for DVFS > > > > Board file can setup a new function to have different settings > > on SR to configure their Power IC for voltage scaling > > > > Signed-off-by: Chunqiu Wang <cqwang@motorola.com> > > --- > > arch/arm/mach-omap2/smartreflex.c | 13 +++++++++++++ > > arch/arm/mach-omap2/smartreflex.h | 4 ++++ > > arch/arm/plat-omap/Kconfig | 2 +- > > 3 files changed, 18 insertions(+), 1 deletions(-) > > > > diff --git a/arch/arm/mach-omap2/smartreflex.c > > b/arch/arm/mach-omap2/smartreflex.c > > index 9d462e3..bacf602 100644 > > --- a/arch/arm/mach-omap2/smartreflex.c > > +++ b/arch/arm/mach-omap2/smartreflex.c > > @@ -52,6 +52,8 @@ struct omap_sr { > > > > #define SR_REGADDR(offs) (sr->srbase_addr + offset) > > > > +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; > > > Perhaps use > static int (*omap3_volscale_vcbypass_fun) (u32, u32, u8, u8); > > This gets rid of the compiler warning on incompatible pointer > types when > you register a function via omap3_voltagescale_vcbypass_setup(). > > -- Mike Thanks Mike, but we do not see the warnning with the original Code, note this patch is slightly different with the one we sent To you based on K29, this new patch have four parameters Sinc some change has been made in the sr_voltagescale_vcbypass to add two more parameters. Is your warnning caused by this? Thanks, Chunqiu -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
"Wang Sawsd-A24013" <cqwang@motorola.com> writes: >> -----Original Message----- >> From: Kevin Hilman [mailto:khilman@deeprootsystems.com] >> Sent: 2009年6月24日 8:19 >> To: Wang Sawsd-A24013 >> Cc: linux-omap@vger.kernel.org >> Subject: Re: [PATCH 1/2] Support OMAP3 VC adaptation with >> different Power IC >> >> "Wang Sawsd-A24013" <cqwang@motorola.com> writes: >> >> > From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 >> 00:00:00 2001 >> > From: Chunqiu Wang <cqwang@motorola.com> >> > Date: Wed, 24 Jun 2009 06:48:52 +0800 >> > Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC >> > >> > Current OMAP SmartReflex driver only supports TI Triton >> > Power IC, add a callback to make it possible to use >> > different PowerIC and use different settings to >> > configure OMAP3 Voltage Controller for DVFS >> > >> > Board file can setup a new function to have different settings >> > on SR to configure their Power IC for voltage scaling >> > >> > Signed-off-by: Chunqiu Wang <cqwang@motorola.com> >> >> Your patch seems wrapped again: >> >> checkpatch reports: >> >> ERROR: patch seems to be corrupt (line wrapped?) >> #38: FILE: arch/arm/mach-omap2/smartreflex.c:57: >> u32 value) >> >> ERROR: trailing whitespace >> #95: FILE: arch/arm/mach-omap2/smartreflex.h:252: >> +^I^I^I^I^I^Iu8 t_vsel, u8 c_vsel); $ >> >> total: 2 errors, 0 warnings, 71 lines checked >> > Sorry about that, this time I attached these two patch files. > Can you please fix your mailer setup so you can resend patches inline and get a broader review. I suggest bypassing any mailer such as outlook and configuring git-send-email to send them directly to an SMTP server. If your local SMTP is really that broken to be wrapping text, I suggest you send via a gmail account. This link describes how to set this up for gmail, but also works for a local SMTP server. http://git.or.cz/gitwiki/GitTips#Mail Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Wang Sawsd-A24013 wrote: >> -----Original Message----- >> From: Mike Chan [mailto:mike@android.com] >> Sent: 2009年6月25日 9:25 >> To: Wang Sawsd-A24013 >> Cc: linux-omap@vger.kernel.org >> Subject: Re: [PATCH 1/2] Support OMAP3 VC adaptation with >> different Power IC >> >> Wang Sawsd-A24013 wrote: >> >>> From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 >>> >> 00:00:00 2001 >> >>> From: Chunqiu Wang <cqwang@motorola.com> >>> Date: Wed, 24 Jun 2009 06:48:52 +0800 >>> Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC >>> >>> Current OMAP SmartReflex driver only supports TI Triton >>> Power IC, add a callback to make it possible to use >>> different PowerIC and use different settings to >>> configure OMAP3 Voltage Controller for DVFS >>> >>> Board file can setup a new function to have different settings >>> on SR to configure their Power IC for voltage scaling >>> >>> Signed-off-by: Chunqiu Wang <cqwang@motorola.com> >>> --- >>> arch/arm/mach-omap2/smartreflex.c | 13 +++++++++++++ >>> arch/arm/mach-omap2/smartreflex.h | 4 ++++ >>> arch/arm/plat-omap/Kconfig | 2 +- >>> 3 files changed, 18 insertions(+), 1 deletions(-) >>> >>> diff --git a/arch/arm/mach-omap2/smartreflex.c >>> b/arch/arm/mach-omap2/smartreflex.c >>> index 9d462e3..bacf602 100644 >>> --- a/arch/arm/mach-omap2/smartreflex.c >>> +++ b/arch/arm/mach-omap2/smartreflex.c >>> @@ -52,6 +52,8 @@ struct omap_sr { >>> >>> #define SR_REGADDR(offs) (sr->srbase_addr + offset) >>> >>> +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; >>> >>> >> Perhaps use >> static int (*omap3_volscale_vcbypass_fun) (u32, u32, u8, u8); >> >> This gets rid of the compiler warning on incompatible pointer >> types when >> you register a function via omap3_voltagescale_vcbypass_setup(). >> >> -- Mike >> > Thanks Mike, but we do not see the warnning with the original > Code, note this patch is slightly different with the one we sent > To you based on K29, this new patch have four parameters > Sinc some change has been made in the > sr_voltagescale_vcbypass to add two more parameters. > > Is your warnning caused by this? > > This patch stand-alone doesn't give me any warnings. Its only when you hook into this from your board file. Might be the compiler I'm using. I used this patch + modified version of the patches you sent me before to get the two working. (Yes, 4 params). -- MIke > Thanks, > Chunqiu > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> > > > Can you please fix your mailer setup so you can resend patches inline > and get a broader review. > > I suggest bypassing any mailer such as outlook and configuring > git-send-email to send them directly to an SMTP server. If your local > SMTP is really that broken to be wrapping text, I suggest you > send via a gmail account. This link describes how to set this > up for gmail, but also works for a local SMTP server. > > http://git.or.cz/gitwiki/GitTips#Mail > > Kevin > Thanks Kevin, sure I will resend them. Thanks, Chunqiu -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> >>> diff --git a/arch/arm/mach-omap2/smartreflex.c > >>> b/arch/arm/mach-omap2/smartreflex.c > >>> index 9d462e3..bacf602 100644 > >>> --- a/arch/arm/mach-omap2/smartreflex.c > >>> +++ b/arch/arm/mach-omap2/smartreflex.c > >>> @@ -52,6 +52,8 @@ struct omap_sr { > >>> > >>> #define SR_REGADDR(offs) (sr->srbase_addr + offset) > >>> > >>> +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; > >>> > >>> > >> Perhaps use > >> static int (*omap3_volscale_vcbypass_fun) (u32, u32, u8, u8); > >> > >> This gets rid of the compiler warning on incompatible pointer > >> types when > >> you register a function via omap3_voltagescale_vcbypass_setup(). > >> > >> -- Mike > >> > > Thanks Mike, but we do not see the warnning with the original > > Code, note this patch is slightly different with the one we sent > > To you based on K29, this new patch have four parameters > > Sinc some change has been made in the > > sr_voltagescale_vcbypass to add two more parameters. > > > > Is your warnning caused by this? > > > > > > This patch stand-alone doesn't give me any warnings. Its only when you > hook into this from your board file. Might be the compiler I'm using. > I used this patch + modified version of the patches you sent me before > to get the two working. (Yes, 4 params). I just verified the change on both current linux-omap pm branch and The branch we are using, neither of them reports any warnning. Just reminder, the patch I sent to you are different in all these files, Since we should use 2 params in our kernel, the patch I sent to This list has 4 params. Please check whether the warnning Is caused by the mismatch in the function declaration and The function definition in the board file. It should not cause the warning even you are using different Compiler. > > -- MIke > > Thanks, > > Chunqiu > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Jun 25, 2009 at 1:12 PM, Wang Sawsd-A24013<cqwang@motorola.com> wrote: >> >>> diff --git a/arch/arm/mach-omap2/smartreflex.c >> >>> b/arch/arm/mach-omap2/smartreflex.c >> >>> index 9d462e3..bacf602 100644 >> >>> --- a/arch/arm/mach-omap2/smartreflex.c >> >>> +++ b/arch/arm/mach-omap2/smartreflex.c >> >>> @@ -52,6 +52,8 @@ struct omap_sr { >> >>> >> >>> Â #define SR_REGADDR(offs) (sr->srbase_addr + offset) >> >>> >> >>> +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; >> >>> >> >>> >> >> Perhaps use >> >> static int (*omap3_volscale_vcbypass_fun) (u32, u32, u8, u8); >> >> >> >> This gets rid of the compiler warning on incompatible pointer >> >> types when >> >> you register a function via omap3_voltagescale_vcbypass_setup(). >> >> >> >> -- Mike >> >> >> > Thanks Mike, but we do not see the warnning with the original >> > Code, note this patch is slightly different with the one we sent >> > To you based on K29, this new patch have four parameters >> > Sinc some change has been made in the >> > sr_voltagescale_vcbypass to add two more parameters. >> > >> > Is your warnning caused by this? >> > >> > >> >> This patch stand-alone doesn't give me any warnings. Its only when you >> hook into this from your board file. Might be the compiler I'm using. >> I used this patch + modified version of the patches you sent me before >> to get the two working. (Yes, 4 params). > I just verified the change on both current linux-omap pm branch and > The branch we are using, neither of them reports any warnning. > > Just reminder, the patch I sent to you are different in all these files, > Since we should use 2 params in our kernel, the patch I sent to > This list has 4 params. Please check whether the warnning > Is caused by the mismatch in the function declaration and > The function definition in the board file. > > It should not cause the warning even you are using different > Compiler. > Ah you're right, I must have done something wrong on my side. It was probably the 2 vs 4 params. -- Mike >> >> -- MIke >> > Thanks, >> > Chunqiu >> > >> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
different PowerIC and use different settings to configure OMAP3 Voltage Controller for DVFS Board file can setup a new function to have different settings on SR to configure their Power IC for voltage scaling Signed-off-by: Chunqiu Wang <cqwang@motorola.com> --- arch/arm/mach-omap2/smartreflex.c | 13 +++++++++++++ arch/arm/mach-omap2/smartreflex.h | 4 ++++ arch/arm/plat-omap/Kconfig | 2 +- 3 files changed, 18 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c index 9d462e3..bacf602 100644 --- a/arch/arm/mach-omap2/smartreflex.c +++ b/arch/arm/mach-omap2/smartreflex.c @@ -52,6 +52,8 @@ struct omap_sr { #define SR_REGADDR(offs) (sr->srbase_addr + offset) +static omap3_voltagescale_vcbypass_t omap3_volscale_vcbypass_fun; + static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, u32 value) { __raw_writel(value, SR_REGADDR(offset)); @@ -767,6 +769,11 @@ void disable_smartreflex(int srid) } } +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t fun) +{ + omap3_volscale_vcbypass_fun = fun; +} + /* Voltage Scaling using SR VCBYPASS */ int sr_voltagescale_vcbypass(u32 target_opp, u32 current_opp, u8 target_vsel, u8 current_vsel) @@ -779,6 +786,10 @@ int sr_voltagescale_vcbypass(u32 target_opp, u32 current_opp, u32 t2_smps_steps = 0; u32 t2_smps_delay = 0; + if (omap3_volscale_vcbypass_fun) + return omap3_volscale_vcbypass_fun(target_opp, current_opp, + target_vsel, current_vsel); + vdd = get_vdd(target_opp); target_opp_no = get_opp_no(target_opp); current_opp_no = get_opp_no(current_opp); @@ -940,6 +951,7 @@ static int __init omap3_sr_init(void) return -ENODEV; } +#ifdef CONFIG_TWL4030_CORE /* Enable SR on T2 */ ret = twl4030_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &RdReg, R_DCDC_GLOBAL_CFG); @@ -947,6 +959,7 @@ static int __init omap3_sr_init(void) RdReg |= DCDC_GLOBAL_CFG_ENABLE_SRFLX; ret |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, RdReg, R_DCDC_GLOBAL_CFG); +#endif if (cpu_is_omap34xx()) { sr1.clk = clk_get(NULL, "sr1_fck"); diff --git a/arch/arm/mach-omap2/smartreflex.h b/arch/arm/mach-omap2/smartreflex.h index 2a0e823..c4aca9d 100644 --- a/arch/arm/mach-omap2/smartreflex.h +++ b/arch/arm/mach-omap2/smartreflex.h @@ -248,9 +248,13 @@ void disable_smartreflex(int srid); int sr_voltagescale_vcbypass(u32 t_opp, u32 c_opp, u8 t_vsel, u8 c_vsel); void sr_start_vddautocomap(int srid, u32 target_opp_no); int sr_stop_vddautocomap(int srid); +typedef int (*omap3_voltagescale_vcbypass_t)(u32 t_opp, u32 c_opp, + u8 t_vsel, u8 c_vsel); +void omap3_voltagescale_vcbypass_setup(omap3_voltagescale_vcbypass_t fun); #else static inline void enable_smartreflex(int srid) {} static inline void disable_smartreflex(int srid) {} +#define omap3_voltagescale_vcbypass_setup(fun) do {} while (0); #endif #endif diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig index c8ba1e2..8d2c607 100644 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig @@ -68,7 +68,7 @@ config OMAP_DEBUG_CLOCKDOMAIN config OMAP_SMARTREFLEX bool "SmartReflex support" - depends on ARCH_OMAP34XX && TWL4030_CORE && PM + depends on ARCH_OMAP34XX && PM help Say Y if you want to enable SmartReflex.
From c1aba8ba7af3ddd16346d95795bda71e65baa4d0 Mon Sep 17 00:00:00 2001 From: Chunqiu Wang <cqwang@motorola.com> Date: Wed, 24 Jun 2009 06:48:52 +0800 Subject: [PATCH] Support OMAP3 VC adaptation with different Power IC Current OMAP SmartReflex driver only supports TI Triton Power IC, add a callback to make it possible to use