Thermal: Intel SoC DTS: Change interrupt request behavior
authorBrian Bian <brian.bian@intel.com>
Wed, 12 Apr 2017 21:07:17 +0000 (14:07 -0700)
committerZhang Rui <rui.zhang@intel.com>
Fri, 5 May 2017 08:00:10 +0000 (16:00 +0800)
The interrupt request call in Intel SoC DTS driver may fail if
there is no underlying BIOS support. However, the user space
thermal daemon can still use the thermal zones created by the
SoC DTS driver in polling mode, therefore, instead of bailing
out on interrupt request failures, it is better just to log
a warning message and continue the init process.

Signed-off-by: Brian Bian <brian.bian@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/intel_soc_dts_thermal.c

index b2bbaa1c60b07e449ddafac601cedca234d936c8..c27868b2c6afc5f438754f370961fee1c3eaac8e 100644 (file)
@@ -73,8 +73,12 @@ static int __init intel_soc_thermal_init(void)
                                           IRQF_TRIGGER_RISING | IRQF_ONESHOT,
                                           "soc_dts", soc_dts);
                if (err) {
-                       pr_err("request_threaded_irq ret %d\n", err);
-                       goto error_irq;
+                       /*
+                        * Do not just error out because the user space thermal
+                        * daemon such as DPTF may use polling instead of being
+                        * interrupt driven.
+                        */
+                       pr_warn("request_threaded_irq ret %d\n", err);
                }
        }
 
@@ -88,7 +92,6 @@ static int __init intel_soc_thermal_init(void)
 error_trips:
        if (soc_dts_thres_irq)
                free_irq(soc_dts_thres_irq, soc_dts);
-error_irq:
        intel_soc_dts_iosf_exit(soc_dts);
 
        return err;