[PATCH 01/40] clkdev: add clkname to struct clk_lookup

Sascha Hauer s.hauer at pengutronix.de
Wed Apr 11 05:42:31 EDT 2012


On Wed, Apr 11, 2012 at 10:20:34AM +0100, Russell King - ARM Linux wrote:
> On Wed, Apr 11, 2012 at 04:45:29PM +0800, Richard Zhao wrote:
> > On Wed, Apr 11, 2012 at 09:24:02AM +0100, Mark Brown wrote:
> > > On Wed, Apr 11, 2012 at 09:11:50AM +0800, Richard Zhao wrote:
> > > 
> > > > I don't like string loopup either. And after DT binding, we can use
> > > > phandler to refer clk.
> > > 
> > > No, this is only useful on platforms that use DT.  This is a generic
> > > Linux API so it needs to support architectures and platforms that don't
> > > use DT as it's vanishingly unlikely that DT will ever be adopted by all
> > > platforms.
> > My point is using string lookup as less as possible. When one register
> > a clk, one already got the struct clk* pointer and could use it in
> > struct lookup.
> > 
> > I'm worried about the performance as I saw string lookup is used more
> > and more often. In fast boot case, for example, even 5ms is important.
> 
> Yes, and you're not the only one who has that concern.  What this patch
> does is turn a pair of string compares through a table into that plus
> another set of string compares across all struct clk, which will make
> the lookup yet more expensive.
> 
> I see no reason why you'd register the cl_lookup structures before you
> know about which clks actually exist - and if they already exist, then
> you can already find the struct clk pointer and use that to register
> the proper return value for clk_get() via the clkdev APIs.

Indeed I have struct clk pointers, so I can instead use a to-be-written
combination of clkdev_alloc/clkdev_add. Would that be ok?

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list