Hello, On Tue, 16 Nov 2010 07:10:36 -0600 Nishanth Menon <nm@xxxxxx> wrote: > I feel you may have misunderstood the code, we DONOT oblige all boards > to *have* to call omapX_init_opp. It is a device_initcall - so for the > boards that dont call it, device_initcall will trigger and initialzie > it. the hooks for the customization of the OPPs is in OPP layer itself. This is exactly what I have understood. > the need we satisfy is this: if you need to support two sets of boards: > a) boards that are happy with the defaults - most of the boards - dont > do anything in the board file. (device_init_call with auto register the > defaults) > b) boards that need customization - these guys need to call > omapX_init_opp(to register the defaults) before customizing the defaults. > > Does this explain the code and reason for the logic? if you do have a > better mechanism, lets know. Yes, it explains the code and reason for the logic, but still doesn't make it pretty :-) > > would prevent you from having no OPP table (the case where a NULL OPP > > table is passed is tested *before* in omapX_init_opp()). > HUH?? NULL table to a static function - what code are you talking > about?? why are you so behind BUG_ON, when there are valid reasons for > reentry into code. In the current design, yes, there are indeed valid reasons for reentry into the omapX_init_opp() function, and that's exactly the point I'm critizicing here. Regards! Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- 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