diff options
Diffstat (limited to 'drivers/hwmon/max6650.c')
-rw-r--r-- | drivers/hwmon/max6650.c | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/drivers/hwmon/max6650.c b/drivers/hwmon/max6650.c index 9a11532ecae8..cced18626174 100644 --- a/drivers/hwmon/max6650.c +++ b/drivers/hwmon/max6650.c | |||
@@ -41,13 +41,6 @@ | |||
41 | #include <linux/err.h> | 41 | #include <linux/err.h> |
42 | 42 | ||
43 | /* | 43 | /* |
44 | * Addresses to scan. There are four disjoint possibilities, by pin config. | ||
45 | */ | ||
46 | |||
47 | static const unsigned short normal_i2c[] = {0x1b, 0x1f, 0x48, 0x4b, | ||
48 | I2C_CLIENT_END}; | ||
49 | |||
50 | /* | ||
51 | * Insmod parameters | 44 | * Insmod parameters |
52 | */ | 45 | */ |
53 | 46 | ||
@@ -114,8 +107,6 @@ module_param(clock, int, S_IRUGO); | |||
114 | 107 | ||
115 | static int max6650_probe(struct i2c_client *client, | 108 | static int max6650_probe(struct i2c_client *client, |
116 | const struct i2c_device_id *id); | 109 | const struct i2c_device_id *id); |
117 | static int max6650_detect(struct i2c_client *client, | ||
118 | struct i2c_board_info *info); | ||
119 | static int max6650_init_client(struct i2c_client *client); | 110 | static int max6650_init_client(struct i2c_client *client); |
120 | static int max6650_remove(struct i2c_client *client); | 111 | static int max6650_remove(struct i2c_client *client); |
121 | static struct max6650_data *max6650_update_device(struct device *dev); | 112 | static struct max6650_data *max6650_update_device(struct device *dev); |
@@ -131,15 +122,12 @@ static const struct i2c_device_id max6650_id[] = { | |||
131 | MODULE_DEVICE_TABLE(i2c, max6650_id); | 122 | MODULE_DEVICE_TABLE(i2c, max6650_id); |
132 | 123 | ||
133 | static struct i2c_driver max6650_driver = { | 124 | static struct i2c_driver max6650_driver = { |
134 | .class = I2C_CLASS_HWMON, | ||
135 | .driver = { | 125 | .driver = { |
136 | .name = "max6650", | 126 | .name = "max6650", |
137 | }, | 127 | }, |
138 | .probe = max6650_probe, | 128 | .probe = max6650_probe, |
139 | .remove = max6650_remove, | 129 | .remove = max6650_remove, |
140 | .id_table = max6650_id, | 130 | .id_table = max6650_id, |
141 | .detect = max6650_detect, | ||
142 | .address_list = normal_i2c, | ||
143 | }; | 131 | }; |
144 | 132 | ||
145 | /* | 133 | /* |
@@ -525,38 +513,6 @@ static struct attribute_group max6650_attr_grp = { | |||
525 | * Real code | 513 | * Real code |
526 | */ | 514 | */ |
527 | 515 | ||
528 | /* Return 0 if detection is successful, -ENODEV otherwise */ | ||
529 | static int max6650_detect(struct i2c_client *client, | ||
530 | struct i2c_board_info *info) | ||
531 | { | ||
532 | struct i2c_adapter *adapter = client->adapter; | ||
533 | int address = client->addr; | ||
534 | |||
535 | dev_dbg(&adapter->dev, "max6650_detect called\n"); | ||
536 | |||
537 | if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA)) { | ||
538 | dev_dbg(&adapter->dev, "max6650: I2C bus doesn't support " | ||
539 | "byte read mode, skipping.\n"); | ||
540 | return -ENODEV; | ||
541 | } | ||
542 | |||
543 | if (((i2c_smbus_read_byte_data(client, MAX6650_REG_CONFIG) & 0xC0) | ||
544 | ||(i2c_smbus_read_byte_data(client, MAX6650_REG_GPIO_STAT) & 0xE0) | ||
545 | ||(i2c_smbus_read_byte_data(client, MAX6650_REG_ALARM_EN) & 0xE0) | ||
546 | ||(i2c_smbus_read_byte_data(client, MAX6650_REG_ALARM) & 0xE0) | ||
547 | ||(i2c_smbus_read_byte_data(client, MAX6650_REG_COUNT) & 0xFC))) { | ||
548 | dev_dbg(&adapter->dev, | ||
549 | "max6650: detection failed at 0x%02x.\n", address); | ||
550 | return -ENODEV; | ||
551 | } | ||
552 | |||
553 | dev_info(&adapter->dev, "max6650: chip found at 0x%02x.\n", address); | ||
554 | |||
555 | strlcpy(info->type, "max6650", I2C_NAME_SIZE); | ||
556 | |||
557 | return 0; | ||
558 | } | ||
559 | |||
560 | static int max6650_probe(struct i2c_client *client, | 516 | static int max6650_probe(struct i2c_client *client, |
561 | const struct i2c_device_id *id) | 517 | const struct i2c_device_id *id) |
562 | { | 518 | { |