forked from mirrors/linux
		
	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>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			802 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			802 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * 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 */
 |