1 /* 2 * include/linux/gpio-fan.h 3 * 4 * Platform data structure for GPIO fan driver 5 * 6 * This file is licensed under the terms of the GNU General Public 7 * License version 2. This program is licensed "as is" without any 8 * warranty of any kind, whether express or implied. 9 */ 10 11 #ifndef __LINUX_GPIO_FAN_H 12 #define __LINUX_GPIO_FAN_H 13 14 struct gpio_fan_alarm { 15 unsigned gpio; 16 unsigned active_low; 17 }; 18 19 struct gpio_fan_speed { 20 int rpm; 21 int ctrl_val; 22 }; 23 24 struct gpio_fan_platform_data { 25 int num_ctrl; 26 unsigned *ctrl; /* fan control GPIOs. */ 27 struct gpio_fan_alarm *alarm; /* fan alarm GPIO. */ 28 /* 29 * Speed conversion array: rpm from/to GPIO bit field. 30 * This array _must_ be sorted in ascending rpm order. 31 */ 32 int num_speed; 33 struct gpio_fan_speed *speed; 34 }; 35 36 #endif /* __LINUX_GPIO_FAN_H */ 37