From: Eduardo Valentin <eduardo.valentin@ti.com>
To: Lukasz Majewski <l.majewski@samsung.com>
Cc: Eduardo Valentin <eduardo.valentin@ti.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Mike Turquette <mturquette@linaro.org>,
Zhang Rui <rui.zhang@intel.com>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>,
Linux PM list <linux-pm@vger.kernel.org>,
Amit Daniel Kachhap <amit.kachhap@linaro.org>,
Kyungmin Park <kyungmin.park@samsung.com>
Subject: Re: [PATCH 4/6] thermal: Support for TMU regulator defined at device tree
Date: Tue, 23 Apr 2013 11:01:36 -0400 [thread overview]
Message-ID: <5176A250.40209@ti.com> (raw)
In-Reply-To: <20130423082312.3caf60e0@amdc308.digital.local>
On 23-04-2013 02:23, Lukasz Majewski wrote:
> Hi Eduardo,
>
>> On 19-04-2013 12:38, Lukasz Majewski wrote:
>>> TMU probe function now checks for a device tree defined regulator.
>>> For compatibility reasons it is allowed to probe driver even without
>>> this regulator defined.
>>>
>>> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>> ---
>>> drivers/thermal/exynos_thermal.c | 19 +++++++++++++++++++
>>> 1 file changed, 19 insertions(+)
>>>
>>> diff --git a/drivers/thermal/exynos_thermal.c
>>> b/drivers/thermal/exynos_thermal.c index ba6094c..e922fa4 100644
>>> --- a/drivers/thermal/exynos_thermal.c
>>> +++ b/drivers/thermal/exynos_thermal.c
>>> @@ -38,6 +38,7 @@
>>> #include <linux/cpufreq.h>
>>> #include <linux/cpu_cooling.h>
>>> #include <linux/of.h>
>>> +#include <linux/regulator/consumer.h>
>>>
>>> #include <plat/cpu.h>
>>>
>>> @@ -119,6 +120,8 @@
>>>
>>> #define EXYNOS_ZONE_COUNT 3
>>>
>>> +#define EXYNOS_TMU_REGULATOR "vdd_ts"
>>> +
>>> struct exynos_tmu_data {
>>> struct exynos_tmu_platform_data *pdata;
>>> struct resource *mem;
>>> @@ -944,6 +947,7 @@ static int exynos_tmu_probe(struct
>>> platform_device *pdev) {
>>> struct exynos_tmu_data *data;
>>> struct exynos_tmu_platform_data *pdata =
>>> pdev->dev.platform_data;
>>> + struct regulator *reg;
>>> int ret, i;
>>>
>>> if (!pdata)
>>> @@ -953,6 +957,21 @@ static int exynos_tmu_probe(struct
>>> platform_device *pdev) dev_err(&pdev->dev, "No platform init data
>>> supplied.\n"); return -ENODEV;
>>> }
>>> +
>>> + reg = regulator_get(&pdev->dev, EXYNOS_TMU_REGULATOR);
>>> + if (!IS_ERR(reg)) {
>>> + ret = regulator_enable(reg);
>>> + if (ret) {
>>> + dev_err(&pdev->dev, "Regulator %s not
>>> enabled.\n",
>>> + EXYNOS_TMU_REGULATOR);
>>> + return ret;
>>> + }
>>> + } else {
>>> + dev_info(&pdev->dev,
>>> + "Regulator %s not defined at device
>>> tree.\n",
>>> + EXYNOS_TMU_REGULATOR);
>> Maybe a dev_warn would fit better?
>
> This is a bit tricky. I first wanted to return -ENODEV when regulator
> is not available. Then I understood, that some other SoCs (e.g.
> Exynos5) will not work.
>
> The info here shall give a clear warn signal, that providing a
> regulator for VDD_TS is crucial (since by default it can be connected
> to other PMIC outputs and when other device puts down this regulator
> the TMU will crash and shut down a system).
OK. I understand your point. Well, it depends on how you want to design
your driver. This is a clear case for having some sort of required
feature set bitmap, for instance. Each supported soc for your driver
would then have a bitmap indicating which features it actually supports.
Based on the bitmap you make it mandatory on your regulator_get
treatment. If it is mandatory, then you must clearly return an error
code. I have done a similar thing for the ti-soc-thermal driver
(drivers/staging/ti-soc-thermal/).
But again, this is your call, not sure if you want to go for that design
just for this item,
Still, if you keep the code the way it is, I d request to change your
message level to dev_warn. And in case you have a way to determine it is
a mandatory entry, then to dev_err
>
>>
>>> + }
>>> +
>>> data = devm_kzalloc(&pdev->dev, sizeof(struct
>>> exynos_tmu_data), GFP_KERNEL);
>>> if (!data) {
>>>
>
>
>
next prev parent reply other threads:[~2013-04-23 15:01 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-19 16:38 [PATCH 0/6] thermal:exynos4: Thermal Measurement Unit fixes for Samsung SoCs Lukasz Majewski
2013-04-19 16:38 ` [PATCH 1/6] clk:exynos4:TMU Thermal Measurement Unit clock added to common clock framework Lukasz Majewski
2013-04-19 16:38 ` [PATCH 2/6] thermal:exynos4: TMU Common clock framework support for TMU (Thermal Monitoring Unit) Lukasz Majewski
2013-04-19 17:26 ` Eduardo Valentin
2013-04-19 18:08 ` Sachin Kamat
2013-04-23 6:17 ` Lukasz Majewski
2013-04-23 7:15 ` Sachin Kamat
2013-04-23 8:06 ` Lukasz Majewski
2013-04-23 8:42 ` Sachin Kamat
2013-04-19 16:38 ` [PATCH 3/6] thermal:exynos4: TMU device tree support for Exynos4412 targets Lukasz Majewski
2013-04-19 17:28 ` Eduardo Valentin
2013-04-23 6:18 ` Lukasz Majewski
2013-04-22 4:19 ` Sachin Kamat
2013-04-23 6:19 ` Lukasz Majewski
2013-04-19 16:38 ` [PATCH 4/6] thermal: Support for TMU regulator defined at device tree Lukasz Majewski
2013-04-19 17:23 ` Eduardo Valentin
2013-04-23 6:23 ` Lukasz Majewski
2013-04-23 15:01 ` Eduardo Valentin [this message]
2013-04-19 16:38 ` [PATCH 5/6] thermal:exynos4: Enable support for Exynos4412 SoCs Lukasz Majewski
2013-04-19 18:11 ` Sachin Kamat
2013-04-19 18:21 ` Tomasz Figa
2013-04-19 18:26 ` Sachin Kamat
2013-04-22 6:25 ` amit kachhap
2013-04-22 6:35 ` Lukasz Majewski
2013-04-22 6:40 ` Sachin Kamat
2013-04-19 16:38 ` [PATCH 6/6] thermal:exynos4: Add documentation for Exynos SoC thermal bindings Lukasz Majewski
2013-04-22 4:55 ` Sachin Kamat
2013-04-23 6:25 ` Lukasz Majewski
2013-04-23 7:09 ` Sachin Kamat
2013-04-22 16:51 ` [PATCH 0/6] thermal:exynos4: Thermal Measurement Unit fixes for Samsung SoCs Kukjin Kim
2013-04-23 6:26 ` Lukasz Majewski
2013-04-23 7:19 ` Sachin Kamat
2013-04-23 8:01 ` Lukasz Majewski
2013-04-25 12:30 ` [PATCH v2 0/4] Thermal:exynos: Thermal Measurement Unit fix and Samsung SoCs support Lukasz Majewski
2013-04-25 12:30 ` [PATCH v2 1/4] ARM: dts: thermal: exynos4: TMU device tree support for Exynos4412 targets Lukasz Majewski
2013-04-25 15:45 ` Eduardo Valentin
2013-04-29 4:57 ` amit daniel kachhap
2013-04-25 12:30 ` [PATCH v2 2/4] Thermal: exynos: Support for TMU regulator defined at device tree Lukasz Majewski
2013-04-25 13:09 ` amit daniel kachhap
2013-04-25 13:29 ` Lukasz Majewski
2013-04-25 15:44 ` Eduardo Valentin
2013-04-25 16:29 ` Lukasz Majewski
2013-04-27 0:50 ` Zhang Rui
2013-04-29 4:38 ` amit daniel kachhap
2013-04-29 4:35 ` amit daniel kachhap
2013-04-25 12:30 ` [PATCH v2 3/4] ARM: dts: thermal: exynos4: Add documentation for Exynos SoC thermal bindings Lukasz Majewski
2013-04-25 15:46 ` Eduardo Valentin
2013-04-29 5:01 ` amit daniel kachhap
2013-04-25 12:30 ` [PATCH v2 4/4] ARM:TMU:fix: Avoid lockup when first frequency table entry is CPUFREQ_ENTRY_INVALID Lukasz Majewski
2013-04-25 15:11 ` Eduardo Valentin
2013-04-25 15:22 ` Lukasz Majewski
2013-04-25 15:39 ` Eduardo Valentin
2013-04-25 15:39 ` [PATCH v2 0/4] Thermal:exynos: Thermal Measurement Unit fix and Samsung SoCs support Eduardo Valentin
2013-04-25 16:28 ` Lukasz Majewski
2013-04-26 5:05 ` Sachin Kamat
2013-04-26 6:39 ` Lukasz Majewski
2013-04-26 6:45 ` Sachin Kamat
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=5176A250.40209@ti.com \
--to=eduardo.valentin@ti.com \
--cc=amit.kachhap@linaro.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=l.majewski@samsung.com \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=rui.zhang@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).