[patch 2.6.27-rc6 5/6 ] hwmon/pc87360 separate sysfs _alarm files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



inlined and attached

 From a65aa33f5fac6543cf390c9acbcbd2011f3ffe3d Mon Sep 17 00:00:00 2001
From: Jim Cromie <jim.cromie at gmail.com>
Date: Sat, 28 Jun 2008 20:42:24 -0600
Subject: [PATCH] hwmon/pc87360 separate alarm files - add dev_dbg help

temp and vin status register values may be set by chip specifications,
set again by bios, or by this previously loaded driver.
Debug output nicely displays modprobe init=\d actions.

Signed-off-by: Jim Cromie <jim.cromie at gmail.com>
---
 drivers/hwmon/pc87360.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/hwmon/pc87360.c b/drivers/hwmon/pc87360.c
index ebb235b..cf265d2 100644
--- a/drivers/hwmon/pc87360.c
+++ b/drivers/hwmon/pc87360.c
@@ -1290,10 +1290,11 @@ static void pc87360_init_device(struct 
platform_device *pdev,
 
     nr = data->innr < 11 ? data->innr : 11;
     for (i = 0; i < nr; i++) {
+        reg = pc87360_read_value(data, LD_IN, i,
+                     PC87365_REG_IN_STATUS);
+        dev_dbg(&pdev->dev, "bios in%d status:0x%02x\n", i, reg);
         if (init >= init_in[i]) {
             /* Forcibly enable voltage channel */
-            reg = pc87360_read_value(data, LD_IN, i,
-                         PC87365_REG_IN_STATUS);
             if (!(reg & CHAN_ENA)) {
                 dev_dbg(&pdev->dev, "Forcibly "
                     "enabling in%d\n", i);
@@ -1306,18 +1307,23 @@ static void pc87360_init_device(struct 
platform_device *pdev,
 
     /* We can't blindly trust the Super-I/O space configuration bit,
        most BIOS won't set it properly */
+    dev_dbg(&pdev->dev, "bios thermistors:%d\n", use_thermistors);
     for (i = 11; i < data->innr; i++) {
         reg = pc87360_read_value(data, LD_IN, i,
                      PC87365_REG_TEMP_STATUS);
         use_thermistors = use_thermistors || (reg & CHAN_ENA);
+        /* thermistors are temp[4-6], measured on vin[11-14] */
+        dev_dbg(&pdev->dev, "bios temp%d_status:0x%02x\n", i-7, reg);
     }
+    dev_dbg(&pdev->dev, "using thermistors:%d\n", use_thermistors);
 
     i = use_thermistors ? 2 : 0;
     for (; i < data->tempnr; i++) {
+        reg = pc87360_read_value(data, LD_TEMP, i,
+                     PC87365_REG_TEMP_STATUS);
+        dev_dbg(&pdev->dev, "bios temp%d_status:0x%02x\n", i+1, reg);
         if (init >= init_temp[i]) {
             /* Forcibly enable temperature channel */
-            reg = pc87360_read_value(data, LD_TEMP, i,
-                         PC87365_REG_TEMP_STATUS);
             if (!(reg & CHAN_ENA)) {
                 dev_dbg(&pdev->dev, "Forcibly "
                     "enabling temp%d\n", i+1);
@@ -1359,6 +1365,7 @@ static void pc87360_init_device(struct 
platform_device *pdev,
     if (data->innr) {
         reg = pc87360_read_value(data, LD_IN, NO_BANK,
                      PC87365_REG_IN_CONFIG);
+        dev_dbg(&pdev->dev, "bios vin-cfg:0x%02x\n", reg);
         if (reg & CHAN_ENA) {
             dev_dbg(&pdev->dev, "Forcibly "
                 "enabling monitoring (VLM)\n");
@@ -1371,6 +1378,7 @@ static void pc87360_init_device(struct 
platform_device *pdev,
     if (data->tempnr) {
         reg = pc87360_read_value(data, LD_TEMP, NO_BANK,
                      PC87365_REG_TEMP_CONFIG);
+        dev_dbg(&pdev->dev, "bios temp-cfg:0x%02x\n", reg);
         if (reg & CHAN_ENA) {
             dev_dbg(&pdev->dev, "Forcibly enabling "
                 "monitoring (TMS)\n");
-- 
1.5.5.1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-hwmon-pc87360-separate-alarm-files-add-dev_dbg-hel.patch
Type: text/x-patch
Size: 3039 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20080910/0b5436b9/attachment.bin 


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux