summaryrefslogtreecommitdiffstats
path: root/include/linux/gpio-fan.h
diff options
context:
space:
mode:
authorSimon Guinot <sguinot@lacie.com>2010-10-22 00:44:19 +0200
committerGuenter Roeck <guenter.roeck@ericsson.com>2010-10-25 14:11:37 -0700
commitd6fe1360f42e86262153927986dea6502daff703 (patch)
treeadaf8f6da75353dacc4d1d05ff4a042d6c9c0b11 /include/linux/gpio-fan.h
parent3247800676c4a04352cde72b9935b57ffc72ce15 (diff)
downloadlinux-d6fe1360f42e86262153927986dea6502daff703.tar.gz
linux-d6fe1360f42e86262153927986dea6502daff703.tar.xz
hwmon: add generic GPIO fan driver
This patch adds hwmon support for fans connected to GPIO lines. Platform specific information such as GPIO pinout and speed conversion array (rpm from/to GPIO value) are passed to the driver via platform_data. Signed-off-by: Simon Guinot <sguinot@lacie.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Diffstat (limited to 'include/linux/gpio-fan.h')
-rw-r--r--include/linux/gpio-fan.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/linux/gpio-fan.h b/include/linux/gpio-fan.h
new file mode 100644
index 000000000000..096659169215
--- /dev/null
+++ b/include/linux/gpio-fan.h
@@ -0,0 +1,36 @@
+/*
+ * include/linux/gpio-fan.h
+ *
+ * Platform data structure for GPIO fan driver
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#ifndef __LINUX_GPIO_FAN_H
+#define __LINUX_GPIO_FAN_H
+
+struct gpio_fan_alarm {
+ unsigned gpio;
+ unsigned active_low;
+};
+
+struct gpio_fan_speed {
+ int rpm;
+ int ctrl_val;
+};
+
+struct gpio_fan_platform_data {
+ int num_ctrl;
+ unsigned *ctrl; /* fan control GPIOs. */
+ struct gpio_fan_alarm *alarm; /* fan alarm GPIO. */
+ /*
+ * Speed conversion array: rpm from/to GPIO bit field.
+ * This array _must_ be sorted in ascending rpm order.
+ */
+ int num_speed;
+ struct gpio_fan_speed *speed;
+};
+
+#endif /* __LINUX_GPIO_FAN_H */