#include <linux/module.h>
#include <linux/jiffies.h>
#include <linux/hwmon-sysfs.h>
#include <linux/f75375s.h>
static const unsigned short normal_i2c[] = { 0x2d, 0x2e, I2C_CLIENT_END };
enum chips { f75373, f75375, f75387 };
#define F75375_REG_CONFIG0 0x0
#define F75375_REG_CONFIG1 0x1
#define F75375_REG_CONFIG2 0x2
#define F75375_REG_CONFIG3 0x3
#define F75375_REG_ADDR 0x4
#define F75375_REG_INTR 0x31
#define F75375_CHIP_ID 0x5A
#define F75375_REG_VERSION 0x5C
#define F75375_REG_VENDOR 0x5D
#define F75375_REG_FAN_TIMER 0x60
#define F75375_REG_VOLT(nr) (0x10 + (nr))
#define F75375_REG_VOLT_HIGH(nr) (0x20 + (nr) * 2)
#define F75375_REG_VOLT_LOW(nr) (0x21 + (nr) * 2)
#define F75375_REG_TEMP(nr) (0x14 + (nr))
#define F75387_REG_TEMP11_LSB(nr) (0x1a + (nr))
#define F75375_REG_TEMP_HIGH(nr) (0x28 + (nr) * 2)
#define F75375_REG_TEMP_HYST(nr) (0x29 + (nr) * 2)
#define F75375_REG_FAN(nr) (0x16 + (nr) * 2)
#define F75375_REG_FAN_MIN(nr) (0x2C + (nr) * 2)
#define F75375_REG_FAN_FULL(nr) (0x70 + (nr) * 0x10)
#define F75375_REG_FAN_PWM_DUTY(nr) (0x76 + (nr) * 0x10)
#define F75375_REG_FAN_PWM_CLOCK(nr) (0x7D + (nr) * 0x10)
#define F75375_REG_FAN_EXP(nr) (0x74 + (nr) * 0x10)
#define F75375_REG_FAN_B_TEMP(nr, step) ((0xA0 + (nr) * 0x10) + (step))
#define F75375_REG_FAN_B_SPEED(nr, step) \