[lm-sensors] [PATCH] Allow it87.c to handle IT8720

Jean-Marc Spaggiari jean-marc at spaggiari.org
Mon Oct 6 19:33:56 CEST 2008


The goal of this patch is to allow it87.c to handle IT8720 chipset
like IT8718 in order to retreive voltage, temperatures and fans speed
from sensors tools.

JMS

Patch also attached.

--- linux-2.6.27-rc8/drivers/hwmon/it87.c.orig  2008-10-02
09:04:44.000000000 -0400
+++ linux-2.6.27-rc8/drivers/hwmon/it87.c       2008-10-06
13:27:08.000000000 -0400
@@ -14,6 +14,7 @@
              IT8712F  Super I/O chip w/LPC interface
              IT8716F  Super I/O chip w/LPC interface
              IT8718F  Super I/O chip w/LPC interface
+             IT8720F  Super I/O chip w/LPC interface
              IT8726F  Super I/O chip w/LPC interface
              Sis950   A clone of the IT8705F

@@ -50,7 +51,7 @@

 #define DRVNAME "it87"

-enum chips { it87, it8712, it8716, it8718 };
+enum chips { it87, it8712, it8716, it8718, it8720 };

 static unsigned short force_id;
 module_param(force_id, ushort, 0);
@@ -112,6 +113,7 @@ superio_exit(void)
 #define IT8716F_DEVID 0x8716
 #define IT8718F_DEVID 0x8718
 #define IT8726F_DEVID 0x8726
+#define IT8720F_DEVID 0x8720
 #define IT87_ACT_REG  0x30
 #define IT87_BASE_REG 0x60

@@ -278,7 +280,8 @@ static inline int has_16bit_fans(const s
       return (data->type == it87 && data->revision >= 0x03)
           || (data->type == it8712 && data->revision >= 0x08)
           || data->type == it8716
-           || data->type == it8718;
+           || data->type == it8718
+           || data->type == it8720;
 }

 static int it87_probe(struct platform_device *pdev);
@@ -982,6 +985,9 @@ static int __init it87_find(unsigned sho
       case IT8718F_DEVID:
               sio_data->type = it8718;
               break;
+       case IT8720F_DEVID:
+               sio_data->type = it8720;
+               break;
       case 0xffff:    /* No device at all */
               goto exit;
       default:
@@ -1040,6 +1046,7 @@ static int __devinit it87_probe(struct p
               "it8712",
               "it8716",
               "it8718",
+               "it8720",
       };

       res = platform_get_resource(pdev, IORESOURCE_IO, 0);
@@ -1190,7 +1197,7 @@ static int __devinit it87_probe(struct p
       }

       if (data->type == it8712 || data->type == it8716
-        || data->type == it8718) {
+        || data->type == it8718 || data->type == it8720) {
               data->vrm = vid_which_vrm();
               /* VID reading from Super-I/O config space if available */
               data->vid = sio_data->vid_value;
@@ -1571,7 +1578,7 @@ static void __exit sm_it87_exit(void)

 MODULE_AUTHOR("Chris Gauthron, "
             "Jean Delvare <khali at linux-fr.org>");
-MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8726F, SiS950 driver");
+MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8720F/8726F, SiS950 driver");
 module_param(update_vbat, bool, 0);
 MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value");
 module_param(fix_pwm_polarity, bool, 0);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: application/octet-stream
Size: 2489 bytes
Desc: not available
URL: <http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20081006/8c162ba1/attachment.obj>


More information about the lm-sensors mailing list