[PATCH 07/11] hwmon: (adt7475) Print device information on probe

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

 



Print the device name and revision at probe time, as well as a list of
all optional features which are available.

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
Cc: Jordan Crouse <jordan@xxxxxxxxxxxxxxxxx>
Cc: "Darrick J. Wong" <djwong@xxxxxxxxxx>
---
 drivers/hwmon/adt7475.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

--- linux-2.6.32-rc8.orig/drivers/hwmon/adt7475.c	2009-12-02 14:31:11.000000000 +0100
+++ linux-2.6.32-rc8/drivers/hwmon/adt7475.c	2009-12-02 14:31:16.000000000 +0100
@@ -40,6 +40,8 @@
 
 /* 7475 Common Registers */
 
+#define REG_DEVREV2		0x12	/* ADT7490 only */
+
 #define REG_VTT			0x1E	/* ADT7490 only */
 #define REG_EXTEND3		0x1F	/* ADT7490 only */
 
@@ -1149,6 +1151,12 @@ static void adt7475_remove_files(struct
 static int adt7475_probe(struct i2c_client *client,
 			 const struct i2c_device_id *id)
 {
+	static const char *names[] = {
+		[adt7473] = "ADT7473",
+		[adt7475] = "ADT7475",
+		[adt7490] = "ADT7490",
+	};
+
 	struct adt7475_data *data;
 	int i, ret = 0, revision;
 	u8 config3;
@@ -1165,6 +1173,8 @@ static int adt7475_probe(struct i2c_clie
 	case adt7490:
 		data->has_voltage = 0x3e;	/* in1 to in5 */
 		revision = adt7475_read(REG_DEVID2) & 0x03;
+		if (revision == 0x03)
+			revision += adt7475_read(REG_DEVREV2);
 		break;
 	default:
 		data->has_voltage = 0x06;	/* in1, in2 */
@@ -1234,6 +1244,14 @@ static int adt7475_probe(struct i2c_clie
 		goto eremove;
 	}
 
+	dev_info(&client->dev, "%s device, revision %d\n",
+		 names[id->driver_data], revision);
+	if ((data->has_voltage & (1 << 0)) || data->has_fan4 || data->has_pwm2)
+		dev_info(&client->dev, "Optional features:%s%s%s\n",
+			 (data->has_voltage & (1 << 0)) ? " in0" : "",
+			 data->has_fan4 ? " fan4" : "",
+			 data->has_pwm2 ? " pwm2" : "");
+
 	return 0;
 
 eremove:

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

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

  Powered by Linux