[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKohpomCPJYd+d_NnM9gxwQ7bH6C6=iLxbiWZbfNcjZ8Bi+2wA@mail.gmail.com>
Date: Fri, 20 Dec 2013 15:01:40 +0530
From: Viresh Kumar <viresh.kumar@...aro.org>
To: Bill Huang <bilhuang@...dia.com>
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 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.
--
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