[PATCH 10/10] S3C64XX I2S: En/Disable codec clocks.

Ben Dooks ben-linux at fluff.org
Tue Sep 15 20:18:29 EDT 2009


On Tue, Sep 15, 2009 at 09:35:48PM +0900, jassi brar wrote:
> On Tue, Sep 15, 2009 at 8:49 PM, Mark Brown
> <broonie at opensource.wolfsonmicro.com> wrote:
> > On Tue, Sep 15, 2009 at 07:02:42PM +0900, Jassi wrote:
> >
> >>       switch (clk_id) {
> >>       case S3C64XX_CLKSRC_PCLK:
> >>               iismod &= ~S3C64XX_IISMOD_IMS_SYSMUX;
> >> +             clk_disable(i2s->iis_cclk);
> >>               break;
> >>
> >>       case S3C64XX_CLKSRC_MUX:
> >>               iismod |= S3C64XX_IISMOD_IMS_SYSMUX;
> >> +             clk_enable(i2s->iis_cclk);
> >>               break;
> >
> > I'd expect that this will cause trouble eventually - machine drivers
> > tend to call set_sysclk() repeatedly, meaning that the clock will be
> > repeatedly enabled or disabled.  Eventually this will overflow the
> > counter the clock API is using, perhaps even cause it to complain loudly
> > about errors (eg, if the use count drops below zero).  A local reference
> > count should deal with those issues, or checking to see if iismod
> > actualy changed before updating the clock API.
> Yes, this was a bad idea.

agreed.

-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20090916/40a97046/attachment.sig>


More information about the linux-arm-kernel mailing list