Re: [PATCH 2/2] PLAT-OMAP: MCBSP: Move code mach specific from plat-omap to mach-omap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've not been following these McBSP issues, but this
comment suggests to me that the clock API is just not
being used "correctly" here:

On Tuesday 15 April 2008, Chandra shekhar wrote:
> 1> 
> Clock structure can be moved to header file and create a structure.
> So that instead of calling each clock by its name,( big problem for 2430 and 34xx
> Which has 5 mcbsp instances)  it can be called by Using mcbsp id. 
> 
> Something like this can be done... 
> 
> static char omap_mcbsp_ick[][12] = {"mcbsp1_ick\0",
>                                                         "mcbsp2_ick\0",.........
>                         
>                                                         };
> 
> static char omap_mcbsp_fck[][12] = {"mcbsp1_fck\0",
>                                                         "mcbsp2_fck\0",.........
>                                                         };
> 
> static struct omap_mcbsp_clocks {
>                         struct clk *ick;
>                         struct clk *fck;
>                         } omap_mcbsp_clk[OMAP_MAX_MCBSP_COUNT]; 
> 
> clk_enable(omap_mcbsp_clk[id].ick);
> 
> Clk_get or clk_enable/disable will be much simplified.

The "correct" way to use the clock ACPI would be like:

	struct device *mcbsp = ... something ... ;
	struct clk *ick, *mck;

	ick = clk_get(mcbsp, "ick");
	fck = clk_get(mcbsp, "fck");

That is, don't expect clients to use names like "mcbsp2_fck" and
know which McBSP they're using ... just expect them to know
they have *some* module, and that its clock has generic names
such as "ick" and "fck".

Of course, working that way may involve a bunch of other changes...

- Dave

--
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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux