[PATCH v2 2/4] Thermal: exynos: Support for TMU regulator defined at device tree

amit daniel kachhap amit.daniel at samsung.com
Thu Apr 25 23:09:14 EST 2013


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.

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


More information about the devicetree-discuss mailing list