Skip to content

Commit

Permalink
hwmon: (f71882fg) Add support for the F81865F
Browse files Browse the repository at this point in the history
Add support for the Fintek F81865F. It's essentially compatible with
the F71882FG, but has fewer inputs: 7 voltage, 2 temperature and 2 fan
inputs only.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed Mar 26, 2011
1 parent 5d7f77b commit 383586b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
4 changes: 4 additions & 0 deletions Documentation/hwmon/f71882fg
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ Supported chips:
Note: This is the 64-pin variant of the F71889FG, they have the
same device ID and are fully compatible as far as hardware
monitoring is concerned.
* Fintek F81865F
Prefix: 'f81865f'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website

Author: Hans de Goede <hdegoede@redhat.com>

Expand Down
1 change: 1 addition & 0 deletions drivers/hwmon/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ config SENSORS_F71882FG
F71889FG/ED
F8000
F81801U
F81865F

This driver can also be built as a module. If so, the module
will be called f71882fg.
Expand Down
22 changes: 14 additions & 8 deletions drivers/hwmon/f71882fg.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
#define SIO_F71889_ID 0x0723 /* Chipset ID */
#define SIO_F71889E_ID 0x0909 /* Chipset ID */
#define SIO_F8000_ID 0x0581 /* Chipset ID */
#define SIO_F81865_ID 0x0704 /* Chipset ID */

#define REGION_LENGTH 8
#define ADDR_REG_OFFSET 5
Expand Down Expand Up @@ -106,7 +107,7 @@ module_param(force_id, ushort, 0);
MODULE_PARM_DESC(force_id, "Override the detected device ID");

enum chips { f71808e, f71858fg, f71862fg, f71869, f71882fg, f71889fg,
f71889ed, f8000 };
f71889ed, f8000, f81865f };

static const char *f71882fg_names[] = {
"f71808e",
Expand All @@ -117,6 +118,7 @@ static const char *f71882fg_names[] = {
"f71889fg", /* f81801u too, same id */
"f71889ed",
"f8000",
"f81865f",
};

static const char f71882fg_has_in[][F71882FG_MAX_INS] = {
Expand All @@ -128,6 +130,7 @@ static const char f71882fg_has_in[][F71882FG_MAX_INS] = {
[f71889fg] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 },
[f71889ed] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 },
[f8000] = { 1, 1, 1, 0, 0, 0, 0, 0, 0 },
[f81865f] = { 1, 1, 1, 1, 1, 1, 1, 0, 0 },
};

static const char f71882fg_has_in1_alarm[] = {
Expand All @@ -139,6 +142,7 @@ static const char f71882fg_has_in1_alarm[] = {
[f71889fg] = 1,
[f71889ed] = 1,
[f8000] = 0,
[f81865f] = 1,
};

static const char f71882fg_has_beep[] = {
Expand All @@ -150,6 +154,7 @@ static const char f71882fg_has_beep[] = {
[f71889fg] = 1,
[f71889ed] = 1,
[f8000] = 0,
[f81865f] = 1,
};

static const char f71882fg_nr_fans[] = {
Expand All @@ -161,6 +166,7 @@ static const char f71882fg_nr_fans[] = {
[f71889fg] = 3,
[f71889ed] = 3,
[f8000] = 3,
[f81865f] = 2,
};

static const char f71882fg_nr_temps[] = {
Expand All @@ -172,6 +178,7 @@ static const char f71882fg_nr_temps[] = {
[f71889fg] = 3,
[f71889ed] = 3,
[f8000] = 3,
[f81865f] = 2,
};

static struct platform_device *f71882fg_pdev;
Expand Down Expand Up @@ -2186,16 +2193,12 @@ static int __devinit f71882fg_probe(struct platform_device *pdev)
case f71862fg:
err = (data->pwm_enable & 0x15) != 0x15;
break;
case f71808e:
case f71869:
case f71882fg:
case f71889fg:
case f71889ed:
err = 0;
break;
case f8000:
err = data->pwm_enable & 0x20;
break;
default:
err = 0;
break;
}
if (err) {
dev_err(&pdev->dev,
Expand Down Expand Up @@ -2433,6 +2436,9 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address,
case SIO_F8000_ID:
sio_data->type = f8000;
break;
case SIO_F81865_ID:
sio_data->type = f81865f;
break;
default:
pr_info("Unsupported Fintek device: %04x\n",
(unsigned int)devid);
Expand Down

0 comments on commit 383586b

Please sign in to comment.