You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
committed by
Guenter Roeck
parent
3247800676
commit
d6fe1360f4
@@ -399,6 +399,15 @@ config SENSORS_GL520SM
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called gl520sm.
|
||||
|
||||
config SENSORS_GPIO_FAN
|
||||
tristate "GPIO fan"
|
||||
depends on GENERIC_GPIO
|
||||
help
|
||||
If you say yes here you get support for fans connected to GPIO lines.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called gpio-fan.
|
||||
|
||||
config SENSORS_CORETEMP
|
||||
tristate "Intel Core/Core2/Atom temperature sensor"
|
||||
depends on X86 && PCI && EXPERIMENTAL
|
||||
|
||||
@@ -51,6 +51,7 @@ obj-$(CONFIG_SENSORS_FSCHMD) += fschmd.o
|
||||
obj-$(CONFIG_SENSORS_G760A) += g760a.o
|
||||
obj-$(CONFIG_SENSORS_GL518SM) += gl518sm.o
|
||||
obj-$(CONFIG_SENSORS_GL520SM) += gl520sm.o
|
||||
obj-$(CONFIG_SENSORS_GPIO_FAN) += gpio-fan.o
|
||||
obj-$(CONFIG_SENSORS_ULTRA45) += ultra45_env.o
|
||||
obj-$(CONFIG_SENSORS_I5K_AMB) += i5k_amb.o
|
||||
obj-$(CONFIG_SENSORS_IBMAEM) += ibmaem.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 */
|
||||
Reference in New Issue
Block a user