Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9294315 authored by Rudolf Marek's avatar Rudolf Marek Committed by Jean Delvare
Browse files

hwmon/w83793: Fix the fan input detection



Catch the cases when alternative pins are used to route the
fan9-12 input.

Signed-off-by: default avatarRudolf Marek <r.marek@assembler.cz>
Signed-off-by: default avatarGong Jun <jgong@winbond.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 46bed4df
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1327,6 +1327,20 @@ static int w83793_detect(struct i2c_adapter *adapter, int address, int kind)
		data->has_pwm |= 0x80;
	}

	tmp = w83793_read_value(client, W83793_REG_FANIN_SEL);
	if ((tmp & 0x01) && (val & 0x08)) {	/* fan 9, second location */
		data->has_fan |= 0x100;
	}
	if ((tmp & 0x02) && (val & 0x10)) {	/* fan 10, second location */
		data->has_fan |= 0x200;
	}
	if ((tmp & 0x04) && (val & 0x20)) {	/* fan 11, second location */
		data->has_fan |= 0x400;
	}
	if ((tmp & 0x08) && (val & 0x40)) {	/* fan 12, second location */
		data->has_fan |= 0x800;
	}

	/* check the temp1-6 mode, ignore former AMDSI selected inputs */
	tmp = w83793_read_value(client,W83793_REG_TEMP_MODE[0]);
	if (tmp & 0x01)