drivers: thermal: Add low limits monitoring governor

Add low limits monitor governor, which will place a predefined
mitigation action on a cooling device, when the sensor reading falls
below a trip threshold.

This governor will throttle the minimum floor of a cooling device and
doesn't place a maximum scaling cap on a cooling device. So the cooling
devices monitored by this governor should have support to handle the
minimum floor request from the governor. If the cooling device doesn't
support, then the mitigation request from the governor will be ignored
by the thermal sys framework.

Change-Id: I867eb21b18eb0fef42250e21ee2c5920dd547def
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h
index 9408f3f..eca8c3c 100644
--- a/drivers/thermal/thermal_core.h
+++ b/drivers/thermal/thermal_core.h
@@ -98,6 +98,14 @@
 static inline void thermal_gov_power_allocator_unregister(void) {}
 #endif /* CONFIG_THERMAL_GOV_POWER_ALLOCATOR */
 
+#ifdef CONFIG_THERMAL_GOV_LOW_LIMITS
+int thermal_gov_low_limits_register(void);
+void thermal_gov_low_limits_unregister(void);
+#else
+static inline int thermal_gov_low_limits_register(void) { return 0; }
+static inline void thermal_gov_low_limits_unregister(void) {}
+#endif /* CONFIG_THERMAL_GOV_LOW_LIMITS */
+
 /* device tree support */
 #ifdef CONFIG_THERMAL_OF
 int of_parse_thermal_zones(void);