(gpio-fan): Add thermal control hooks
authorNishanth Menon <nm@ti.com>
Thu, 8 Jan 2015 18:05:03 +0000 (12:05 -0600)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 9 Mar 2015 16:59:36 +0000 (09:59 -0700)
Allow gpio-fan to be used as thermal cooling device for platforms that
use GPIO maps to control fans.

As part of this change, we make the shutdown and remove logic the same
as well.

Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/devicetree/bindings/gpio/gpio-fan.txt
drivers/hwmon/gpio-fan.c

index f996d42..439a743 100644 (file)
@@ -11,6 +11,9 @@ Optional properties:
   must have the RPM values in ascending order.
 - alarm-gpios: This pin going active indicates something is wrong with
   the fan, and a udev event will be fired.
+- cooling-cells: If used as a cooling device, must be <2>
+  Also see: Documentation/devicetree/bindings/thermal/thermal.txt
+  min and max states are derived from the speed-map of the fan.
 
 Note: At least one the "gpios" or "alarm-gpios" properties must be set.
 
@@ -25,3 +28,13 @@ Examples:
                                      6000 2>;
                alarm-gpios = <&gpio1 15 1>;
        };
+       gpio_fan_cool: gpio_fan {
+               compatible = "gpio-fan";
+               gpios = <&gpio2 14 1
+                        &gpio2 13 1>;
+               gpio-fan,speed-map =    <0    0>,
+                                       <3000 1>,
+                                       <6000 2>;
+               alarm-gpios = <&gpio2 15 1>;
+               #cooling-cells = <2>; /* min followed by max */
+       };
Simple merge