1#ifndef __HWMON_ADT7X10_H__ 2#define __HWMON_ADT7X10_H__ 3 4#include <linux/types.h> 5#include <linux/pm.h> 6 7/* ADT7410 registers definition */ 8#define ADT7X10_TEMPERATURE 0 9#define ADT7X10_STATUS 2 10#define ADT7X10_CONFIG 3 11#define ADT7X10_T_ALARM_HIGH 4 12#define ADT7X10_T_ALARM_LOW 6 13#define ADT7X10_T_CRIT 8 14#define ADT7X10_T_HYST 0xA 15#define ADT7X10_ID 0xB 16 17struct device; 18 19struct adt7x10_ops { 20 int (*read_byte)(struct device *, u8 reg); 21 int (*write_byte)(struct device *, u8 reg, u8 data); 22 int (*read_word)(struct device *, u8 reg); 23 int (*write_word)(struct device *, u8 reg, u16 data); 24}; 25 26int adt7x10_probe(struct device *dev, const char *name, int irq, 27 const struct adt7x10_ops *ops); 28int adt7x10_remove(struct device *dev, int irq); 29 30#ifdef CONFIG_PM_SLEEP 31extern const struct dev_pm_ops adt7x10_dev_pm_ops; 32#define ADT7X10_DEV_PM_OPS (&adt7x10_dev_pm_ops) 33#else 34#define ADT7X10_DEV_PM_OPS NULL 35#endif 36 37#endif 38