39 lines
		
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef __HWMON_ADT7X10_H__
 | |
| #define __HWMON_ADT7X10_H__
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/pm.h>
 | |
| 
 | |
| /* ADT7410 registers definition */
 | |
| #define ADT7X10_TEMPERATURE		0
 | |
| #define ADT7X10_STATUS			2
 | |
| #define ADT7X10_CONFIG			3
 | |
| #define ADT7X10_T_ALARM_HIGH		4
 | |
| #define ADT7X10_T_ALARM_LOW		6
 | |
| #define ADT7X10_T_CRIT			8
 | |
| #define ADT7X10_T_HYST			0xA
 | |
| #define ADT7X10_ID			0xB
 | |
| 
 | |
| struct device;
 | |
| 
 | |
| struct adt7x10_ops {
 | |
| 	int (*read_byte)(struct device *, u8 reg);
 | |
| 	int (*write_byte)(struct device *, u8 reg, u8 data);
 | |
| 	int (*read_word)(struct device *, u8 reg);
 | |
| 	int (*write_word)(struct device *, u8 reg, u16 data);
 | |
| };
 | |
| 
 | |
| int adt7x10_probe(struct device *dev, const char *name, int irq,
 | |
| 	const struct adt7x10_ops *ops);
 | |
| int adt7x10_remove(struct device *dev, int irq);
 | |
| 
 | |
| #ifdef CONFIG_PM_SLEEP
 | |
| extern const struct dev_pm_ops adt7x10_dev_pm_ops;
 | |
| #define ADT7X10_DEV_PM_OPS (&adt7x10_dev_pm_ops)
 | |
| #else
 | |
| #define ADT7X10_DEV_PM_OPS NULL
 | |
| #endif
 | |
| 
 | |
| #endif
 |