On Thu, Sep 12, 2019 at 11:33:00AM +0000, amy.s...@advantech.com.tw wrote: > From: "amy.shih" <amy.s...@advantech.com.tw> > > According to datasheet, the SMI status register setting of LTD > temperature is SMI_STS3, and the SMI status register setting > of fan is SMI_STS5 and SMI_STS6. > > Signed-off-by: amy.shih <amy.s...@advantech.com.tw>
Applied. Thanks, Guenter > --- > drivers/hwmon/nct7904.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c > index ce688ab4fce2..95b447cfa24c 100644 > --- a/drivers/hwmon/nct7904.c > +++ b/drivers/hwmon/nct7904.c > @@ -51,6 +51,7 @@ > #define VSEN1_HV_HL_REG 0x00 /* Bank 1; 2 regs (HV/LV) per > sensor */ > #define VSEN1_LV_HL_REG 0x01 /* Bank 1; 2 regs (HV/LV) per > sensor */ > #define SMI_STS1_REG 0xC1 /* Bank 0; SMI Status Register */ > +#define SMI_STS3_REG 0xC3 /* Bank 0; SMI Status Register */ > #define SMI_STS5_REG 0xC5 /* Bank 0; SMI Status Register */ > #define SMI_STS7_REG 0xC7 /* Bank 0; SMI Status Register */ > #define SMI_STS8_REG 0xC8 /* Bank 0; SMI Status Register */ > @@ -210,7 +211,7 @@ static int nct7904_read_fan(struct device *dev, u32 attr, > int channel, > return 0; > case hwmon_fan_alarm: > ret = nct7904_read_reg(data, BANK_0, > - SMI_STS7_REG + (channel >> 3)); > + SMI_STS5_REG + (channel >> 3)); > if (ret < 0) > return ret; > *val = (ret >> (channel & 0x07)) & 1; > @@ -351,7 +352,13 @@ static int nct7904_read_temp(struct device *dev, u32 > attr, int channel, > *val = sign_extend32(temp, 10) * 125; > return 0; > case hwmon_temp_alarm: > - if (channel < 5) { > + if (channel == 4) { > + ret = nct7904_read_reg(data, BANK_0, > + SMI_STS3_REG); > + if (ret < 0) > + return ret; > + *val = (ret >> 1) & 1; > + } else if (channel < 4) { > ret = nct7904_read_reg(data, BANK_0, > SMI_STS1_REG); > if (ret < 0)