diff options
-rw-r--r-- | Documentation/hwmon/w83627hf | 29 | ||||
-rw-r--r-- | drivers/hwmon/w83627hf.c | 11 |
2 files changed, 27 insertions, 13 deletions
diff --git a/Documentation/hwmon/w83627hf b/Documentation/hwmon/w83627hf index 6ee36dbafd64..44dd2bcc72bd 100644 --- a/Documentation/hwmon/w83627hf +++ b/Documentation/hwmon/w83627hf | |||
@@ -32,8 +32,6 @@ Authors: | |||
32 | Module Parameters | 32 | Module Parameters |
33 | ----------------- | 33 | ----------------- |
34 | 34 | ||
35 | * force_addr: int | ||
36 | Initialize the ISA address of the sensors | ||
37 | * force_i2c: int | 35 | * force_i2c: int |
38 | Initialize the I2C address of the sensors | 36 | Initialize the I2C address of the sensors |
39 | * init: int | 37 | * init: int |
@@ -70,3 +68,30 @@ doesn't help, you may just ignore the bogus VID reading with no harm done. | |||
70 | For further information on this driver see the w83781d driver documentation. | 68 | For further information on this driver see the w83781d driver documentation. |
71 | 69 | ||
72 | [1] http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/vid | 70 | [1] http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/vid |
71 | |||
72 | Forcing the address | ||
73 | ------------------- | ||
74 | |||
75 | The driver used to have a module parameter named force_addr, which could | ||
76 | be used to force the base I/O address of the hardware monitoring block. | ||
77 | This was meant as a workaround for mainboards with a broken BIOS. This | ||
78 | module parameter is gone for technical reasons. If you need this feature, | ||
79 | you can obtain the same result by using the isaset tool (part of | ||
80 | lm-sensors) before loading the driver: | ||
81 | |||
82 | # Enter the Super I/O config space | ||
83 | isaset -y -f 0x2e 0x87 | ||
84 | isaset -y -f 0x2e 0x87 | ||
85 | |||
86 | # Select the hwmon logical device | ||
87 | isaset -y 0x2e 0x2f 0x07 0x0b | ||
88 | |||
89 | # Set the base I/O address (to 0x290 in this example) | ||
90 | isaset -y 0x2e 0x2f 0x60 0x02 | ||
91 | isaset -y 0x2e 0x2f 0x61 0x90 | ||
92 | |||
93 | # Exit the Super-I/O config space | ||
94 | isaset -y -f 0x2e 0xaa | ||
95 | |||
96 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but | ||
97 | 0x4e/0x4f is also possible. | ||
diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c index 2be28ac4ede0..d67407d045bd 100644 --- a/drivers/hwmon/w83627hf.c +++ b/drivers/hwmon/w83627hf.c | |||
@@ -59,10 +59,6 @@ static struct platform_device *pdev; | |||
59 | #define DRVNAME "w83627hf" | 59 | #define DRVNAME "w83627hf" |
60 | enum chips { w83627hf, w83627thf, w83697hf, w83637hf, w83687thf }; | 60 | enum chips { w83627hf, w83627thf, w83697hf, w83637hf, w83687thf }; |
61 | 61 | ||
62 | static u16 force_addr; | ||
63 | module_param(force_addr, ushort, 0); | ||
64 | MODULE_PARM_DESC(force_addr, | ||
65 | "Initialize the base address of the sensors"); | ||
66 | static u8 force_i2c = 0x1f; | 62 | static u8 force_i2c = 0x1f; |
67 | module_param(force_i2c, byte, 0); | 63 | module_param(force_i2c, byte, 0); |
68 | MODULE_PARM_DESC(force_i2c, | 64 | MODULE_PARM_DESC(force_i2c, |
@@ -1169,13 +1165,6 @@ static int __init w83627hf_find(int sioaddr, unsigned short *addr, | |||
1169 | } | 1165 | } |
1170 | 1166 | ||
1171 | superio_select(W83627HF_LD_HWM); | 1167 | superio_select(W83627HF_LD_HWM); |
1172 | force_addr &= WINB_ALIGNMENT; | ||
1173 | if (force_addr) { | ||
1174 | printk(KERN_WARNING DRVNAME ": Forcing address 0x%x\n", | ||
1175 | force_addr); | ||
1176 | superio_outb(WINB_BASE_REG, force_addr >> 8); | ||
1177 | superio_outb(WINB_BASE_REG + 1, force_addr & 0xff); | ||
1178 | } | ||
1179 | val = (superio_inb(WINB_BASE_REG) << 8) | | 1168 | val = (superio_inb(WINB_BASE_REG) << 8) | |
1180 | superio_inb(WINB_BASE_REG + 1); | 1169 | superio_inb(WINB_BASE_REG + 1); |
1181 | *addr = val & WINB_ALIGNMENT; | 1170 | *addr = val & WINB_ALIGNMENT; |