summaryrefslogtreecommitdiff
path: root/drivers/hwmon/gpio-fan.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-09-26 01:09:05 +0200
committerGuenter Roeck <linux@roeck-us.net>2017-10-29 18:36:03 -0700
commitef7a612415958de1f9afd86235d38b14975d0b7c (patch)
tree23ad423cfce2ba9ad651d86fdaafdccc7fc644ed /drivers/hwmon/gpio-fan.c
parentf9013c1677426df09022fe6fa0121e6fe9e1a0fa (diff)
hwmon: (gpio-fan) Localize platform data
There is not a single user of the platform data header in <linux/gpio-fan.h>. We can conclude that all current users are probing from the device tree, so start simplifying the code by pulling the header into the driver. Convert "unsigned" to "unsigned int" in the process to make checkpatch happy. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/gpio-fan.c')
-rw-r--r--drivers/hwmon/gpio-fan.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
index f29cee9398ef..cfa8d9b578dd 100644
--- a/drivers/hwmon/gpio-fan.c
+++ b/drivers/hwmon/gpio-fan.c
@@ -30,12 +30,33 @@
#include <linux/mutex.h>
#include <linux/hwmon.h>
#include <linux/gpio.h>
-#include <linux/gpio-fan.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/of_gpio.h>
#include <linux/thermal.h>
+struct gpio_fan_alarm {
+ unsigned int gpio;
+ unsigned int active_low;
+};
+
+struct gpio_fan_speed {
+ int rpm;
+ int ctrl_val;
+};
+
+struct gpio_fan_platform_data {
+ int num_ctrl;
+ unsigned int *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;
+};
+
struct gpio_fan_data {
struct platform_device *pdev;
struct device *hwmon_dev;