hwmon: (it87) Introduce configuration field for chip suffix
authorGuenter Roeck <linux@roeck-us.net>
Thu, 26 Mar 2015 15:36:18 +0000 (08:36 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 5 Apr 2015 13:00:51 +0000 (06:00 -0700)
ITE chips may have 'E', 'F', or both 'E' and 'F' suffixes.
Introduce suffic configuration to the it87_devices structure
to simplify adding new chips.

Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/it87.c

index 5f6c3ad..915d206 100644 (file)
@@ -242,6 +242,7 @@ static const u8 IT87_REG_TEMP_OFFSET[]      = { 0x56, 0x57, 0x59 };
 
 struct it87_devices {
        const char *name;
+       const char * const suffix;
        u16 features;
        u8 peci_mask;
        u8 old_peci_mask;
@@ -261,32 +262,38 @@ struct it87_devices {
 static const struct it87_devices it87_devices[] = {
        [it87] = {
                .name = "it87",
+               .suffix = "F",
                .features = FEAT_OLD_AUTOPWM,   /* may need to overwrite */
        },
        [it8712] = {
                .name = "it8712",
+               .suffix = "F",
                .features = FEAT_OLD_AUTOPWM | FEAT_VID,
                                                /* may need to overwrite */
        },
        [it8716] = {
                .name = "it8716",
+               .suffix = "F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET | FEAT_VID
                  | FEAT_FAN16_CONFIG | FEAT_FIVE_FANS,
        },
        [it8718] = {
                .name = "it8718",
+               .suffix = "F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET | FEAT_VID
                  | FEAT_TEMP_OLD_PECI | FEAT_FAN16_CONFIG | FEAT_FIVE_FANS,
                .old_peci_mask = 0x4,
        },
        [it8720] = {
                .name = "it8720",
+               .suffix = "F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET | FEAT_VID
                  | FEAT_TEMP_OLD_PECI | FEAT_FAN16_CONFIG | FEAT_FIVE_FANS,
                .old_peci_mask = 0x4,
        },
        [it8721] = {
                .name = "it8721",
+               .suffix = "F",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_OLD_PECI | FEAT_TEMP_PECI
                  | FEAT_FAN16_CONFIG | FEAT_FIVE_FANS,
@@ -295,12 +302,14 @@ static const struct it87_devices it87_devices[] = {
        },
        [it8728] = {
                .name = "it8728",
+               .suffix = "F",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI | FEAT_FIVE_FANS,
                .peci_mask = 0x07,
        },
        [it8771] = {
                .name = "it8771",
+               .suffix = "E",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI,
                                /* PECI: guesswork */
@@ -311,6 +320,7 @@ static const struct it87_devices it87_devices[] = {
        },
        [it8772] = {
                .name = "it8772",
+               .suffix = "E",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI,
                                /* PECI (coreboot) */
@@ -321,30 +331,35 @@ static const struct it87_devices it87_devices[] = {
        },
        [it8781] = {
                .name = "it8781",
+               .suffix = "F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET
                  | FEAT_TEMP_OLD_PECI | FEAT_FAN16_CONFIG,
                .old_peci_mask = 0x4,
        },
        [it8782] = {
                .name = "it8782",
+               .suffix = "F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET
                  | FEAT_TEMP_OLD_PECI | FEAT_FAN16_CONFIG,
                .old_peci_mask = 0x4,
        },
        [it8783] = {
                .name = "it8783",
+               .suffix = "E/F",
                .features = FEAT_16BIT_FANS | FEAT_TEMP_OFFSET
                  | FEAT_TEMP_OLD_PECI | FEAT_FAN16_CONFIG,
                .old_peci_mask = 0x4,
        },
        [it8786] = {
                .name = "it8786",
+               .suffix = "E",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI,
                .peci_mask = 0x07,
        },
        [it8603] = {
                .name = "it8603",
+               .suffix = "E",
                .features = FEAT_NEWER_AUTOPWM | FEAT_12MV_ADC | FEAT_16BIT_FANS
                  | FEAT_TEMP_OFFSET | FEAT_TEMP_PECI,
                .peci_mask = 0x07,
@@ -1841,9 +1856,8 @@ static int __init it87_find(unsigned short *address,
 
        err = 0;
        sio_data->revision = superio_inb(DEVREV) & 0x0f;
-       pr_info("Found IT%04x%c chip at 0x%x, revision %d\n", chip_type,
-               chip_type == 0x8771 || chip_type == 0x8772 ||
-               chip_type == 0x8786 || chip_type == 0x8603 ? 'E' : 'F',
+       pr_info("Found IT%04x%s chip at 0x%x, revision %d\n", chip_type,
+               it87_devices[sio_data->type].suffix,
                *address, sio_data->revision);
 
        /* in8 (Vbat) is always internal */