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 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.