thermal: exynos: clear IRQs later in exynos4412_tmu_initialize()
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Thu, 26 Apr 2018 11:51:24 +0000 (13:51 +0200)
committerEduardo Valentin <edubezval@gmail.com>
Sun, 6 May 2018 23:23:26 +0000 (16:23 -0700)
Clear IRQs after enabling thermal tripping (it should make no
difference in driver operation). This prepares the driver code
to moving IRQs clearing call from ->tmu_initialize method to
exynos_tmu_initialize().

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/samsung/exynos_tmu.c

index 44a426a607d11867812ecdb83fcdbd90ce935db2..1664d37ce84d8577b32855d04244579fa2993791 100644 (file)
@@ -470,8 +470,6 @@ static void exynos4412_tmu_initialize(struct platform_device *pdev)
        writel(rising_threshold, data->base + EXYNOS_THD_TEMP_RISE);
        writel(get_th_reg(data, 0, true), data->base + EXYNOS_THD_TEMP_FALL);
 
-       data->tmu_clear_irqs(data);
-
        /* if last threshold limit is also present */
        for (i = 0; i < of_thermal_get_ntrips(data->tzd); i++) {
                if (trips[i].type == THERMAL_TRIP_CRITICAL) {
@@ -488,6 +486,8 @@ static void exynos4412_tmu_initialize(struct platform_device *pdev)
        con = readl(data->base + EXYNOS_TMU_REG_CONTROL);
        con |= (1 << EXYNOS_TMU_THERM_TRIP_EN_SHIFT);
        writel(con, data->base + EXYNOS_TMU_REG_CONTROL);
+
+       data->tmu_clear_irqs(data);
 }
 
 static void exynos5433_tmu_initialize(struct platform_device *pdev)