[PATCH 1/1] ARM: OMAP2+: hwmod: Print an error message if no match exists for a hwmod class

Paul Walmsley paul at pwsan.com
Wed Aug 8 16:19:34 EDT 2012


Hi Vaibhav

On Wed, 8 Aug 2012, Bedia, Vaibhav wrote:

> On Wed, Aug 08, 2012 at 19:35:50, Paul Walmsley wrote:
>
> > It doesn't seem to me that this would necessarily always be an error.  
> > Suppose some init code to create cpsw devices is running on an OMAP3430.  
> > Then a omap_hwmod_for_each_by_class() that doesn't locate anything 
> > wouldn't be an error, right?
> 
> Well, I think a failed lookup operation will be a bit expensive since it
> iterates over the whole list of registered hwmods and hence put in the
> pr_err().

If performance is a serious problem there, we can maintain a list of hwmod 
pointers inside each struct omap_hwmod_class, updated when the hwmods are 
registered.  But as far as I know, performance hasn't been an issue here 
yet.  If performance is the real motivation, I'd rather see an 
implementation of per-class lists as described above.

> But I don't see how the SoC specific example that you pointed out
> could be handled without putting in cpu_is_* checks in the registration
> process itself :(

Hmm, why not?

To continue the earlier example, the init code in the platform code simply 
calls omap_hwmod_for_each_by_class(), and creates the appropriate device 
if anything was found.  If no cpsw IP blocks are present on a given SoC, 
nothing would happen.  No cpu_is_*() would be needed.


- Paul



More information about the linux-arm-kernel mailing list