[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52B41B18.30302@nvidia.com>
Date: Fri, 20 Dec 2013 18:25:28 +0800
From: bilhuang <bilhuang@...dia.com>
To: Viresh Kumar <viresh.kumar@...aro.org>
CC: "Rafael J. Wysocki" <rjw@...ysocki.net>,
Stephen Warren <swarren@...dotorg.org>,
Thierry Reding <thierry.reding@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"cpufreq@...r.kernel.org" <cpufreq@...r.kernel.org>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>
Subject: Re: [PATCH v5 1/1] cpufreq: tegra: Re-model Tegra20 cpufreq driver
On 12/20/2013 05:31 PM, Viresh Kumar wrote:
> On 19 December 2013 16:48, Bill Huang <bilhuang@...dia.com> wrote:
>> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
>> index ce52ed9..22dfc43 100644
>> --- a/drivers/cpufreq/Kconfig.arm
>> +++ b/drivers/cpufreq/Kconfig.arm
>> @@ -225,6 +225,18 @@ config ARM_TEGRA_CPUFREQ
>> help
>> This adds the CPUFreq driver support for TEGRA SOCs.
>>
>> +config ARM_TEGRA20_CPUFREQ
>> + bool "NVIDIA TEGRA20"
>> + depends on ARM_TEGRA_CPUFREQ && ARCH_TEGRA_2x_SOC
>
> Probably just in case you agree to my next comment:
>
> depends on ARCH_TEGRA_2x_SOC
>
>
>> + default y
>> + help
>> + This enables Tegra20 cpufreq functionality, it adds
>> + Tegra20 CPU frequency ladder and the call back functions
>> + to set CPU rate. All the non-SoC dependant codes are
>> + controlled by the config ARM_TEGRA_CPUFREQ.
>> +
>> + If in doubt, say N.
>
>
>> diff --git a/drivers/cpufreq/tegra-cpufreq.c b/drivers/cpufreq/tegra-cpufreq.c
>> /*
>> + * Copyright (c) 2013, NVIDIA Corporation. All rights reserved.
>> *
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms and conditions of the GNU General Public License,
>> + * version 2, as published by the Free Software Foundation.
>> *
>> + * This program is distributed in the hope it will be useful, but WITHOUT
>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
>> + * more details.
>> */
>>
>> #include <linux/kernel.h>
>> +#include <linux/platform_device.h>
>> +#include <linux/of.h>
>> +#include <linux/tegra-cpufreq.h>
>> +
>> +int __init tegra_cpufreq_init(void)
>> +{
>> + struct device_node *root;
>> +
>> + root = of_find_node_by_path("/");
>> + if (root) {
>> + struct platform_device_info devinfo;
>> + const char *compat;
>> + int i;
>> +
>> + memset(&devinfo, 0, sizeof(devinfo));
>> + i = of_property_count_strings(root, "compatible");
>> + if (i > 0) {
>> + of_property_read_string_index(
>> + root, "compatible", i - 1, &compat);
>> + devinfo.name = kasprintf(
>> + GFP_KERNEL, "%s-cpufreq", compat);
>> + platform_device_register_full(&devinfo);
>> + }
>> }
>> +EXPORT_SYMBOL(tegra_cpufreq_init);
>
> Probably above is all that is present in this file. This is just about adding
> the right cpufreq device so that right driver can get probed.
>
> I don't think this code is present at the right place. We don't need a file
> in cpufreq/ which is there just to add a device :) ..
>
> Probably move this piece of code to arch/mach-tegra where you are calling
> init.
>
> And so remove ARM_TEGRA_CPUFREQ config option completely.
>
Don't you think it worth creating a file here so this can be shared to
arm64?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists