From: Wei Ni <wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Eduardo Valentin <edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
MLongnecker-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
mikko.perttunen-/1wQRMveznE@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH V7 05/12] thermal: tegra: add Tegra210 specific SOC_THERM driver
Date: Tue, 15 Mar 2016 14:59:52 +0800 [thread overview]
Message-ID: <56E7B2E8.8070100@nvidia.com> (raw)
In-Reply-To: <20160314185739.GA1872-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
On 2016年03月15日 02:57, Eduardo Valentin wrote:
> * PGP Signed by an unknown key
>
> On Fri, Mar 11, 2016 at 11:10:25AM +0800, Wei Ni wrote:
>> Add Tegra210 specific SOC_THERM driver.
>>
>> Signed-off-by: Wei Ni <wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>> drivers/thermal/tegra/Makefile | 1 +
>> drivers/thermal/tegra/soctherm-fuse.c | 11 ++
>> drivers/thermal/tegra/soctherm.c | 6 ++
>> drivers/thermal/tegra/soctherm.h | 4 +
>> drivers/thermal/tegra/tegra210-soctherm.c | 173 ++++++++++++++++++++++++++++++
>
> No Kconfig change?
Yes, we doesn't need Kconfig change.
As discussed with Thierry in [V1,03/10] thermal: tegra: split tegra_soctherm
driver, he said:
"I'd like to do this differently to reduce the number of Kconfig symbols.
The alternate proposal would be for the TEGRA_SOCTHERM symbol to remain
as it is and then build in driver support depending on the selected
ARCH_TEGRA_*_SOC options."
So we only have "config TEGRA_SOCTHERM" in the Kconfig, and in Makefile, we add
tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o
tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o
>
>> 5 files changed, 195 insertions(+)
>> create mode 100644 drivers/thermal/tegra/tegra210-soctherm.c
>>
>> diff --git a/drivers/thermal/tegra/Makefile b/drivers/thermal/tegra/Makefile
>> index d5fb15377b97..bf9e028eba28 100644
>> --- a/drivers/thermal/tegra/Makefile
>> +++ b/drivers/thermal/tegra/Makefile
>> @@ -2,3 +2,4 @@ obj-$(CONFIG_TEGRA_SOCTHERM) += tegra-soctherm.o
>>
>> tegra-soctherm-y := soctherm.o soctherm-fuse.o
>> tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o
>> +tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o
>> diff --git a/drivers/thermal/tegra/soctherm-fuse.c b/drivers/thermal/tegra/soctherm-fuse.c
>> index 931c299ab0e8..29963180c453 100644
>> --- a/drivers/thermal/tegra/soctherm-fuse.c
>> +++ b/drivers/thermal/tegra/soctherm-fuse.c
>> @@ -28,7 +28,18 @@
>> #define FUSE_TSENSOR_COMMON 0x180
>>
>> /*
>> + * Tegra210: Layout of bits in FUSE_TSENSOR_COMMON:
>> + * 3 2 1 0
>> + * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
>> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> + * | BASE_FT | BASE_CP | SHFT_FT | SHIFT_CP |
>> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> + *
>> * Tegra12x, etc:
>> + * In chips prior to Tegra210, this fuse was incorrectly sized as 26 bits,
>> + * and didn't hold SHIFT_CP in [31:26]. Therefore these missing six bits
>> + * were obtained via the FUSE_SPARE_REALIGNMENT_REG register [5:0].
>> + *
>> * FUSE_TSENSOR_COMMON:
>> * 3 2 1 0
>> * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
>> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
>> index f56e5a11384e..52a33760e8e8 100644
>> --- a/drivers/thermal/tegra/soctherm.c
>> +++ b/drivers/thermal/tegra/soctherm.c
>> @@ -147,6 +147,12 @@ static const struct of_device_id tegra_soctherm_of_match[] = {
>> .data = &tegra124_soctherm,
>> },
>> #endif
>> +#ifdef CONFIG_ARCH_TEGRA_210_SOC
>> + {
>> + .compatible = "nvidia,tegra210-soctherm",
>> + .data = &tegra210_soctherm,
>> + },
>> +#endif
>> { },
>> };
>> MODULE_DEVICE_TABLE(of, tegra_soctherm_of_match);
>> diff --git a/drivers/thermal/tegra/soctherm.h b/drivers/thermal/tegra/soctherm.h
>> index f80ee1492ddb..69d317269af1 100644
>> --- a/drivers/thermal/tegra/soctherm.h
>> +++ b/drivers/thermal/tegra/soctherm.h
>> @@ -106,5 +106,9 @@ int tegra_calc_tsensor_calib(const struct tegra_tsensor *sensor,
>> extern const struct tegra_soctherm_soc tegra124_soctherm;
>> #endif
>>
>> +#ifdef CONFIG_ARCH_TEGRA_210_SOC
>> +extern const struct tegra_soctherm_soc tegra210_soctherm;
>> +#endif
>
> Is CONFIG_ARCH_TEGRA_210_SOC going to be tristate?
>
> If only bool, do you need to make the symbol extern?
This config is the bool, it already defined in:
drivers/soc/tegra/Kconfig
>
>> --
>> 1.9.1
>>
>
> * Unknown Key
> * 0x7DA4E256
>
WARNING: multiple messages have this Message-ID (diff)
From: Wei Ni <wni@nvidia.com>
To: Eduardo Valentin <edubezval@gmail.com>
Cc: <rui.zhang@intel.com>, <thierry.reding@gmail.com>,
<MLongnecker@nvidia.com>, <swarren@wwwdotorg.org>,
<mikko.perttunen@kapsi.fi>, <linux-tegra@vger.kernel.org>,
<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH V7 05/12] thermal: tegra: add Tegra210 specific SOC_THERM driver
Date: Tue, 15 Mar 2016 14:59:52 +0800 [thread overview]
Message-ID: <56E7B2E8.8070100@nvidia.com> (raw)
In-Reply-To: <20160314185739.GA1872@localhost.localdomain>
On 2016年03月15日 02:57, Eduardo Valentin wrote:
> * PGP Signed by an unknown key
>
> On Fri, Mar 11, 2016 at 11:10:25AM +0800, Wei Ni wrote:
>> Add Tegra210 specific SOC_THERM driver.
>>
>> Signed-off-by: Wei Ni <wni@nvidia.com>
>> ---
>> drivers/thermal/tegra/Makefile | 1 +
>> drivers/thermal/tegra/soctherm-fuse.c | 11 ++
>> drivers/thermal/tegra/soctherm.c | 6 ++
>> drivers/thermal/tegra/soctherm.h | 4 +
>> drivers/thermal/tegra/tegra210-soctherm.c | 173 ++++++++++++++++++++++++++++++
>
> No Kconfig change?
Yes, we doesn't need Kconfig change.
As discussed with Thierry in [V1,03/10] thermal: tegra: split tegra_soctherm
driver, he said:
"I'd like to do this differently to reduce the number of Kconfig symbols.
The alternate proposal would be for the TEGRA_SOCTHERM symbol to remain
as it is and then build in driver support depending on the selected
ARCH_TEGRA_*_SOC options."
So we only have "config TEGRA_SOCTHERM" in the Kconfig, and in Makefile, we add
tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o
tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o
>
>> 5 files changed, 195 insertions(+)
>> create mode 100644 drivers/thermal/tegra/tegra210-soctherm.c
>>
>> diff --git a/drivers/thermal/tegra/Makefile b/drivers/thermal/tegra/Makefile
>> index d5fb15377b97..bf9e028eba28 100644
>> --- a/drivers/thermal/tegra/Makefile
>> +++ b/drivers/thermal/tegra/Makefile
>> @@ -2,3 +2,4 @@ obj-$(CONFIG_TEGRA_SOCTHERM) += tegra-soctherm.o
>>
>> tegra-soctherm-y := soctherm.o soctherm-fuse.o
>> tegra-soctherm-$(CONFIG_ARCH_TEGRA_124_SOC) += tegra124-soctherm.o
>> +tegra-soctherm-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-soctherm.o
>> diff --git a/drivers/thermal/tegra/soctherm-fuse.c b/drivers/thermal/tegra/soctherm-fuse.c
>> index 931c299ab0e8..29963180c453 100644
>> --- a/drivers/thermal/tegra/soctherm-fuse.c
>> +++ b/drivers/thermal/tegra/soctherm-fuse.c
>> @@ -28,7 +28,18 @@
>> #define FUSE_TSENSOR_COMMON 0x180
>>
>> /*
>> + * Tegra210: Layout of bits in FUSE_TSENSOR_COMMON:
>> + * 3 2 1 0
>> + * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
>> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> + * | BASE_FT | BASE_CP | SHFT_FT | SHIFT_CP |
>> + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> + *
>> * Tegra12x, etc:
>> + * In chips prior to Tegra210, this fuse was incorrectly sized as 26 bits,
>> + * and didn't hold SHIFT_CP in [31:26]. Therefore these missing six bits
>> + * were obtained via the FUSE_SPARE_REALIGNMENT_REG register [5:0].
>> + *
>> * FUSE_TSENSOR_COMMON:
>> * 3 2 1 0
>> * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
>> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
>> index f56e5a11384e..52a33760e8e8 100644
>> --- a/drivers/thermal/tegra/soctherm.c
>> +++ b/drivers/thermal/tegra/soctherm.c
>> @@ -147,6 +147,12 @@ static const struct of_device_id tegra_soctherm_of_match[] = {
>> .data = &tegra124_soctherm,
>> },
>> #endif
>> +#ifdef CONFIG_ARCH_TEGRA_210_SOC
>> + {
>> + .compatible = "nvidia,tegra210-soctherm",
>> + .data = &tegra210_soctherm,
>> + },
>> +#endif
>> { },
>> };
>> MODULE_DEVICE_TABLE(of, tegra_soctherm_of_match);
>> diff --git a/drivers/thermal/tegra/soctherm.h b/drivers/thermal/tegra/soctherm.h
>> index f80ee1492ddb..69d317269af1 100644
>> --- a/drivers/thermal/tegra/soctherm.h
>> +++ b/drivers/thermal/tegra/soctherm.h
>> @@ -106,5 +106,9 @@ int tegra_calc_tsensor_calib(const struct tegra_tsensor *sensor,
>> extern const struct tegra_soctherm_soc tegra124_soctherm;
>> #endif
>>
>> +#ifdef CONFIG_ARCH_TEGRA_210_SOC
>> +extern const struct tegra_soctherm_soc tegra210_soctherm;
>> +#endif
>
> Is CONFIG_ARCH_TEGRA_210_SOC going to be tristate?
>
> If only bool, do you need to make the symbol extern?
This config is the bool, it already defined in:
drivers/soc/tegra/Kconfig
>
>> --
>> 1.9.1
>>
>
> * Unknown Key
> * 0x7DA4E256
>
next prev parent reply other threads:[~2016-03-15 6:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-11 3:10 [PATCH V7 05/12] thermal: tegra: add Tegra210 specific SOC_THERM driver Wei Ni
2016-03-11 3:10 ` Wei Ni
2016-03-14 18:57 ` Eduardo Valentin
[not found] ` <20160314185739.GA1872-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2016-03-15 6:59 ` Wei Ni [this message]
2016-03-15 6:59 ` Wei Ni
2016-03-15 19:54 ` Eduardo Valentin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56E7B2E8.8070100@nvidia.com \
--to=wni-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=MLongnecker-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mikko.perttunen-/1wQRMveznE@public.gmane.org \
--cc=rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.