From 85aa44e467bee9bf99bcfb852bcb685eff3c29ac Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Thu, 12 Aug 2004 19:51:04 +0000 Subject: [PATCH] Backport some cleanups and fixes from 2.6. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2658 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/chips/adm9240.c | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/kernel/chips/adm9240.c b/kernel/chips/adm9240.c index e9c9f3f5..bf7d83dd 100644 --- a/kernel/chips/adm9240.c +++ b/kernel/chips/adm9240.c @@ -1,7 +1,7 @@ /* adm9240.c - Part of lm_sensors, Linux kernel modules for hardware monitoring - Copyright (c) 1999 Frodo Looijaard + Copyright (C) 1999 Frodo Looijaard and Philip Edelbrock This program is free software; you can redistribute it and/or modify @@ -54,8 +54,6 @@ #include #include "version.h" -MODULE_LICENSE("GPL"); - /* Addresses to scan */ static unsigned short normal_i2c[] = { SENSORS_I2C_END }; static unsigned short normal_i2c_range[] = { 0x2c, 0x2f, SENSORS_I2C_END }; @@ -126,7 +124,7 @@ SENSORS_INSMOD_3(adm9240, ds1780, lm81); variants. Note that you should be a bit careful with which arguments these macros are called: arguments may be evaluated more than once. Fixing this is just not worth it. */ -#define IN_TO_REG(val,nr) (SENSORS_LIMIT(((val) & 0xff),0,255)) +#define IN_TO_REG(val,nr) (SENSORS_LIMIT((val), 0, 255)) #define IN_FROM_REG(val,nr) (val) static inline u8 FAN_TO_REG(long rpm, int div) @@ -141,13 +139,12 @@ static inline u8 FAN_TO_REG(long rpm, int div) #define FAN_FROM_REG(val,div) ((val)==0?-1:\ (val)==255?0:1350000/((div)*(val))) -#define TEMP_FROM_REG(temp) \ - ((temp)<256?((((temp)&0x1fe) >> 1) * 10) + ((temp) & 1) * 5: \ - ((((temp)&0x1fe) >> 1) -255) * 10 - ((temp) & 1) * 5) \ +#define TEMP_FROM_REG(temp) ((temp)<256 ? (temp) * 5 : \ + ((temp) - 512) * 5) -#define TEMP_LIMIT_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*10) +#define TEMP_LIMIT_FROM_REG(val) (((val)>=0x80?(val)-0x100:(val))*10) -#define TEMP_LIMIT_TO_REG(val) SENSORS_LIMIT(((val)<0?(((val)-5)/10):\ +#define TEMP_LIMIT_TO_REG(val) SENSORS_LIMIT(((val)<0?(((val)-5)/10)+256:\ ((val)+5)/10), \ 0,255) @@ -159,10 +156,7 @@ static inline u8 FAN_TO_REG(long rpm, int div) #define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ 205-(val)*5) -/* For each registered ADM9240, we need to keep some data in memory. That - data is pointed to by adm9240_list[NR]->data. The structure itself is - dynamically allocated, at the same time when a new adm9240 client is - allocated. */ +/* For each registered ADM9240, we need to keep some data in memory. */ struct adm9240_data { struct i2c_client client; int sysctl_id; @@ -192,9 +186,8 @@ static int adm9240_detect(struct i2c_adapter *adapter, int address, unsigned short flags, int kind); static int adm9240_detach_client(struct i2c_client *client); -static int adm9240_read_value(struct i2c_client *client, u8 register); -static int adm9240_write_value(struct i2c_client *client, u8 register, - u8 value); +static int adm9240_read_value(struct i2c_client *client, u8 reg); +static int adm9240_write_value(struct i2c_client *client, u8 reg, u8 value); static void adm9240_update_client(struct i2c_client *client); static void adm9240_init_client(struct i2c_client *client); @@ -307,16 +300,6 @@ static int adm9240_detect(struct i2c_adapter *adapter, int address, const char *type_name = ""; const char *client_name = ""; - /* Make sure we aren't probing the ISA bus!! This is just a safety check - at this moment; i2c_detect really won't call us. */ -#ifdef DEBUG - if (i2c_is_isa_adapter(adapter)) { - printk - ("adm9240.o: adm9240_detect called for an ISA bus adapter?!?\n"); - return 0; - } -#endif - if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) goto ERROR0; @@ -443,7 +426,7 @@ static int adm9240_detach_client(struct i2c_client *client) static int adm9240_read_value(struct i2c_client *client, u8 reg) { - return 0xFF & i2c_smbus_read_byte_data(client, reg); + return i2c_smbus_read_byte_data(client, reg); } static int adm9240_write_value(struct i2c_client *client, u8 reg, u8 value) @@ -451,7 +434,7 @@ static int adm9240_write_value(struct i2c_client *client, u8 reg, u8 value) return i2c_smbus_write_byte_data(client, reg, value); } -/* Called when we have found a new ADM9240. It should set limits, etc. */ +/* Called when we have found a new ADM9240. */ static void adm9240_init_client(struct i2c_client *client) { /* Start monitoring */ @@ -722,6 +705,7 @@ static void __exit sm_adm9240_exit(void) MODULE_AUTHOR ("Frodo Looijaard and Philip Edelbrock "); +MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("ADM9240 driver"); module_init(sm_adm9240_init);