[PATCH] hwmon: VRM is not written to registers

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

 



What was true of reading the VRM value is also true of writing it: not
being a register value, it doesn't need hardware access, so we don't
need a reference to the i2c client. This allows for a minor code
cleanup. As gcc appears to be smart enough to simplify the generated
code by itself, this cleanup only affects the source code, the
generated binaries are unchanged.

Signed-off-by: Jean Delvare <khali at linux-fr.org>
---
 drivers/hwmon/adm1025.c    |    3 +--
 drivers/hwmon/asb100.c     |    6 ++----
 drivers/hwmon/lm85.c       |    8 ++------
 drivers/hwmon/lm87.c       |    3 +--
 drivers/hwmon/smsc47m192.c |    3 +--
 drivers/hwmon/w83791d.c    |    6 ++----
 drivers/hwmon/w83793.c     |    8 ++------
 7 files changed, 11 insertions(+), 26 deletions(-)

--- linux-2.6.24-rc3.orig/drivers/hwmon/adm1025.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/adm1025.c	2007-12-01 11:12:21.000000000 +0100
@@ -335,8 +335,7 @@ show_vrm(struct device *dev, struct devi
 static ssize_t set_vrm(struct device *dev, struct device_attribute *attr,
 		       const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct adm1025_data *data = i2c_get_clientdata(client);
+	struct adm1025_data *data = dev_get_drvdata(dev);
 	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }
--- linux-2.6.24-rc3.orig/drivers/hwmon/asb100.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/asb100.c	2007-12-01 11:12:21.000000000 +0100
@@ -520,10 +520,8 @@ static ssize_t show_vrm(struct device *d
 
 static ssize_t set_vrm(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct asb100_data *data = i2c_get_clientdata(client);
-	unsigned long val = simple_strtoul(buf, NULL, 10);
-	data->vrm = val;
+	struct asb100_data *data = dev_get_drvdata(dev);
+	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }
 
--- linux-2.6.24-rc3.orig/drivers/hwmon/lm85.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/lm85.c	2007-12-01 11:12:21.000000000 +0100
@@ -444,12 +444,8 @@ static ssize_t show_vrm_reg(struct devic
 
 static ssize_t store_vrm_reg(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct lm85_data *data = i2c_get_clientdata(client);
-	u32 val;
-
-	val = simple_strtoul(buf, NULL, 10);
-	data->vrm = val;
+	struct lm85_data *data = dev_get_drvdata(dev);
+	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }
 
--- linux-2.6.24-rc3.orig/drivers/hwmon/lm87.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/lm87.c	2007-12-01 11:12:21.000000000 +0100
@@ -511,8 +511,7 @@ static ssize_t show_vrm(struct device *d
 }
 static ssize_t set_vrm(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct lm87_data *data = i2c_get_clientdata(client);
+	struct lm87_data *data = dev_get_drvdata(dev);
 	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }
--- linux-2.6.24-rc3.orig/drivers/hwmon/smsc47m192.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/smsc47m192.c	2007-12-01 11:12:21.000000000 +0100
@@ -341,8 +341,7 @@ static ssize_t show_vrm(struct device *d
 static ssize_t set_vrm(struct device *dev, struct device_attribute *attr,
 		const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct smsc47m192_data *data = i2c_get_clientdata(client);
+	struct smsc47m192_data *data = dev_get_drvdata(dev);
 	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }
--- linux-2.6.24-rc3.orig/drivers/hwmon/w83791d.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/w83791d.c	2007-12-01 11:12:21.000000000 +0100
@@ -840,14 +840,12 @@ static ssize_t store_vrm_reg(struct devi
 				struct device_attribute *attr,
 				const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct w83791d_data *data = i2c_get_clientdata(client);
-	unsigned long val = simple_strtoul(buf, NULL, 10);
+	struct w83791d_data *data = dev_get_drvdata(dev);
 
 	/* No lock needed as vrm is internal to the driver
 	   (not read from a chip register) and so is not
 	   updated in w83791d_update_device() */
-	data->vrm = val;
+	data->vrm = simple_strtoul(buf, NULL, 10);
 
 	return count;
 }
--- linux-2.6.24-rc3.orig/drivers/hwmon/w83793.c	2007-12-01 11:11:13.000000000 +0100
+++ linux-2.6.24-rc3/drivers/hwmon/w83793.c	2007-12-01 11:12:21.000000000 +0100
@@ -243,9 +243,7 @@ static struct i2c_driver w83793_driver =
 static ssize_t
 show_vrm(struct device *dev, struct device_attribute *attr, char *buf)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct w83793_data *data = i2c_get_clientdata(client);
-
+	struct w83793_data *data = dev_get_drvdata(dev);
 	return sprintf(buf, "%d\n", data->vrm);
 }
 
@@ -264,9 +262,7 @@ static ssize_t
 store_vrm(struct device *dev, struct device_attribute *attr,
 	  const char *buf, size_t count)
 {
-	struct i2c_client *client = to_i2c_client(dev);
-	struct w83793_data *data = i2c_get_clientdata(client);
-
+	struct w83793_data *data = dev_get_drvdata(dev);
 	data->vrm = simple_strtoul(buf, NULL, 10);
 	return count;
 }


-- 
Jean Delvare




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

  Powered by Linux