Hi Thara, On 7/2/2010 12:18 PM, Gopinath, Thara wrote:
This patch extends the device opp structure to contain info about the voltage domain to which the device belongs to and to contain pointers to scale the operating rate of the device. This patch also adds an API in the opp layer that can be used by the voltage layer to get a list of all the scalable devices belonging to a particular voltage domain. This API is to be typically called only once by the voltage layer per voltage domain instance and the device list should be stored. This approach makes it easy during dvfs to scale all the devices associated with a voltage domain and then scale the voltage domain. Signed-off-by: Thara Gopinath<thara@xxxxxx> --- arch/arm/plat-omap/include/plat/opp.h | 37 +++++++++++++++++++++++++- arch/arm/plat-omap/opp.c | 47 +++++++++++++++++++++++++------- 2 files changed, 72 insertions(+), 12 deletions(-) diff --git a/arch/arm/plat-omap/include/plat/opp.h b/arch/arm/plat-omap/include/plat/opp.h index 893731f..15e1e70 100644 --- a/arch/arm/plat-omap/include/plat/opp.h +++ b/arch/arm/plat-omap/include/plat/opp.h @@ -16,6 +16,7 @@ #include<linux/err.h> #include<linux/cpufreq.h> +#include<linux/clk.h> #include<plat/common.h> @@ -38,21 +39,45 @@ */ struct omap_opp_def { char *hwmod_name; + char *vdd_name;
vdd should be an attribute of hwmod. For one hwmod in a soc we will always have the same vdd. That will avoid to duplicate information and to have to populate that in each OPP entry (cf patch 6).
unsigned long freq; unsigned long u_volt; + int (*set_rate)(struct device *dev, unsigned long rate); + unsigned long (*get_rate) (struct device *dev);
We might already discussed that, but why should we store that per OPP? Cannot we store that per device? Regards, Benoit -- 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