From 1a8aa204f9216c35ddfc8debdabea3491fe0ec16 Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Sun, 4 Jan 2004 17:11:59 +0000 Subject: [PATCH] remove it87 fan_ctl initialization and init parameter; update docs and sensors.conf git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2201 7894878c-1315-0410-8ee3-d5d059ff63e0 --- CHANGES | 6 ++++-- doc/chips/it87 | 38 ++++++++------------------------------ etc/sensors.conf.eg | 11 ++++++++--- kernel/chips/it87.c | 25 ++----------------------- 4 files changed, 22 insertions(+), 58 deletions(-) diff --git a/CHANGES b/CHANGES index fe74e11f..01a868d9 100644 --- a/CHANGES +++ b/CHANGES @@ -19,13 +19,15 @@ ask CVS about it: 2.8.3 (2004????) File lm_sensors.spec: Update - Library: Add 2.6 eeprom support + Library: Add 2.6 eeprom, lm90 support Makefile: Update Alpha CMODFLAGS (Daniel Nilsson) Makefiles: Remove -o and -g arguments to install; add DESTDIR where missing Module i2c-amd756: Fix byte writes Module i2c-tsunami: Cleanups (Daniel Nilsson) Module it87: Fix sg_tlx writes; fix sensor type reporting; - add 8712 Super I/O detection + add 8712 Super I/O detection; + remove initialization of temp_type and fan_ctl; + remove init and temp_type module parameters Module w83781d: Fix negative voltages Module w83l785ts: New Program eeprog: Make 8 bit mode the default diff --git a/doc/chips/it87 b/doc/chips/it87 index f24153ff..f482c92f 100644 --- a/doc/chips/it87 +++ b/doc/chips/it87 @@ -42,39 +42,11 @@ Module Parameters boards the battery voltage is always fed to the chip so can be read at any time. Excessive reading may decrease battery life but no information is given in the datasheet. -* temp_type: integer bit mask - bit 0: Temp sensor 1 is thermal diode - bit 1: Temp sensor 2 is thermal diode - bit 2: Temp sensor 3 is thermal diode - bit 3: Temp sensor 1 is thermal resistor - bit 4: Temp sensor 2 is thermal resistor - bit 5: Temp sensor 3 is thermal resistor - For each sensor either the diode or resistor bit should be set, not both. - Default is temp sensor 1 and 3 resistor, 2 diode (value 0x2a) - Legal values: - sensor1 sensor2 sensor3 value - ------- ------- ------- ----- - diode diode diode 0x07 - diode diode thermistor 0x23 - diode thermistor diode 0x15 - diode thermistor thermistor 0x31 - thermistor diode diode 0x0e - thermistor diode thermistor 0x2a ** default - thermistor thermistor diode 0x1c - thermistor thermistor thermistor 0x38 +* temp_type: integer bit mask (no longer supported; see below) As of release 2.8.2 the sensor type can be set at runtime. See below. * reset_it87: integer 1 if the registers of the chip should be reset at module load time, 0 to not reset the registers. Default is 0. -* init: integer 1 if the registers should be initialized with the module's - default values, 0 skip the initialization. Default is 1. - On some boards (e.g. the Shuttle FN41 from the Shuttle XPC Barebone) - the BIOS configures it87's smart temperature monitoring fan power - adjust feature. A reset/init would unset this and set the power of the - fan to maximum speed (which is very noisy). Set 'reset_it87=0' to - keep the registers at the preconfigured values. - Note: If the registers weren't preconfigured for monitoring by the BIOS - the monitoring will not work if you do not reset and initialize the chip's - registers at module load time. +* init: (no longer supported) Description ----------- @@ -129,6 +101,12 @@ To change sensor x to a thermistor, 'echo 2 > sensorx' where x is 1, 2, or 3. To change sensor x to a thermal diode, 'echo 3 > sensorx'. Any other value is invalid. +To configure this at startup, put the following lines in the it87 section +of /etc/sensors.conf. +2 = thermistor; 3 = thermal diode + set sensor1 3 + set sensor2 3 + set sensor3 3 The fan speed control features can be enabled by setting the bits 0-2 of the fan_ctl register to 1. (Note: bits 6-4 of this register must be set to diff --git a/etc/sensors.conf.eg b/etc/sensors.conf.eg index 243adf3c..d3c46a77 100644 --- a/etc/sensors.conf.eg +++ b/etc/sensors.conf.eg @@ -1400,10 +1400,15 @@ chip "it87-*" "it8705-*" "it8712-*" # Temperature # # Important - if your temperature readings are completely whacky -# you probably need to change the sensor type. This must be done -# with 'modprobe it87 temp_type=0xXX', you can't fix it in this file. -# See ../doc/chips/it87 for details and valid 'XX' values!!! +# you probably need to change the sensor type. +# Adujst and uncomment the appropriate lines below. +# The old method (modprobe it87 temp_type=0xXX) is no longer supported. # +# 2 = thermistor; 3 = thermal diode +# set sensor1 3 +# set sensor2 3 +# set sensor3 3 + label temp1 "M/B Temp" set temp1_over 40 set temp1_hyst 20 diff --git a/kernel/chips/it87.c b/kernel/chips/it87.c index 60ceabd0..082d11e7 100644 --- a/kernel/chips/it87.c +++ b/kernel/chips/it87.c @@ -124,9 +124,6 @@ static int update_vbat = 0; /* Reset the registers on init */ static int reset_it87 = 0; -/* Initialize the registers to default values on init */ -static int init = 1; - /* Many IT87 constants specified below */ /* Length of ISA address segment */ @@ -673,24 +670,8 @@ static int it87_write_value(struct i2c_client *client, u8 reg, u8 value) /* Called when we have found a new IT87. It should set limits, etc. */ static void it87_init_client(struct i2c_client *client) { - if( init ) - { - /* Reset all except Watchdog values and last conversion values - This sets fan-divs to 2, among others. - It will also reset the automatic temperature controlled fan - speed (noise) control the BIOS configured on POST and the - fan will be set to propably noisy full speed operation */ - if( reset_it87 ) { - it87_write_value(client, IT87_REG_CONFIG, 0x80); - } - - /* Enable voltage monitors */ - it87_write_value(client, IT87_REG_VIN_ENABLE, 0xff); - - /* Enable fans */ - it87_write_value(client, IT87_REG_FAN_CTRL, - (it87_read_value(client, IT87_REG_FAN_CTRL) & 0x8f) - | 0x70); + if( reset_it87 ) { + it87_write_value(client, IT87_REG_CONFIG, 0x80); } /* Start monitoring */ it87_write_value(client, IT87_REG_CONFIG, @@ -1124,8 +1105,6 @@ MODULE_AUTHOR("Chris Gauthron "); MODULE_DESCRIPTION("IT8705F, IT8712F, Sis950 driver"); MODULE_PARM(update_vbat, "i"); MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); -MODULE_PARM(init, "i"); -MODULE_PARM_DESC(init, "Initialize some of the chip's registers, default yes"); MODULE_PARM(reset_it87, "i"); MODULE_PARM_DESC(reset_it87, "Reset the chip's registers, default no");