Hi On Mon, 27 Jun 2011, Benoit Cousson wrote: > From: Rajendra Nayak <rnayak@xxxxxx> > > Add the SoC specific implemenation for clkdm_is_idle > for OMAP2/3 and OMAP4. The subject line and the changelog needs to be updated to read 'clkdm_allows_idle' Other than that, it looks good. - Paul > Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> > Cc: Paul Walmsley <paul@xxxxxxxxx> > --- > arch/arm/mach-omap2/clockdomain2xxx_3xxx.c | 12 ++++++++++++ > arch/arm/mach-omap2/clockdomain44xx.c | 7 +++++++ > 2 files changed, 19 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c > index 48d0db7..81f3e46 100644 > --- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c > +++ b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c > @@ -13,6 +13,7 @@ > */ > > #include <linux/types.h> > +#include <linux/errno.h> > #include <plat/prcm.h> > #include "prm.h" > #include "prm2xxx_3xxx.h" > @@ -146,6 +147,15 @@ static void omap2_clkdm_deny_idle(struct clockdomain *clkdm) > _clkdm_del_autodeps(clkdm); > } > > +static int omap2_clkdm_allows_idle(struct clockdomain *clkdm) > +{ > + if (!clkdm->clktrctrl_mask) > + return -EINVAL; > + > + return omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs, > + clkdm->clktrctrl_mask); > +} > + > static void _enable_hwsup(struct clockdomain *clkdm) > { > if (cpu_is_omap24xx()) > @@ -252,6 +262,7 @@ struct clkdm_ops omap2_clkdm_operations = { > .clkdm_wakeup = omap2_clkdm_wakeup, > .clkdm_allow_idle = omap2_clkdm_allow_idle, > .clkdm_deny_idle = omap2_clkdm_deny_idle, > + .clkdm_allows_idle = omap2_clkdm_allows_idle, > .clkdm_clk_enable = omap2_clkdm_clk_enable, > .clkdm_clk_disable = omap2_clkdm_clk_disable, > }; > @@ -269,6 +280,7 @@ struct clkdm_ops omap3_clkdm_operations = { > .clkdm_wakeup = omap3_clkdm_wakeup, > .clkdm_allow_idle = omap3_clkdm_allow_idle, > .clkdm_deny_idle = omap3_clkdm_deny_idle, > + .clkdm_allows_idle = omap2_clkdm_allows_idle, > .clkdm_clk_enable = omap2_clkdm_clk_enable, > .clkdm_clk_disable = omap2_clkdm_clk_disable, > }; > diff --git a/arch/arm/mach-omap2/clockdomain44xx.c b/arch/arm/mach-omap2/clockdomain44xx.c > index a1a4ecd..1599b18 100644 > --- a/arch/arm/mach-omap2/clockdomain44xx.c > +++ b/arch/arm/mach-omap2/clockdomain44xx.c > @@ -93,6 +93,12 @@ static void omap4_clkdm_deny_idle(struct clockdomain *clkdm) > clkdm->cm_inst, clkdm->clkdm_offs); > } > > +static int omap4_clkdm_allows_idle(struct clockdomain *clkdm) > +{ > + return omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition, > + clkdm->cm_inst, clkdm->clkdm_offs); > +} > + > static int omap4_clkdm_clk_enable(struct clockdomain *clkdm) > { > bool hwsup = false; > @@ -132,6 +138,7 @@ struct clkdm_ops omap4_clkdm_operations = { > .clkdm_wakeup = omap4_clkdm_wakeup, > .clkdm_allow_idle = omap4_clkdm_allow_idle, > .clkdm_deny_idle = omap4_clkdm_deny_idle, > + .clkdm_allows_idle = omap4_clkdm_allows_idle, > .clkdm_clk_enable = omap4_clkdm_clk_enable, > .clkdm_clk_disable = omap4_clkdm_clk_disable, > }; > -- > 1.7.0.4 > -- 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