> -----Original Message----- > From: Nishanth Menon [mailto:menon.nishanth@xxxxxxxxx] > Sent: Saturday, October 03, 2009 8:35 PM > To: Premi, Sanjeev > Cc: linux-omap@xxxxxxxxxxxxxxx > Subject: Question on OPP table handling > > Sanjeev Premi said the following on 10/01/2009 01:03 PM: > > +struct omap_opp omap3_mpu_rate_table[] = { > > + {0, 0, 0}, > > + /*OPP1*/ > > + {S125M, VDD1_OPP1, 0x1E}, > > + /*OPP2*/ > > + {S250M, VDD1_OPP2, 0x26}, > > + /*OPP3*/ > > + {S500M, VDD1_OPP3, 0x30}, > > + /*OPP4*/ > > + {S550M, VDD1_OPP4, 0x36}, > > + /*OPP5*/ > > + {S600M, VDD1_OPP5, 0x3C}, > > +}; > > > For those involved, > if we wanted to convert omap3_mpu_table[] into > *omap3_mpu_table so that > we dynamically initialize it based on cpu type - what would be the > recommendations? Nishanth, Good idea! As a table, previous patch enables it (not as intent, but due to syntax): > +/* struct omap_opp_table - View OPP table as an object > + * @min: Minimum OPP id > + * @max: Maximim OPP id > + * @opps: Pointer to array defining the OPPs. > + * > + * An OPP table has varied length. Knowing minimum and maximum > + * OPP ids allow easy traversal. > + */ > +struct omap_opp_table { > + u8 min; > + u8 max; > + struct omap_opp* opps; > +}; But now, I think it would be good to have an API that can fill an opp_table: int add_opp_definition(u8 id, u32 freq, u16 vsel); ...and, if an array is preferred, length can be set as: int set_opp_table_length (u8 max); If I were to extend the discussion from other thread on toggling the valid OPPs based on "enable_off_mode", these could be handy. int set_opp_valid(bool flag); bool is_opp_valid(void); Best regards, Sanjeev > Regards, > Nishanth Menon > > > -- 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