[<prev] [next>] [day] [month] [year] [list]
Message-id: <25766018.317281345718689872.JavaMail.weblogic@epml13>
Date: Thu, 23 Aug 2012 10:44:49 +0000 (GMT)
From: MyungJoo Ham <myungjoo.ham@...sung.com>
To: ÀÌÁ¾È <jonghwa3.lee@...sung.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>
Cc: ¹Ú°æ¹Î <kyungmin.park@...sung.com>,
Mike Turquette <mturquette@...com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Xiaoguang Chen <chenxg@...vell.com>
Subject: Re: [PATCH 2/2] devfreq: exynos4: Support initialization of freq_table
and max_state of devfreq's profile.
> 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.lee@...sung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@...sung.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
>
>
>
>
>
>
>
>
Powered by blists - more mailing lists