[PATCH v2 2/4] Thermal: exynos: Support for TMU regulator defined at device tree
amit daniel kachhap
amit.daniel at samsung.com
Mon Apr 29 14:35:00 EST 2013
Hi Lukasz/Eduardo,
On Thu, Apr 25, 2013 at 9:14 PM, Eduardo Valentin
<eduardo.valentin at ti.com> wrote:
> Amit, Lukasz,
>
>
> On 25-04-2013 09:29, Lukasz Majewski wrote:
>>
>> Hi Amit,
>>
>>> Hi Lukasz Majewski,
>>>
>>> Sorry for late review but I am currently working on restructuring the
>>> whole exynos thermal driver and this support of LDO can be added as
>>> feature as not all socs support this. This is also suggested by
>>> Eduardo. All your other patches looks fine.
>>
>>
>> But this is how it is already done. The VDD_TS is optional, so
>> Exynos5440 and Exynos4210 will not be broken.
>>
>> This shall preserve the correct behavior of the thermal driver.
Yes lukasz I saw your code that vdd_ts is optional but adding
regulator support in submitted TMU V2 re-structured is more easier and
even regulator_get function call can be avoided. If you are ok I can
re-submit your patch series with regulator support present.
>>
>
> If you guys plan to move to feature based approach, like suggested in V1,
> then Id recommend adding a /* TODO: */ entry in your driver.
>
> Amit, are you including this LDO support on your rework?
I just submitted the re-structured patches without the LDO support. I
will add the regulator support in a new patch.
Thanks,
Amit Daniel
>
>
>>>
>>> Thanks,
>>> Amit Daniel
>>>
>>> On Thu, Apr 25, 2013 at 6:00 PM, Lukasz Majewski
>>> <l.majewski at samsung.com> 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 at samsung.com>
>>>> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
>>>> ---
>>>> Changes for v2:
>>>> - Change dev_info() to dev_warn()
>>>> ---
>>>> 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 3d6e32a..328fe7e 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;
>>>> @@ -948,6 +951,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)
>>>> @@ -957,6 +961,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_warn(&pdev->dev,
>>>> + "Regulator %s not defined at device
>>>> tree.\n",
>>>> + EXYNOS_TMU_REGULATOR);
>>>> + }
>>>> +
>>>> data = devm_kzalloc(&pdev->dev, sizeof(struct
>>>> exynos_tmu_data), GFP_KERNEL);
>>>> if (!data) {
>>>> --
>>>> 1.7.10.4
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-samsung-soc" in the body of a message to
>>>> majordomo at vger.kernel.org More majordomo info at
>>>> http://vger.kernel.org/majordomo-info.html
>>
>>
>>
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the devicetree-discuss
mailing list