Hi On Mon, 18 Jun 2012, Cousson, Benoit wrote: > I guess that patch need to be revisited based on discussion we had and > the patch you proposed in [1]. Assuming Tony is OK, it should be > probably part of the -rc, because this domain should not have been > introduced in 3.5-rc1 at all for OMAP4. Well as mentioned already on the lists, these clockdomains clearly exist; they are documented in the TRM and functional specification, and make sense from a chip perspective. For 3.6, I've already agreed to remove those clockdomains, even though it doesn't really match what's there on the chip. But I think 3.6 is the right time to do that. > So it will be better to revert the patch that introduced that first > before adding any new fix that will rely on a code that will disappear. > > In fact, I think the proper way to fix that while maintaining the > OMAP2&3 way of dealing with clkdm is to ensure that at least one clkdm > is there in either hwmod or the main_clk. That will fix these issues and > the one that will append when the fake main_clk will be removed. > > Here is a patch that is doing that. Please document what systems this has been tested on. > Thanks, > Benoit > > [1] http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg70177.html > > > --- > >From e5ffe6533236125c3c0b5eff883bfc1cf3cbe9f4 Mon Sep 17 00:00:00 2001 > From: Benoit Cousson <b-cousson@xxxxxx> > Date: Fri, 15 Jun 2012 11:26:49 +0200 > Subject: [PATCH] ARM: OMAP2+: hwmod: Do not check clkdm for main_clk if oh does have one > > When a clkdm is handled directly at the hwmod level, there is no need to handle > it with the main_clk as well. It is thus useless to complain about the missing clkdm for the main_clk in that case. > > Warn only if the clkdm is missing in both main_clk and hwmod. > > Init hwmod clkdm first to ensure it will be there when the main_clk > will be initialized. > > Signed-off-by: Benoit Cousson <b-cousson@xxxxxx> > Cc: Paul Walmsley <paul@xxxxxxxxx> > --- > arch/arm/mach-omap2/omap_hwmod.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c > index 162f9c7..f33f4e2 100644 > --- a/arch/arm/mach-omap2/omap_hwmod.c > +++ b/arch/arm/mach-omap2/omap_hwmod.c > @@ -609,7 +609,7 @@ static int _init_main_clk(struct omap_hwmod *oh) > return -EINVAL; > } > > - if (!oh->_clk->clkdm) > + if (!oh->_clk->clkdm && !oh->clkdm) > pr_warning("omap_hwmod: %s: missing clockdomain for %s.\n", > oh->main_clk, oh->_clk->name); > > @@ -1339,10 +1339,10 @@ static int _init_clocks(struct omap_hwmod *oh, void *data) > > pr_debug("omap_hwmod: %s: looking up clocks\n", oh->name); > > + ret |= _init_clkdm(oh); > ret |= _init_main_clk(oh); > ret |= _init_interface_clks(oh); > ret |= _init_opt_clks(oh); > - ret |= _init_clkdm(oh); > > if (!ret) > oh->_state = _HWMOD_STATE_CLKS_INITED; > -- > 1.7.0.4 > > > - Paul -- 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