diff options
author | Hans de Goede <hdegoede@redhat.com> | 2011-03-26 05:45:02 -0400 |
---|---|---|
committer | Jean Delvare <khali@endymion.delvare> | 2011-03-26 05:45:02 -0400 |
commit | a66c10887ad2a99e172111cc94087ba4bed8fa92 (patch) | |
tree | 40358df9bf880a447fe1bcc2e515fac0021d2889 /drivers/hwmon/f71882fg.c | |
parent | 383586b12d89ba4297c49898645658cdb324b918 (diff) |
hwmon: (f71882fg) Add support for the F71889A
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/hwmon/f71882fg.c')
-rw-r--r-- | drivers/hwmon/f71882fg.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/hwmon/f71882fg.c b/drivers/hwmon/f71882fg.c index aa8cf5d5c22e..ca07a32447c2 100644 --- a/drivers/hwmon/f71882fg.c +++ b/drivers/hwmon/f71882fg.c | |||
@@ -54,6 +54,7 @@ | |||
54 | #define SIO_F71882_ID 0x0541 /* Chipset ID */ | 54 | #define SIO_F71882_ID 0x0541 /* Chipset ID */ |
55 | #define SIO_F71889_ID 0x0723 /* Chipset ID */ | 55 | #define SIO_F71889_ID 0x0723 /* Chipset ID */ |
56 | #define SIO_F71889E_ID 0x0909 /* Chipset ID */ | 56 | #define SIO_F71889E_ID 0x0909 /* Chipset ID */ |
57 | #define SIO_F71889A_ID 0x1005 /* Chipset ID */ | ||
57 | #define SIO_F8000_ID 0x0581 /* Chipset ID */ | 58 | #define SIO_F8000_ID 0x0581 /* Chipset ID */ |
58 | #define SIO_F81865_ID 0x0704 /* Chipset ID */ | 59 | #define SIO_F81865_ID 0x0704 /* Chipset ID */ |
59 | 60 | ||
@@ -107,7 +108,7 @@ module_param(force_id, ushort, 0); | |||
107 | MODULE_PARM_DESC(force_id, "Override the detected device ID"); | 108 | MODULE_PARM_DESC(force_id, "Override the detected device ID"); |
108 | 109 | ||
109 | enum chips { f71808e, f71858fg, f71862fg, f71869, f71882fg, f71889fg, | 110 | enum chips { f71808e, f71858fg, f71862fg, f71869, f71882fg, f71889fg, |
110 | f71889ed, f8000, f81865f }; | 111 | f71889ed, f71889a, f8000, f81865f }; |
111 | 112 | ||
112 | static const char *f71882fg_names[] = { | 113 | static const char *f71882fg_names[] = { |
113 | "f71808e", | 114 | "f71808e", |
@@ -117,6 +118,7 @@ static const char *f71882fg_names[] = { | |||
117 | "f71882fg", | 118 | "f71882fg", |
118 | "f71889fg", /* f81801u too, same id */ | 119 | "f71889fg", /* f81801u too, same id */ |
119 | "f71889ed", | 120 | "f71889ed", |
121 | "f71889a", | ||
120 | "f8000", | 122 | "f8000", |
121 | "f81865f", | 123 | "f81865f", |
122 | }; | 124 | }; |
@@ -129,6 +131,7 @@ static const char f71882fg_has_in[][F71882FG_MAX_INS] = { | |||
129 | [f71882fg] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, | 131 | [f71882fg] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, |
130 | [f71889fg] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, | 132 | [f71889fg] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, |
131 | [f71889ed] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, | 133 | [f71889ed] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, |
134 | [f71889a] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }, | ||
132 | [f8000] = { 1, 1, 1, 0, 0, 0, 0, 0, 0 }, | 135 | [f8000] = { 1, 1, 1, 0, 0, 0, 0, 0, 0 }, |
133 | [f81865f] = { 1, 1, 1, 1, 1, 1, 1, 0, 0 }, | 136 | [f81865f] = { 1, 1, 1, 1, 1, 1, 1, 0, 0 }, |
134 | }; | 137 | }; |
@@ -141,6 +144,7 @@ static const char f71882fg_has_in1_alarm[] = { | |||
141 | [f71882fg] = 1, | 144 | [f71882fg] = 1, |
142 | [f71889fg] = 1, | 145 | [f71889fg] = 1, |
143 | [f71889ed] = 1, | 146 | [f71889ed] = 1, |
147 | [f71889a] = 1, | ||
144 | [f8000] = 0, | 148 | [f8000] = 0, |
145 | [f81865f] = 1, | 149 | [f81865f] = 1, |
146 | }; | 150 | }; |
@@ -153,6 +157,7 @@ static const char f71882fg_has_beep[] = { | |||
153 | [f71882fg] = 1, | 157 | [f71882fg] = 1, |
154 | [f71889fg] = 1, | 158 | [f71889fg] = 1, |
155 | [f71889ed] = 1, | 159 | [f71889ed] = 1, |
160 | [f71889a] = 1, | ||
156 | [f8000] = 0, | 161 | [f8000] = 0, |
157 | [f81865f] = 1, | 162 | [f81865f] = 1, |
158 | }; | 163 | }; |
@@ -165,6 +170,7 @@ static const char f71882fg_nr_fans[] = { | |||
165 | [f71882fg] = 4, | 170 | [f71882fg] = 4, |
166 | [f71889fg] = 3, | 171 | [f71889fg] = 3, |
167 | [f71889ed] = 3, | 172 | [f71889ed] = 3, |
173 | [f71889a] = 3, | ||
168 | [f8000] = 3, | 174 | [f8000] = 3, |
169 | [f81865f] = 2, | 175 | [f81865f] = 2, |
170 | }; | 176 | }; |
@@ -177,6 +183,7 @@ static const char f71882fg_nr_temps[] = { | |||
177 | [f71882fg] = 3, | 183 | [f71882fg] = 3, |
178 | [f71889fg] = 3, | 184 | [f71889fg] = 3, |
179 | [f71889ed] = 3, | 185 | [f71889ed] = 3, |
186 | [f71889a] = 3, | ||
180 | [f8000] = 3, | 187 | [f8000] = 3, |
181 | [f81865f] = 2, | 188 | [f81865f] = 2, |
182 | }; | 189 | }; |
@@ -2168,6 +2175,7 @@ static int __devinit f71882fg_probe(struct platform_device *pdev) | |||
2168 | /* Fall through to select correct fan/pwm reg bank! */ | 2175 | /* Fall through to select correct fan/pwm reg bank! */ |
2169 | case f71889fg: | 2176 | case f71889fg: |
2170 | case f71889ed: | 2177 | case f71889ed: |
2178 | case f71889a: | ||
2171 | reg = f71882fg_read8(data, F71882FG_REG_FAN_FAULT_T); | 2179 | reg = f71882fg_read8(data, F71882FG_REG_FAN_FAULT_T); |
2172 | if (reg & F71882FG_FAN_NEG_TEMP_EN) | 2180 | if (reg & F71882FG_FAN_NEG_TEMP_EN) |
2173 | data->auto_point_temp_signed = 1; | 2181 | data->auto_point_temp_signed = 1; |
@@ -2225,6 +2233,7 @@ static int __devinit f71882fg_probe(struct platform_device *pdev) | |||
2225 | case f71869: | 2233 | case f71869: |
2226 | case f71889fg: | 2234 | case f71889fg: |
2227 | case f71889ed: | 2235 | case f71889ed: |
2236 | case f71889a: | ||
2228 | for (i = 0; i < nr_fans; i++) { | 2237 | for (i = 0; i < nr_fans; i++) { |
2229 | data->pwm_auto_point_mapping[i] = | 2238 | data->pwm_auto_point_mapping[i] = |
2230 | f71882fg_read8(data, | 2239 | f71882fg_read8(data, |
@@ -2433,6 +2442,9 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address, | |||
2433 | case SIO_F71889E_ID: | 2442 | case SIO_F71889E_ID: |
2434 | sio_data->type = f71889ed; | 2443 | sio_data->type = f71889ed; |
2435 | break; | 2444 | break; |
2445 | case SIO_F71889A_ID: | ||
2446 | sio_data->type = f71889a; | ||
2447 | break; | ||
2436 | case SIO_F8000_ID: | 2448 | case SIO_F8000_ID: |
2437 | sio_data->type = f8000; | 2449 | sio_data->type = f8000; |
2438 | break; | 2450 | break; |