This patch initializes freq_table and max_state of devfreq's profile.
They will be used for creating transition table.

Signed-off-by: Jonghwa Lee <jonghwa3....@samsung.com>
---
 drivers/devfreq/exynos4_bus.c |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/drivers/devfreq/exynos4_bus.c b/drivers/devfreq/exynos4_bus.c
index 88ddc77..9c08855 100644
--- a/drivers/devfreq/exynos4_bus.c
+++ b/drivers/devfreq/exynos4_bus.c
@@ -985,7 +985,8 @@ static __devinit int exynos4_busfreq_probe(struct 
platform_device *pdev)
        struct busfreq_data *data;
        struct opp *opp;
        struct device *dev = &pdev->dev;
-       int err = 0;
+       int err = 0, i;
+       unsigned int *freq_table;
 
        data = kzalloc(sizeof(struct busfreq_data), GFP_KERNEL);
        if (data == NULL) {
@@ -1042,6 +1043,33 @@ static __devinit int exynos4_busfreq_probe(struct 
platform_device *pdev)
 
        platform_set_drvdata(pdev, data);
 
+       switch (data->type) {
+       case TYPE_BUSF_EXYNOS4210:
+               freq_table = devm_kzalloc(&pdev->dev, sizeof(unsigned int) * 
EX4210_LV_NUM,
+                                       GFP_KERNEL);
+
+               for (i = 0; i < EX4210_LV_NUM; i++)
+                       freq_table[i] = exynos4210_busclk_table[i].clk;
+
+               exynos4_devfreq_profile.max_state = EX4210_LV_NUM;
+               break;
+       case TYPE_BUSF_EXYNOS4x12:
+               freq_table = devm_kzalloc(&pdev->dev, sizeof(unsigned int) * 
EX4x12_LV_NUM,
+                                       GFP_KERNEL);
+
+               for (i = 0; i < EX4x12_LV_NUM; i++)
+                       freq_table[i] = exynos4x12_mifclk_table[i].clk;
+
+               exynos4_devfreq_profile.max_state = EX4x12_LV_NUM;
+               break;
+       default:
+               dev_err(dev, "Cannot determine the device id %d\n", data->type);
+               err = -EINVAL;
+               goto err_opp_add;
+       }
+
+       exynos4_devfreq_profile.freq_table = freq_table;
+
        busfreq_mon_reset(data);
 
        data->devfreq = devfreq_add_device(dev, &exynos4_devfreq_profile,
-- 
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to