[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