From: Jean Delvare <khali@linux-fr.org> Date: Wed, 19 Dec 2012 21:17:00 +0000 (+0100) Subject: hwmon: (w83627hf) Don't touch nonexistent I2C address registers X-Git-Tag: firefly_0821_release~3680^2~1376^2~12 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8f3c7c547d47bcfcf9ca2ed30b79733ce1e7ad3a;p=firefly-linux-kernel-4.4.55.git hwmon: (w83627hf) Don't touch nonexistent I2C address registers Only the W83627HF could be accessed through I2C. All other supported chips are LPC-only, so they do not have I2C address registers. Don't write to nonexistent or reserved registers on these chips. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Guenter Roeck <linux@roeck-us.net> --- diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c index 9170746e9743..81f486520cea 100644 --- a/drivers/hwmon/w83627hf.c +++ b/drivers/hwmon/w83627hf.c @@ -1732,8 +1732,10 @@ static void w83627hf_init_device(struct platform_device *pdev) /* Minimize conflicts with other winbond i2c-only clients... */ /* disable i2c subclients... how to disable main i2c client?? */ /* force i2c address to relatively uncommon address */ - w83627hf_write_value(data, W83781D_REG_I2C_SUBADDR, 0x89); - w83627hf_write_value(data, W83781D_REG_I2C_ADDR, force_i2c); + if (type == w83627hf) { + w83627hf_write_value(data, W83781D_REG_I2C_SUBADDR, 0x89); + w83627hf_write_value(data, W83781D_REG_I2C_ADDR, force_i2c); + } /* Read VID only once */ if (type == w83627hf || type == w83637hf) {