aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/it87.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2010-03-05 16:17:18 -0500
committerJean Delvare <khali@linux-fr.org>2010-03-05 16:17:18 -0500
commit5f2dc798cadd144659cc9f5b6fc2a0a12c6dbdb0 (patch)
tree5217c71ab7d91117b80897781aa06dd93957ba7e /drivers/hwmon/it87.c
parentd9b327c310030fa80abbbc9eaaca9f1a6228dbf3 (diff)
hwmon: (it87) Fix many checkpatch errors and warnings
Fix 20 errors and 11 warnings reported by the checkpatch script. The remainining errors would require more work. The remaining warnings will be addressed later. Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/hwmon/it87.c')
-rw-r--r--drivers/hwmon/it87.c162
1 files changed, 87 insertions, 75 deletions
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
index d70c6ec31725..96306a6f844e 100644
--- a/drivers/hwmon/it87.c
+++ b/drivers/hwmon/it87.c
@@ -1,40 +1,40 @@
1/* 1/*
2 it87.c - Part of lm_sensors, Linux kernel modules for hardware 2 * it87.c - Part of lm_sensors, Linux kernel modules for hardware
3 monitoring. 3 * monitoring.
4 4 *
5 The IT8705F is an LPC-based Super I/O part that contains UARTs, a 5 * The IT8705F is an LPC-based Super I/O part that contains UARTs, a
6 parallel port, an IR port, a MIDI port, a floppy controller, etc., in 6 * parallel port, an IR port, a MIDI port, a floppy controller, etc., in
7 addition to an Environment Controller (Enhanced Hardware Monitor and 7 * addition to an Environment Controller (Enhanced Hardware Monitor and
8 Fan Controller) 8 * Fan Controller)
9 9 *
10 This driver supports only the Environment Controller in the IT8705F and 10 * This driver supports only the Environment Controller in the IT8705F and
11 similar parts. The other devices are supported by different drivers. 11 * similar parts. The other devices are supported by different drivers.
12 12 *
13 Supports: IT8705F Super I/O chip w/LPC interface 13 * Supports: IT8705F Super I/O chip w/LPC interface
14 IT8712F Super I/O chip w/LPC interface 14 * IT8712F Super I/O chip w/LPC interface
15 IT8716F Super I/O chip w/LPC interface 15 * IT8716F Super I/O chip w/LPC interface
16 IT8718F Super I/O chip w/LPC interface 16 * IT8718F Super I/O chip w/LPC interface
17 IT8720F Super I/O chip w/LPC interface 17 * IT8720F Super I/O chip w/LPC interface
18 IT8726F Super I/O chip w/LPC interface 18 * IT8726F Super I/O chip w/LPC interface
19 Sis950 A clone of the IT8705F 19 * Sis950 A clone of the IT8705F
20 20 *
21 Copyright (C) 2001 Chris Gauthron 21 * Copyright (C) 2001 Chris Gauthron
22 Copyright (C) 2005-2007 Jean Delvare <khali@linux-fr.org> 22 * Copyright (C) 2005-2010 Jean Delvare <khali@linux-fr.org>
23 23 *
24 This program is free software; you can redistribute it and/or modify 24 * This program is free software; you can redistribute it and/or modify
25 it under the terms of the GNU General Public License as published by 25 * it under the terms of the GNU General Public License as published by
26 the Free Software Foundation; either version 2 of the License, or 26 * the Free Software Foundation; either version 2 of the License, or
27 (at your option) any later version. 27 * (at your option) any later version.
28 28 *
29 This program is distributed in the hope that it will be useful, 29 * This program is distributed in the hope that it will be useful,
30 but WITHOUT ANY WARRANTY; without even the implied warranty of 30 * but WITHOUT ANY WARRANTY; without even the implied warranty of
31 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 GNU General Public License for more details. 32 * GNU General Public License for more details.
33 33 *
34 You should have received a copy of the GNU General Public License 34 * You should have received a copy of the GNU General Public License
35 along with this program; if not, write to the Free Software 35 * along with this program; if not, write to the Free Software
36 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 36 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
37*/ 37 */
38 38
39#include <linux/module.h> 39#include <linux/module.h>
40#include <linux/init.h> 40#include <linux/init.h>
@@ -494,8 +494,9 @@ static ssize_t show_sensor(struct device *dev, struct device_attribute *attr,
494 int nr = sensor_attr->index; 494 int nr = sensor_attr->index;
495 495
496 struct it87_data *data = it87_update_device(dev); 496 struct it87_data *data = it87_update_device(dev);
497 u8 reg = data->sensor; /* In case the value is updated while we use it */ 497 u8 reg = data->sensor; /* In case the value is updated while
498 498 we use it */
499
499 if (reg & (1 << nr)) 500 if (reg & (1 << nr))
500 return sprintf(buf, "3\n"); /* thermal diode */ 501 return sprintf(buf, "3\n"); /* thermal diode */
501 if (reg & (8 << nr)) 502 if (reg & (8 << nr))
@@ -522,9 +523,9 @@ static ssize_t set_sensor(struct device *dev, struct device_attribute *attr,
522 } 523 }
523 /* 3 = thermal diode; 4 = thermistor; 0 = disabled */ 524 /* 3 = thermal diode; 4 = thermistor; 0 = disabled */
524 if (val == 3) 525 if (val == 3)
525 data->sensor |= 1 << nr; 526 data->sensor |= 1 << nr;
526 else if (val == 4) 527 else if (val == 4)
527 data->sensor |= 8 << nr; 528 data->sensor |= 8 << nr;
528 else if (val != 0) { 529 else if (val != 0) {
529 mutex_unlock(&data->update_lock); 530 mutex_unlock(&data->update_lock);
530 return -EINVAL; 531 return -EINVAL;
@@ -562,7 +563,7 @@ static ssize_t show_fan(struct device *dev, struct device_attribute *attr,
562 int nr = sensor_attr->index; 563 int nr = sensor_attr->index;
563 564
564 struct it87_data *data = it87_update_device(dev); 565 struct it87_data *data = it87_update_device(dev);
565 return sprintf(buf,"%d\n", FAN_FROM_REG(data->fan[nr], 566 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan[nr],
566 DIV_FROM_REG(data->fan_div[nr]))); 567 DIV_FROM_REG(data->fan_div[nr])));
567} 568}
568static ssize_t show_fan_min(struct device *dev, struct device_attribute *attr, 569static ssize_t show_fan_min(struct device *dev, struct device_attribute *attr,
@@ -572,8 +573,8 @@ static ssize_t show_fan_min(struct device *dev, struct device_attribute *attr,
572 int nr = sensor_attr->index; 573 int nr = sensor_attr->index;
573 574
574 struct it87_data *data = it87_update_device(dev); 575 struct it87_data *data = it87_update_device(dev);
575 return sprintf(buf,"%d\n", 576 return sprintf(buf, "%d\n", FAN_FROM_REG(data->fan_min[nr],
576 FAN_FROM_REG(data->fan_min[nr], DIV_FROM_REG(data->fan_div[nr]))); 577 DIV_FROM_REG(data->fan_div[nr])));
577} 578}
578static ssize_t show_fan_div(struct device *dev, struct device_attribute *attr, 579static ssize_t show_fan_div(struct device *dev, struct device_attribute *attr,
579 char *buf) 580 char *buf)
@@ -584,8 +585,8 @@ static ssize_t show_fan_div(struct device *dev, struct device_attribute *attr,
584 struct it87_data *data = it87_update_device(dev); 585 struct it87_data *data = it87_update_device(dev);
585 return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[nr])); 586 return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[nr]));
586} 587}
587static ssize_t show_pwm_enable(struct device *dev, struct device_attribute *attr, 588static ssize_t show_pwm_enable(struct device *dev,
588 char *buf) 589 struct device_attribute *attr, char *buf)
589{ 590{
590 struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr); 591 struct sensor_device_attribute *sensor_attr = to_sensor_dev_attr(attr);
591 int nr = sensor_attr->index; 592 int nr = sensor_attr->index;
@@ -623,9 +624,15 @@ static ssize_t set_fan_min(struct device *dev, struct device_attribute *attr,
623 mutex_lock(&data->update_lock); 624 mutex_lock(&data->update_lock);
624 reg = it87_read_value(data, IT87_REG_FAN_DIV); 625 reg = it87_read_value(data, IT87_REG_FAN_DIV);
625 switch (nr) { 626 switch (nr) {
626 case 0: data->fan_div[nr] = reg & 0x07; break; 627 case 0:
627 case 1: data->fan_div[nr] = (reg >> 3) & 0x07; break; 628 data->fan_div[nr] = reg & 0x07;
628 case 2: data->fan_div[nr] = (reg & 0x40) ? 3 : 1; break; 629 break;
630 case 1:
631 data->fan_div[nr] = (reg >> 3) & 0x07;
632 break;
633 case 2:
634 data->fan_div[nr] = (reg & 0x40) ? 3 : 1;
635 break;
629 } 636 }
630 637
631 data->fan_min[nr] = FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr])); 638 data->fan_min[nr] = FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr]));
@@ -696,7 +703,8 @@ static ssize_t set_pwm_enable(struct device *dev,
696 it87_write_value(data, IT87_REG_FAN_CTL, tmp | (1 << nr)); 703 it87_write_value(data, IT87_REG_FAN_CTL, tmp | (1 << nr));
697 /* set on/off mode */ 704 /* set on/off mode */
698 data->fan_main_ctrl &= ~(1 << nr); 705 data->fan_main_ctrl &= ~(1 << nr);
699 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL, data->fan_main_ctrl); 706 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL,
707 data->fan_main_ctrl);
700 } else { 708 } else {
701 if (val == 1) /* Manual mode */ 709 if (val == 1) /* Manual mode */
702 data->pwm_ctrl[nr] = data->pwm_duty[nr]; 710 data->pwm_ctrl[nr] = data->pwm_duty[nr];
@@ -705,7 +713,8 @@ static ssize_t set_pwm_enable(struct device *dev,
705 it87_write_value(data, IT87_REG_PWM(nr), data->pwm_ctrl[nr]); 713 it87_write_value(data, IT87_REG_PWM(nr), data->pwm_ctrl[nr]);
706 /* set SmartGuardian mode */ 714 /* set SmartGuardian mode */
707 data->fan_main_ctrl |= (1 << nr); 715 data->fan_main_ctrl |= (1 << nr);
708 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL, data->fan_main_ctrl); 716 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL,
717 data->fan_main_ctrl);
709 } 718 }
710 719
711 mutex_unlock(&data->update_lock); 720 mutex_unlock(&data->update_lock);
@@ -892,7 +901,8 @@ show_fan16_offset(4);
892show_fan16_offset(5); 901show_fan16_offset(5);
893 902
894/* Alarms */ 903/* Alarms */
895static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf) 904static ssize_t show_alarms(struct device *dev, struct device_attribute *attr,
905 char *buf)
896{ 906{
897 struct it87_data *data = it87_update_device(dev); 907 struct it87_data *data = it87_update_device(dev);
898 return sprintf(buf, "%u\n", data->alarms); 908 return sprintf(buf, "%u\n", data->alarms);
@@ -972,14 +982,14 @@ static SENSOR_DEVICE_ATTR(temp1_beep, S_IRUGO | S_IWUSR,
972static SENSOR_DEVICE_ATTR(temp2_beep, S_IRUGO, show_beep, NULL, 2); 982static SENSOR_DEVICE_ATTR(temp2_beep, S_IRUGO, show_beep, NULL, 2);
973static SENSOR_DEVICE_ATTR(temp3_beep, S_IRUGO, show_beep, NULL, 2); 983static SENSOR_DEVICE_ATTR(temp3_beep, S_IRUGO, show_beep, NULL, 2);
974 984
975static ssize_t 985static ssize_t show_vrm_reg(struct device *dev, struct device_attribute *attr,
976show_vrm_reg(struct device *dev, struct device_attribute *attr, char *buf) 986 char *buf)
977{ 987{
978 struct it87_data *data = dev_get_drvdata(dev); 988 struct it87_data *data = dev_get_drvdata(dev);
979 return sprintf(buf, "%u\n", data->vrm); 989 return sprintf(buf, "%u\n", data->vrm);
980} 990}
981static ssize_t 991static ssize_t store_vrm_reg(struct device *dev, struct device_attribute *attr,
982store_vrm_reg(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) 992 const char *buf, size_t count)
983{ 993{
984 struct it87_data *data = dev_get_drvdata(dev); 994 struct it87_data *data = dev_get_drvdata(dev);
985 u32 val; 995 u32 val;
@@ -991,8 +1001,8 @@ store_vrm_reg(struct device *dev, struct device_attribute *attr, const char *buf
991} 1001}
992static DEVICE_ATTR(vrm, S_IRUGO | S_IWUSR, show_vrm_reg, store_vrm_reg); 1002static DEVICE_ATTR(vrm, S_IRUGO | S_IWUSR, show_vrm_reg, store_vrm_reg);
993 1003
994static ssize_t 1004static ssize_t show_vid_reg(struct device *dev, struct device_attribute *attr,
995show_vid_reg(struct device *dev, struct device_attribute *attr, char *buf) 1005 char *buf)
996{ 1006{
997 struct it87_data *data = it87_update_device(dev); 1007 struct it87_data *data = it87_update_device(dev);
998 return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm)); 1008 return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm));
@@ -1375,7 +1385,8 @@ static int __devinit it87_probe(struct platform_device *pdev)
1375 goto ERROR0; 1385 goto ERROR0;
1376 } 1386 }
1377 1387
1378 if (!(data = kzalloc(sizeof(struct it87_data), GFP_KERNEL))) { 1388 data = kzalloc(sizeof(struct it87_data), GFP_KERNEL);
1389 if (!data) {
1379 err = -ENOMEM; 1390 err = -ENOMEM;
1380 goto ERROR1; 1391 goto ERROR1;
1381 } 1392 }
@@ -1403,7 +1414,8 @@ static int __devinit it87_probe(struct platform_device *pdev)
1403 it87_init_device(pdev); 1414 it87_init_device(pdev);
1404 1415
1405 /* Register sysfs hooks */ 1416 /* Register sysfs hooks */
1406 if ((err = sysfs_create_group(&dev->kobj, &it87_group))) 1417 err = sysfs_create_group(&dev->kobj, &it87_group);
1418 if (err)
1407 goto ERROR2; 1419 goto ERROR2;
1408 1420
1409 if (sio_data->beep_pin) { 1421 if (sio_data->beep_pin) {
@@ -1623,7 +1635,8 @@ static void __devinit it87_init_device(struct platform_device *pdev)
1623 if ((data->fan_main_ctrl & mask) == 0) { 1635 if ((data->fan_main_ctrl & mask) == 0) {
1624 /* Enable all fan tachometers */ 1636 /* Enable all fan tachometers */
1625 data->fan_main_ctrl |= mask; 1637 data->fan_main_ctrl |= mask;
1626 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL, data->fan_main_ctrl); 1638 it87_write_value(data, IT87_REG_FAN_MAIN_CTRL,
1639 data->fan_main_ctrl);
1627 } 1640 }
1628 data->has_fan = (data->fan_main_ctrl >> 4) & 0x07; 1641 data->has_fan = (data->fan_main_ctrl >> 4) & 0x07;
1629 1642
@@ -1672,24 +1685,22 @@ static struct it87_data *it87_update_device(struct device *dev)
1672 1685
1673 if (time_after(jiffies, data->last_updated + HZ + HZ / 2) 1686 if (time_after(jiffies, data->last_updated + HZ + HZ / 2)
1674 || !data->valid) { 1687 || !data->valid) {
1675
1676 if (update_vbat) { 1688 if (update_vbat) {
1677 /* Cleared after each update, so reenable. Value 1689 /* Cleared after each update, so reenable. Value
1678 returned by this read will be previous value */ 1690 returned by this read will be previous value */
1679 it87_write_value(data, IT87_REG_CONFIG, 1691 it87_write_value(data, IT87_REG_CONFIG,
1680 it87_read_value(data, IT87_REG_CONFIG) | 0x40); 1692 it87_read_value(data, IT87_REG_CONFIG) | 0x40);
1681 } 1693 }
1682 for (i = 0; i <= 7; i++) { 1694 for (i = 0; i <= 7; i++) {
1683 data->in[i] = 1695 data->in[i] =
1684 it87_read_value(data, IT87_REG_VIN(i)); 1696 it87_read_value(data, IT87_REG_VIN(i));
1685 data->in_min[i] = 1697 data->in_min[i] =
1686 it87_read_value(data, IT87_REG_VIN_MIN(i)); 1698 it87_read_value(data, IT87_REG_VIN_MIN(i));
1687 data->in_max[i] = 1699 data->in_max[i] =
1688 it87_read_value(data, IT87_REG_VIN_MAX(i)); 1700 it87_read_value(data, IT87_REG_VIN_MAX(i));
1689 } 1701 }
1690 /* in8 (battery) has no limit registers */ 1702 /* in8 (battery) has no limit registers */
1691 data->in[8] = 1703 data->in[8] = it87_read_value(data, IT87_REG_VIN(8));
1692 it87_read_value(data, IT87_REG_VIN(8));
1693 1704
1694 for (i = 0; i < 5; i++) { 1705 for (i = 0; i < 5; i++) {
1695 /* Skip disabled fans */ 1706 /* Skip disabled fans */
@@ -1697,7 +1708,7 @@ static struct it87_data *it87_update_device(struct device *dev)
1697 continue; 1708 continue;
1698 1709
1699 data->fan_min[i] = 1710 data->fan_min[i] =
1700 it87_read_value(data, IT87_REG_FAN_MIN[i]); 1711 it87_read_value(data, IT87_REG_FAN_MIN[i]);
1701 data->fan[i] = it87_read_value(data, 1712 data->fan[i] = it87_read_value(data,
1702 IT87_REG_FAN[i]); 1713 IT87_REG_FAN[i]);
1703 /* Add high byte if in 16-bit mode */ 1714 /* Add high byte if in 16-bit mode */
@@ -1710,11 +1721,11 @@ static struct it87_data *it87_update_device(struct device *dev)
1710 } 1721 }
1711 for (i = 0; i < 3; i++) { 1722 for (i = 0; i < 3; i++) {
1712 data->temp[i] = 1723 data->temp[i] =
1713 it87_read_value(data, IT87_REG_TEMP(i)); 1724 it87_read_value(data, IT87_REG_TEMP(i));
1714 data->temp_high[i] = 1725 data->temp_high[i] =
1715 it87_read_value(data, IT87_REG_TEMP_HIGH(i)); 1726 it87_read_value(data, IT87_REG_TEMP_HIGH(i));
1716 data->temp_low[i] = 1727 data->temp_low[i] =
1717 it87_read_value(data, IT87_REG_TEMP_LOW(i)); 1728 it87_read_value(data, IT87_REG_TEMP_LOW(i));
1718 } 1729 }
1719 1730
1720 /* Newer chips don't have clock dividers */ 1731 /* Newer chips don't have clock dividers */
@@ -1810,7 +1821,7 @@ exit:
1810static int __init sm_it87_init(void) 1821static int __init sm_it87_init(void)
1811{ 1822{
1812 int err; 1823 int err;
1813 unsigned short isa_address=0; 1824 unsigned short isa_address = 0;
1814 struct it87_sio_data sio_data; 1825 struct it87_sio_data sio_data;
1815 1826
1816 memset(&sio_data, 0, sizeof(struct it87_sio_data)); 1827 memset(&sio_data, 0, sizeof(struct it87_sio_data));
@@ -1822,7 +1833,7 @@ static int __init sm_it87_init(void)
1822 return err; 1833 return err;
1823 1834
1824 err = it87_device_add(isa_address, &sio_data); 1835 err = it87_device_add(isa_address, &sio_data);
1825 if (err){ 1836 if (err) {
1826 platform_driver_unregister(&it87_driver); 1837 platform_driver_unregister(&it87_driver);
1827 return err; 1838 return err;
1828 } 1839 }
@@ -1843,7 +1854,8 @@ MODULE_DESCRIPTION("IT8705F/8712F/8716F/8718F/8720F/8726F, SiS950 driver");
1843module_param(update_vbat, bool, 0); 1854module_param(update_vbat, bool, 0);
1844MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); 1855MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value");
1845module_param(fix_pwm_polarity, bool, 0); 1856module_param(fix_pwm_polarity, bool, 0);
1846MODULE_PARM_DESC(fix_pwm_polarity, "Force PWM polarity to active high (DANGEROUS)"); 1857MODULE_PARM_DESC(fix_pwm_polarity,
1858 "Force PWM polarity to active high (DANGEROUS)");
1847MODULE_LICENSE("GPL"); 1859MODULE_LICENSE("GPL");
1848 1860
1849module_init(sm_it87_init); 1861module_init(sm_it87_init);