"Nori, Sekhar" <[email protected]> writes: > On Tue, Dec 08, 2009 at 05:34:41, Kevin Hilman wrote: >> Sekhar Nori <[email protected]> writes: >> > > [...] > >> > diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c >> > b/arch/arm/mach-davinci/board-dm646x-evm.c >> > index 6ff3411..5d9283f 100644 >> > --- a/arch/arm/mach-davinci/board-dm646x-evm.c >> > +++ b/arch/arm/mach-davinci/board-dm646x-evm.c >> > @@ -40,6 +40,8 @@ > > [...] > >> > >> > +#define CDCE949_XIN_RATE 27000000 >> > + >> > +/* CDCE949 support - "lpsc" field is overridden to work as clock number */ >> > +static struct clk cdce_clk_in = { >> > + .name = "cdce_xin", >> > + .flags = ALWAYS_ENABLED, >> >> Why do you need ALWAYS_ENABLED here. I'd rather see >> clk_get()/clk_enable() used when this clock is required. >> > > This particular clock is just the crystal which feeds > into the CDCE949. It cannot be enabled/disabled per se. > This crystal is different from the OSC_IN crystal which > feeds into the SoC. > > However, I do see that none of the reference clocks in > <soc>.c files are marked as always enabled. So, I will > remove this.
OK. The ALWAYS_ENABLED field currently only applies to clocks that have a valid enable (currently only PSC clocks.) >> To do this, we'll need to add enable/disable functionaltiy for non-PSC >> clocks. Probably the best way to do this is to add add an 'enable' hook >> to 'struct clk' and clk_enable() can use that. > > CDCE949 does have functionality to disable particular clock > output (Y1, Y2 etc..), but that's not supported right now. > I guess that can be an enhancement patch done as and when it > is required. Agreed, this can be added later. Kevin _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
