All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <2538186705051703422bee60eb@mail.gmail.com>

diff --git a/a/1.txt b/N1/1.txt
index 16eeac0..a04697f 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,26 +1,3 @@
 Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>
 
 ---
--------------- next part --------------
- pc87360.c    |   68 +++++++++++++++++++++++++++++------------------------------
- pcf8574.c    |    6 ++---
- pcf8591.c    |   10 ++++----
- sis5595.c    |   34 ++++++++++++++---------------
- smsc47b397.c |    4 +--
- smsc47m1.c   |   20 ++++++++---------
- via686a.c    |   32 +++++++++++++--------------
- w83627hf.c   |   56 ++++++++++++++++++++++++------------------------
- 8 files changed, 115 insertions(+), 115 deletions(-)
-
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff
-Type: text/x-patch
-Size: 39499 bytes
-Desc: not available
-Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050517/0ee9594f/patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.bin
--------------- next part --------------
-_______________________________________________
-lm-sensors mailing list
-lm-sensors@lm-sensors.org
-http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..7ccacca
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,4 @@
+Content-Type: text/plain; 
+	name=patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff.diffstat.txt; charset=us-ascii
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff.diffstat.txt"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..0fca142
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,9 @@
+ pc87360.c    |   68 +++++++++++++++++++++++++++++------------------------------
+ pcf8574.c    |    6 ++---
+ pcf8591.c    |   10 ++++----
+ sis5595.c    |   34 ++++++++++++++---------------
+ smsc47b397.c |    4 +--
+ smsc47m1.c   |   20 ++++++++---------
+ via686a.c    |   32 +++++++++++++--------------
+ w83627hf.c   |   56 ++++++++++++++++++++++++------------------------
+ 8 files changed, 115 insertions(+), 115 deletions(-)
diff --git a/N1/3.hdr b/N1/3.hdr
new file mode 100644
index 0000000..a9f01e2
--- /dev/null
+++ b/N1/3.hdr
@@ -0,0 +1,4 @@
+Content-Type: text/x-patch; 
+	name=patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff; charset=us-ascii
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff"
diff --git a/N1/3.txt b/N1/3.txt
new file mode 100644
index 0000000..a10b4b6
--- /dev/null
+++ b/N1/3.txt
@@ -0,0 +1,865 @@
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pc87360.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pc87360.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pc87360.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pc87360.c	2005-05-16 23:45:52.000000000 -0400
+@@ -282,31 +282,31 @@ static ssize_t set_fan_min(struct device
+ }
+ 
+ #define show_and_set_fan(offset) \
+-static ssize_t show_fan##offset##_input(struct device *dev, char *buf) \
++static ssize_t show_fan##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[offset-1], \
+ 		       FAN_DIV_FROM_REG(data->fan_status[offset-1]))); \
+ } \
+-static ssize_t show_fan##offset##_min(struct device *dev, char *buf) \
++static ssize_t show_fan##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[offset-1], \
+ 		       FAN_DIV_FROM_REG(data->fan_status[offset-1]))); \
+ } \
+-static ssize_t show_fan##offset##_div(struct device *dev, char *buf) \
++static ssize_t show_fan##offset##_div(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", \
+ 		       FAN_DIV_FROM_REG(data->fan_status[offset-1])); \
+ } \
+-static ssize_t show_fan##offset##_status(struct device *dev, char *buf) \
++static ssize_t show_fan##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", \
+ 		       FAN_STATUS_FROM_REG(data->fan_status[offset-1])); \
+ } \
+-static ssize_t set_fan##offset##_min(struct device *dev, const char *buf, \
++static ssize_t set_fan##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	return set_fan_min(dev, buf, count, offset-1); \
+@@ -324,7 +324,7 @@ show_and_set_fan(2)
+ show_and_set_fan(3)
+ 
+ #define show_and_set_pwm(offset) \
+-static ssize_t show_pwm##offset(struct device *dev, char *buf) \
++static ssize_t show_pwm##offset(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", \
+@@ -332,7 +332,7 @@ static ssize_t show_pwm##offset(struct d
+ 				    FAN_CONFIG_INVERT(data->fan_conf, \
+ 						      offset-1))); \
+ } \
+-static ssize_t set_pwm##offset(struct device *dev, const char *buf, \
++static ssize_t set_pwm##offset(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -354,30 +354,30 @@ show_and_set_pwm(2)
+ show_and_set_pwm(3)
+ 
+ #define show_and_set_in(offset) \
+-static ssize_t show_in##offset##_input(struct device *dev, char *buf) \
++static ssize_t show_in##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in[offset], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_in##offset##_min(struct device *dev, char *buf) \
++static ssize_t show_in##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[offset], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_in##offset##_max(struct device *dev, char *buf) \
++static ssize_t show_in##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[offset], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_in##offset##_status(struct device *dev, char *buf) \
++static ssize_t show_in##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", data->in_status[offset]); \
+ } \
+-static ssize_t set_in##offset##_min(struct device *dev, const char *buf, \
++static ssize_t set_in##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -391,7 +391,7 @@ static ssize_t set_in##offset##_min(stru
+ 	up(&data->update_lock); \
+ 	return count; \
+ } \
+-static ssize_t set_in##offset##_max(struct device *dev, const char *buf, \
++static ssize_t set_in##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -427,36 +427,36 @@ show_and_set_in(9)
+ show_and_set_in(10)
+ 
+ #define show_and_set_therm(offset) \
+-static ssize_t show_temp##offset##_input(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in[offset+7], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_temp##offset##_min(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[offset+7], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_temp##offset##_max(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[offset+7], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_temp##offset##_crit(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_crit(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", IN_FROM_REG(data->in_crit[offset-4], \
+ 		       data->in_vref)); \
+ } \
+-static ssize_t show_temp##offset##_status(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%u\n", data->in_status[offset+7]); \
+ } \
+-static ssize_t set_temp##offset##_min(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -470,7 +470,7 @@ static ssize_t set_temp##offset##_min(st
+ 	up(&data->update_lock); \
+ 	return count; \
+ } \
+-static ssize_t set_temp##offset##_max(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -484,7 +484,7 @@ static ssize_t set_temp##offset##_max(st
+ 	up(&data->update_lock); \
+ 	return count; \
+ } \
+-static ssize_t set_temp##offset##_crit(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_crit(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -512,19 +512,19 @@ show_and_set_therm(4)
+ show_and_set_therm(5)
+ show_and_set_therm(6)
+ 
+-static ssize_t show_vid(struct device *dev, char *buf)
++static ssize_t show_vid(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pc87360_data *data = pc87360_update_device(dev);
+ 	return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm));
+ }
+ static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL);
+ 
+-static ssize_t show_vrm(struct device *dev, char *buf)
++static ssize_t show_vrm(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pc87360_data *data = pc87360_update_device(dev);
+ 	return sprintf(buf, "%u\n", data->vrm);
+ }
+-static ssize_t set_vrm(struct device *dev, const char *buf, size_t count)
++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 pc87360_data *data = i2c_get_clientdata(client);
+@@ -533,7 +533,7 @@ static ssize_t set_vrm(struct device *de
+ }
+ static DEVICE_ATTR(vrm, S_IRUGO | S_IWUSR, show_vrm, set_vrm);
+ 
+-static ssize_t show_in_alarms(struct device *dev, char *buf)
++static ssize_t show_in_alarms(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pc87360_data *data = pc87360_update_device(dev);
+ 	return sprintf(buf, "%u\n", data->in_alarms);
+@@ -541,32 +541,32 @@ static ssize_t show_in_alarms(struct dev
+ static DEVICE_ATTR(alarms_in, S_IRUGO, show_in_alarms, NULL);
+ 
+ #define show_and_set_temp(offset) \
+-static ssize_t show_temp##offset##_input(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[offset-1])); \
+ } \
+-static ssize_t show_temp##offset##_min(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[offset-1])); \
+ } \
+-static ssize_t show_temp##offset##_max(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[offset-1])); \
+ }\
+-static ssize_t show_temp##offset##_crit(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_crit(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_crit[offset-1])); \
+ }\
+-static ssize_t show_temp##offset##_status(struct device *dev, char *buf) \
++static ssize_t show_temp##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct pc87360_data *data = pc87360_update_device(dev); \
+ 	return sprintf(buf, "%d\n", data->temp_status[offset-1]); \
+ }\
+-static ssize_t set_temp##offset##_min(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -580,7 +580,7 @@ static ssize_t set_temp##offset##_min(st
+ 	up(&data->update_lock); \
+ 	return count; \
+ } \
+-static ssize_t set_temp##offset##_max(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -594,7 +594,7 @@ static ssize_t set_temp##offset##_max(st
+ 	up(&data->update_lock); \
+ 	return count; \
+ } \
+-static ssize_t set_temp##offset##_crit(struct device *dev, const char *buf, \
++static ssize_t set_temp##offset##_crit(struct device *dev, struct device_attribute *attr, const char *buf, \
+ 	size_t count) \
+ { \
+ 	struct i2c_client *client = to_i2c_client(dev); \
+@@ -622,7 +622,7 @@ show_and_set_temp(1)
+ show_and_set_temp(2)
+ show_and_set_temp(3)
+ 
+-static ssize_t show_temp_alarms(struct device *dev, char *buf)
++static ssize_t show_temp_alarms(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pc87360_data *data = pc87360_update_device(dev);
+ 	return sprintf(buf, "%u\n", data->temp_alarms);
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8574.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8574.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8574.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8574.c	2005-05-16 23:45:52.000000000 -0400
+@@ -76,7 +76,7 @@ static struct i2c_driver pcf8574_driver 
+ };
+ 
+ /* following are the sysfs callback functions */
+-static ssize_t show_read(struct device *dev, char *buf)
++static ssize_t show_read(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+ 	struct pcf8574_data *data = i2c_get_clientdata(client);
+@@ -86,13 +86,13 @@ static ssize_t show_read(struct device *
+ 
+ static DEVICE_ATTR(read, S_IRUGO, show_read, NULL);
+ 
+-static ssize_t show_write(struct device *dev, char *buf)
++static ssize_t show_write(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pcf8574_data *data = i2c_get_clientdata(to_i2c_client(dev));
+ 	return sprintf(buf, "%u\n", data->write);
+ }
+ 
+-static ssize_t set_write(struct device *dev, const char *buf,
++static ssize_t set_write(struct device *dev, struct device_attribute *attr, const char *buf,
+ 			 size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8591.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8591.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8591.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8591.c	2005-05-16 23:45:52.000000000 -0400
+@@ -100,7 +100,7 @@ static struct i2c_driver pcf8591_driver 
+ 
+ /* following are the sysfs callback functions */
+ #define show_in_channel(channel)					\
+-static ssize_t show_in##channel##_input(struct device *dev, char *buf)	\
++static ssize_t show_in##channel##_input(struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return sprintf(buf, "%d\n", pcf8591_read_channel(dev, channel));\
+ }									\
+@@ -112,13 +112,13 @@ show_in_channel(1);
+ show_in_channel(2);
+ show_in_channel(3);
+ 
+-static ssize_t show_out0_ouput(struct device *dev, char *buf)
++static ssize_t show_out0_ouput(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pcf8591_data *data = i2c_get_clientdata(to_i2c_client(dev));
+ 	return sprintf(buf, "%d\n", data->aout * 10);
+ }
+ 
+-static ssize_t set_out0_output(struct device *dev, const char *buf, size_t count)
++static ssize_t set_out0_output(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+ {
+ 	unsigned int value;
+ 	struct i2c_client *client = to_i2c_client(dev);
+@@ -134,13 +134,13 @@ static ssize_t set_out0_output(struct de
+ static DEVICE_ATTR(out0_output, S_IWUSR | S_IRUGO, 
+ 		   show_out0_ouput, set_out0_output);
+ 
+-static ssize_t show_out0_enable(struct device *dev, char *buf)
++static ssize_t show_out0_enable(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct pcf8591_data *data = i2c_get_clientdata(to_i2c_client(dev));
+ 	return sprintf(buf, "%u\n", !(!(data->control & PCF8591_CONTROL_AOEF)));
+ }
+ 
+-static ssize_t set_out0_enable(struct device *dev, const char *buf, size_t count)
++static ssize_t set_out0_enable(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+ 	struct pcf8591_data *data = i2c_get_clientdata(client);
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/sis5595.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/sis5595.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/sis5595.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/sis5595.c	2005-05-16 23:45:52.000000000 -0400
+@@ -256,28 +256,28 @@ static ssize_t set_in_max(struct device 
+ 
+ #define show_in_offset(offset)					\
+ static ssize_t							\
+-	show_in##offset (struct device *dev, char *buf)		\
++	show_in##offset (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {								\
+ 	return show_in(dev, buf, offset);			\
+ }								\
+ static DEVICE_ATTR(in##offset##_input, S_IRUGO, 		\
+ 		show_in##offset, NULL);				\
+ static ssize_t							\
+-	show_in##offset##_min (struct device *dev, char *buf)	\
++	show_in##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {								\
+ 	return show_in_min(dev, buf, offset);			\
+ }								\
+ static ssize_t							\
+-	show_in##offset##_max (struct device *dev, char *buf)	\
++	show_in##offset##_max (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {								\
+ 	return show_in_max(dev, buf, offset);			\
+ }								\
+-static ssize_t set_in##offset##_min (struct device *dev,	\
++static ssize_t set_in##offset##_min (struct device *dev, struct device_attribute *attr,	\
+ 		const char *buf, size_t count)			\
+ {								\
+ 	return set_in_min(dev, buf, count, offset);		\
+ }								\
+-static ssize_t set_in##offset##_max (struct device *dev,	\
++static ssize_t set_in##offset##_max (struct device *dev, struct device_attribute *attr,	\
+ 		const char *buf, size_t count)			\
+ {								\
+ 	return set_in_max(dev, buf, count, offset);		\
+@@ -294,19 +294,19 @@ show_in_offset(3);
+ show_in_offset(4);
+ 
+ /* Temperature */
+-static ssize_t show_temp(struct device *dev, char *buf)
++static ssize_t show_temp(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct sis5595_data *data = sis5595_update_device(dev);
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp));
+ }
+ 
+-static ssize_t show_temp_over(struct device *dev, char *buf)
++static ssize_t show_temp_over(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct sis5595_data *data = sis5595_update_device(dev);
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_over));
+ }
+ 
+-static ssize_t set_temp_over(struct device *dev, const char *buf, size_t count)
++static ssize_t set_temp_over(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+ 	struct sis5595_data *data = i2c_get_clientdata(client);
+@@ -319,13 +319,13 @@ static ssize_t set_temp_over(struct devi
+ 	return count;
+ }
+ 
+-static ssize_t show_temp_hyst(struct device *dev, char *buf)
++static ssize_t show_temp_hyst(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct sis5595_data *data = sis5595_update_device(dev);
+ 	return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_hyst));
+ }
+ 
+-static ssize_t set_temp_hyst(struct device *dev, const char *buf, size_t count)
++static ssize_t set_temp_hyst(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+ 	struct sis5595_data *data = i2c_get_clientdata(client);
+@@ -426,19 +426,19 @@ static ssize_t set_fan_div(struct device
+ }
+ 
+ #define show_fan_offset(offset)						\
+-static ssize_t show_fan_##offset (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t show_fan_##offset##_min (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan_min(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t show_fan_##offset##_div (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan_div(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_fan_##offset##_min (struct device *dev,		\
++static ssize_t set_fan_##offset##_min (struct device *dev, struct device_attribute *attr,		\
+ 		const char *buf, size_t count)				\
+ {									\
+ 	return set_fan_min(dev, buf, count, offset - 1);		\
+@@ -450,13 +450,13 @@ static DEVICE_ATTR(fan##offset##_min, S_
+ show_fan_offset(1);
+ show_fan_offset(2);
+ 
+-static ssize_t set_fan_1_div(struct device *dev, const char *buf,
++static ssize_t set_fan_1_div(struct device *dev, struct device_attribute *attr, const char *buf,
+ 		size_t count)
+ {
+ 	return set_fan_div(dev, buf, count, 0) ;
+ }
+ 
+-static ssize_t set_fan_2_div(struct device *dev, const char *buf,
++static ssize_t set_fan_2_div(struct device *dev, struct device_attribute *attr, const char *buf,
+ 		size_t count)
+ {
+ 	return set_fan_div(dev, buf, count, 1) ;
+@@ -467,7 +467,7 @@ static DEVICE_ATTR(fan2_div, S_IRUGO | S
+ 		show_fan_2_div, set_fan_2_div);
+ 
+ /* Alarms */
+-static ssize_t show_alarms(struct device *dev, char *buf)
++static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct sis5595_data *data = sis5595_update_device(dev);
+ 	return sprintf(buf, "%d\n", data->alarms);
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47b397.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47b397.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47b397.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47b397.c	2005-05-16 23:45:52.000000000 -0400
+@@ -172,7 +172,7 @@ static ssize_t show_temp(struct device *
+ }
+ 
+ #define sysfs_temp(num) \
+-static ssize_t show_temp##num(struct device *dev, char *buf) \
++static ssize_t show_temp##num(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_temp(dev, buf, num-1); \
+ } \
+@@ -201,7 +201,7 @@ static ssize_t show_fan(struct device *d
+ }
+ 
+ #define sysfs_fan(num) \
+-static ssize_t show_fan##num(struct device *dev, char *buf) \
++static ssize_t show_fan##num(struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_fan(dev, buf, num-1); \
+ } \
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47m1.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47m1.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47m1.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47m1.c	2005-05-16 23:45:52.000000000 -0400
+@@ -184,7 +184,7 @@ static ssize_t get_pwm_en(struct device 
+ 	return sprintf(buf, "%d\n", PWM_EN_FROM_REG(data->pwm[nr]));
+ }
+ 
+-static ssize_t get_alarms(struct device *dev, char *buf)
++static ssize_t get_alarms(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct smsc47m1_data *data = smsc47m1_update_device(dev, 0);
+ 	return sprintf(buf, "%d\n", data->alarms);
+@@ -298,42 +298,42 @@ static ssize_t set_pwm_en(struct device 
+ }
+ 
+ #define fan_present(offset)						\
+-static ssize_t get_fan##offset (struct device *dev, char *buf)		\
++static ssize_t get_fan##offset (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {									\
+ 	return get_fan(dev, buf, offset - 1);				\
+ }									\
+-static ssize_t get_fan##offset##_min (struct device *dev, char *buf)	\
++static ssize_t get_fan##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return get_fan_min(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_fan##offset##_min (struct device *dev,		\
++static ssize_t set_fan##offset##_min (struct device *dev, struct device_attribute *attr,		\
+ 		const char *buf, size_t count)				\
+ {									\
+ 	return set_fan_min(dev, buf, count, offset - 1);		\
+ }									\
+-static ssize_t get_fan##offset##_div (struct device *dev, char *buf)	\
++static ssize_t get_fan##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return get_fan_div(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_fan##offset##_div (struct device *dev,		\
++static ssize_t set_fan##offset##_div (struct device *dev, struct device_attribute *attr,		\
+ 		const char *buf, size_t count)				\
+ {									\
+ 	return set_fan_div(dev, buf, count, offset - 1);		\
+ }									\
+-static ssize_t get_pwm##offset (struct device *dev, char *buf)		\
++static ssize_t get_pwm##offset (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {									\
+ 	return get_pwm(dev, buf, offset - 1);				\
+ }									\
+-static ssize_t set_pwm##offset (struct device *dev,			\
++static ssize_t set_pwm##offset (struct device *dev, struct device_attribute *attr,			\
+ 		const char *buf, size_t count)				\
+ {									\
+ 	return set_pwm(dev, buf, count, offset - 1);			\
+ }									\
+-static ssize_t get_pwm##offset##_en (struct device *dev, char *buf)	\
++static ssize_t get_pwm##offset##_en (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return get_pwm_en(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_pwm##offset##_en (struct device *dev,		\
++static ssize_t set_pwm##offset##_en (struct device *dev, struct device_attribute *attr,		\
+ 		const char *buf, size_t count)				\
+ {									\
+ 	return set_pwm_en(dev, buf, count, offset - 1);			\
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/via686a.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/via686a.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/via686a.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/via686a.c	2005-05-16 23:45:52.000000000 -0400
+@@ -386,26 +386,26 @@ static ssize_t set_in_max(struct device 
+ }
+ #define show_in_offset(offset)					\
+ static ssize_t 							\
+-	show_in##offset (struct device *dev, char *buf)		\
++	show_in##offset (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {								\
+ 	return show_in(dev, buf, offset);			\
+ }								\
+ static ssize_t 							\
+-	show_in##offset##_min (struct device *dev, char *buf)	\
++	show_in##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {								\
+ 	return show_in_min(dev, buf, offset);		\
+ }								\
+ static ssize_t 							\
+-	show_in##offset##_max (struct device *dev, char *buf)	\
++	show_in##offset##_max (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {								\
+ 	return show_in_max(dev, buf, offset);		\
+ }								\
+-static ssize_t set_in##offset##_min (struct device *dev, 	\
++static ssize_t set_in##offset##_min (struct device *dev, struct device_attribute *attr, 	\
+ 		const char *buf, size_t count) 			\
+ {								\
+ 	return set_in_min(dev, buf, count, offset);		\
+ }								\
+-static ssize_t set_in##offset##_max (struct device *dev,	\
++static ssize_t set_in##offset##_max (struct device *dev, struct device_attribute *attr,	\
+ 			const char *buf, size_t count)		\
+ {								\
+ 	return set_in_max(dev, buf, count, offset);		\
+@@ -460,26 +460,26 @@ static ssize_t set_temp_hyst(struct devi
+ 	return count;
+ }
+ #define show_temp_offset(offset)					\
+-static ssize_t show_temp_##offset (struct device *dev, char *buf)	\
++static ssize_t show_temp_##offset (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_temp(dev, buf, offset - 1);				\
+ }									\
+ static ssize_t								\
+-show_temp_##offset##_over (struct device *dev, char *buf)		\
++show_temp_##offset##_over (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {									\
+ 	return show_temp_over(dev, buf, offset - 1);			\
+ }									\
+ static ssize_t								\
+-show_temp_##offset##_hyst (struct device *dev, char *buf)		\
++show_temp_##offset##_hyst (struct device *dev, struct device_attribute *attr, char *buf)		\
+ {									\
+ 	return show_temp_hyst(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_temp_##offset##_over (struct device *dev, 		\
++static ssize_t set_temp_##offset##_over (struct device *dev, struct device_attribute *attr, 		\
+ 		const char *buf, size_t count) 				\
+ {									\
+ 	return set_temp_over(dev, buf, count, offset - 1);		\
+ }									\
+-static ssize_t set_temp_##offset##_hyst (struct device *dev, 		\
++static ssize_t set_temp_##offset##_hyst (struct device *dev, struct device_attribute *attr, 		\
+ 		const char *buf, size_t count) 				\
+ {									\
+ 	return set_temp_hyst(dev, buf, count, offset - 1);		\
+@@ -538,24 +538,24 @@ static ssize_t set_fan_div(struct device
+ }
+ 
+ #define show_fan_offset(offset)						\
+-static ssize_t show_fan_##offset (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan(dev, buf, offset - 1);				\
+ }									\
+-static ssize_t show_fan_##offset##_min (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan_min(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t show_fan_##offset##_div (struct device *dev, char *buf)	\
++static ssize_t show_fan_##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)	\
+ {									\
+ 	return show_fan_div(dev, buf, offset - 1);			\
+ }									\
+-static ssize_t set_fan_##offset##_min (struct device *dev, 		\
++static ssize_t set_fan_##offset##_min (struct device *dev, struct device_attribute *attr, 		\
+ 	const char *buf, size_t count) 					\
+ {									\
+ 	return set_fan_min(dev, buf, count, offset - 1);		\
+ }									\
+-static ssize_t set_fan_##offset##_div (struct device *dev, 		\
++static ssize_t set_fan_##offset##_div (struct device *dev, struct device_attribute *attr, 		\
+ 		const char *buf, size_t count) 				\
+ {									\
+ 	return set_fan_div(dev, buf, count, offset - 1);		\
+@@ -570,7 +570,7 @@ show_fan_offset(1);
+ show_fan_offset(2);
+ 
+ /* Alarms */
+-static ssize_t show_alarms(struct device *dev, char *buf) {
++static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf) {
+ 	struct via686a_data *data = via686a_update_device(dev);
+ 	return sprintf(buf,"%d\n", ALARMS_FROM_REG(data->alarms));
+ }
+diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/w83627hf.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/w83627hf.c
+--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/w83627hf.c	2005-05-16 20:35:33.000000000 -0400
++++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/w83627hf.c	2005-05-16 23:45:52.000000000 -0400
+@@ -368,19 +368,19 @@ store_in_reg(MAX, max)
+ 
+ #define sysfs_in_offset(offset) \
+ static ssize_t \
+-show_regs_in_##offset (struct device *dev, char *buf) \
++show_regs_in_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+         return show_in(dev, buf, offset); \
+ } \
+ static DEVICE_ATTR(in##offset##_input, S_IRUGO, show_regs_in_##offset, NULL);
+ 
+ #define sysfs_in_reg_offset(reg, offset) \
+-static ssize_t show_regs_in_##reg##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_in_##reg##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_in_##reg (dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_in_##reg##offset (struct device *dev, \
++store_regs_in_##reg##offset (struct device *dev, struct device_attribute *attr, \
+ 			    const char *buf, size_t count) \
+ { \
+ 	return store_in_##reg (dev, buf, count, offset); \
+@@ -419,25 +419,25 @@ static ssize_t show_in_0(struct w83627hf
+ 	return sprintf(buf,"%ld\n", in0);
+ }
+ 
+-static ssize_t show_regs_in_0(struct device *dev, char *buf)
++static ssize_t show_regs_in_0(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return show_in_0(data, buf, data->in[0]);
+ }
+ 
+-static ssize_t show_regs_in_min0(struct device *dev, char *buf)
++static ssize_t show_regs_in_min0(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return show_in_0(data, buf, data->in_min[0]);
+ }
+ 
+-static ssize_t show_regs_in_max0(struct device *dev, char *buf)
++static ssize_t show_regs_in_max0(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return show_in_0(data, buf, data->in_max[0]);
+ }
+ 
+-static ssize_t store_regs_in_min0(struct device *dev,
++static ssize_t store_regs_in_min0(struct device *dev, struct device_attribute *attr,
+ 	const char *buf, size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+@@ -462,7 +462,7 @@ static ssize_t store_regs_in_min0(struct
+ 	return count;
+ }
+ 
+-static ssize_t store_regs_in_max0(struct device *dev,
++static ssize_t store_regs_in_max0(struct device *dev, struct device_attribute *attr,
+ 	const char *buf, size_t count)
+ {
+ 	struct i2c_client *client = to_i2c_client(dev);
+@@ -531,19 +531,19 @@ store_fan_min(struct device *dev, const 
+ }
+ 
+ #define sysfs_fan_offset(offset) \
+-static ssize_t show_regs_fan_##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_fan(dev, buf, offset); \
+ } \
+ static DEVICE_ATTR(fan##offset##_input, S_IRUGO, show_regs_fan_##offset, NULL);
+ 
+ #define sysfs_fan_min_offset(offset) \
+-static ssize_t show_regs_fan_min##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_fan_min##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_fan_min(dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_fan_min##offset (struct device *dev, const char *buf, size_t count) \
++store_regs_fan_min##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
+ { \
+ 	return store_fan_min(dev, buf, count, offset); \
+ } \
+@@ -608,19 +608,19 @@ store_temp_reg(HYST, max_hyst);
+ 
+ #define sysfs_temp_offset(offset) \
+ static ssize_t \
+-show_regs_temp_##offset (struct device *dev, char *buf) \
++show_regs_temp_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_temp(dev, buf, offset); \
+ } \
+ static DEVICE_ATTR(temp##offset##_input, S_IRUGO, show_regs_temp_##offset, NULL);
+ 
+ #define sysfs_temp_reg_offset(reg, offset) \
+-static ssize_t show_regs_temp_##reg##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_temp_##reg##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_temp_##reg (dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_temp_##reg##offset (struct device *dev, \
++store_regs_temp_##reg##offset (struct device *dev, struct device_attribute *attr, \
+ 			      const char *buf, size_t count) \
+ { \
+ 	return store_temp_##reg (dev, buf, count, offset); \
+@@ -645,7 +645,7 @@ device_create_file(&client->dev, &dev_at
+ } while (0)
+ 
+ static ssize_t
+-show_vid_reg(struct device *dev, char *buf)
++show_vid_reg(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm));
+@@ -655,13 +655,13 @@ static DEVICE_ATTR(cpu0_vid, S_IRUGO, sh
+ device_create_file(&client->dev, &dev_attr_cpu0_vid)
+ 
+ static ssize_t
+-show_vrm_reg(struct device *dev, char *buf)
++show_vrm_reg(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return sprintf(buf, "%ld\n", (long) data->vrm);
+ }
+ static ssize_t
+-store_vrm_reg(struct device *dev, const char *buf, size_t count)
++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 w83627hf_data *data = i2c_get_clientdata(client);
+@@ -677,7 +677,7 @@ static DEVICE_ATTR(vrm, S_IRUGO | S_IWUS
+ device_create_file(&client->dev, &dev_attr_vrm)
+ 
+ static ssize_t
+-show_alarms_reg(struct device *dev, char *buf)
++show_alarms_reg(struct device *dev, struct device_attribute *attr, char *buf)
+ {
+ 	struct w83627hf_data *data = w83627hf_update_device(dev);
+ 	return sprintf(buf, "%ld\n", (long) data->alarms);
+@@ -687,7 +687,7 @@ static DEVICE_ATTR(alarms, S_IRUGO, show
+ device_create_file(&client->dev, &dev_attr_alarms)
+ 
+ #define show_beep_reg(REG, reg) \
+-static ssize_t show_beep_##reg (struct device *dev, char *buf) \
++static ssize_t show_beep_##reg (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	struct w83627hf_data *data = w83627hf_update_device(dev); \
+ 	return sprintf(buf,"%ld\n", \
+@@ -732,12 +732,12 @@ store_beep_reg(struct device *dev, const
+ }
+ 
+ #define sysfs_beep(REG, reg) \
+-static ssize_t show_regs_beep_##reg (struct device *dev, char *buf) \
++static ssize_t show_regs_beep_##reg (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+-	return show_beep_##reg(dev, buf); \
++	return show_beep_##reg(dev, attr, buf); \
+ } \
+ static ssize_t \
+-store_regs_beep_##reg (struct device *dev, const char *buf, size_t count) \
++store_regs_beep_##reg (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
+ { \
+ 	return store_beep_reg(dev, buf, count, BEEP_##REG); \
+ } \
+@@ -801,12 +801,12 @@ store_fan_div_reg(struct device *dev, co
+ }
+ 
+ #define sysfs_fan_div(offset) \
+-static ssize_t show_regs_fan_div_##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_fan_div_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_fan_div_reg(dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_fan_div_##offset (struct device *dev, \
++store_regs_fan_div_##offset (struct device *dev, struct device_attribute *attr, \
+ 			    const char *buf, size_t count) \
+ { \
+ 	return store_fan_div_reg(dev, buf, count, offset - 1); \
+@@ -861,12 +861,12 @@ store_pwm_reg(struct device *dev, const 
+ }
+ 
+ #define sysfs_pwm(offset) \
+-static ssize_t show_regs_pwm_##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_pwm_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+ 	return show_pwm_reg(dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_pwm_##offset (struct device *dev, const char *buf, size_t count) \
++store_regs_pwm_##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
+ { \
+ 	return store_pwm_reg(dev, buf, count, offset); \
+ } \
+@@ -937,12 +937,12 @@ store_sensor_reg(struct device *dev, con
+ }
+ 
+ #define sysfs_sensor(offset) \
+-static ssize_t show_regs_sensor_##offset (struct device *dev, char *buf) \
++static ssize_t show_regs_sensor_##offset (struct device *dev, struct device_attribute *attr, char *buf) \
+ { \
+     return show_sensor_reg(dev, buf, offset); \
+ } \
+ static ssize_t \
+-store_regs_sensor_##offset (struct device *dev, const char *buf, size_t count) \
++store_regs_sensor_##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
+ { \
+     return store_sensor_reg(dev, buf, count, offset); \
+ } \
diff --git a/a/content_digest b/N1/content_digest
index cce275e..571b8cd 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,15 +1,17 @@
- "From\0yani.ioannou@gmail.com (Yani Ioannou)\0"
- "Subject\0[lm-sensors] [PATCH 2.6.12-rc4 8/15] drivers/i2c/chips/pc87360.c -\0"
- "Date\0Thu, 19 May 2005 06:25:58 +0000\0"
+ "From\0Yani Ioannou <yani.ioannou@gmail.com>\0"
+ "Subject\0[PATCH 2.6.12-rc4 8/15] drivers/i2c/chips/pc87360.c - w83627hf.c: update device attribute callbacks\0"
+ "Date\0Tue, 17 May 2005 06:42:25 -0400\0"
  "To\0Greg KH <greg@kroah.com>"
   linux-kernel@vger.kernel.org
  " lm-sensors@lm-sensors.org\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>\n"
  "\n"
- "---\n"
- "-------------- next part --------------\n"
+ ---
+ "\01:2\0"
+ "fn\0patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff.diffstat.txt\0"
+ "b\0"
  " pc87360.c    |   68 +++++++++++++++++++++++++++++------------------------------\n"
  " pcf8574.c    |    6 ++---\n"
  " pcf8591.c    |   10 ++++----\n"
@@ -18,19 +20,874 @@
  " smsc47m1.c   |   20 ++++++++---------\n"
  " via686a.c    |   32 +++++++++++++--------------\n"
  " w83627hf.c   |   56 ++++++++++++++++++++++++------------------------\n"
- " 8 files changed, 115 insertions(+), 115 deletions(-)\n"
- "\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff\n"
- "Type: text/x-patch\n"
- "Size: 39499 bytes\n"
- "Desc: not available\n"
- "Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050517/0ee9594f/patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.bin\n"
- "-------------- next part --------------\n"
- "_______________________________________________\n"
- "lm-sensors mailing list\n"
- "lm-sensors@lm-sensors.org\n"
- http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
+  8 files changed, 115 insertions(+), 115 deletions(-)
+ "\01:3\0"
+ "fn\0patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update.diff-drivers.diff.3.diff\0"
+ "b\0"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pc87360.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pc87360.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pc87360.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pc87360.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -282,31 +282,31 @@ static ssize_t set_fan_min(struct device\n"
+ " }\n"
+ " \n"
+ " #define show_and_set_fan(offset) \\\n"
+ "-static ssize_t show_fan##offset##_input(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_fan##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", FAN_FROM_REG(data->fan[offset-1], \\\n"
+ " \t\t       FAN_DIV_FROM_REG(data->fan_status[offset-1]))); \\\n"
+ " } \\\n"
+ "-static ssize_t show_fan##offset##_min(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_fan##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", FAN_FROM_REG(data->fan_min[offset-1], \\\n"
+ " \t\t       FAN_DIV_FROM_REG(data->fan_status[offset-1]))); \\\n"
+ " } \\\n"
+ "-static ssize_t show_fan##offset##_div(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_fan##offset##_div(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", \\\n"
+ " \t\t       FAN_DIV_FROM_REG(data->fan_status[offset-1])); \\\n"
+ " } \\\n"
+ "-static ssize_t show_fan##offset##_status(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_fan##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", \\\n"
+ " \t\t       FAN_STATUS_FROM_REG(data->fan_status[offset-1])); \\\n"
+ " } \\\n"
+ "-static ssize_t set_fan##offset##_min(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_fan##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \treturn set_fan_min(dev, buf, count, offset-1); \\\n"
+ "@@ -324,7 +324,7 @@ show_and_set_fan(2)\n"
+ " show_and_set_fan(3)\n"
+ " \n"
+ " #define show_and_set_pwm(offset) \\\n"
+ "-static ssize_t show_pwm##offset(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_pwm##offset(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", \\\n"
+ "@@ -332,7 +332,7 @@ static ssize_t show_pwm##offset(struct d\n"
+ " \t\t\t\t    FAN_CONFIG_INVERT(data->fan_conf, \\\n"
+ " \t\t\t\t\t\t      offset-1))); \\\n"
+ " } \\\n"
+ "-static ssize_t set_pwm##offset(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_pwm##offset(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -354,30 +354,30 @@ show_and_set_pwm(2)\n"
+ " show_and_set_pwm(3)\n"
+ " \n"
+ " #define show_and_set_in(offset) \\\n"
+ "-static ssize_t show_in##offset##_input(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_in##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in[offset], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_in##offset##_min(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_in##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in_min[offset], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_in##offset##_max(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_in##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in_max[offset], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_in##offset##_status(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_in##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->in_status[offset]); \\\n"
+ " } \\\n"
+ "-static ssize_t set_in##offset##_min(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_in##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -391,7 +391,7 @@ static ssize_t set_in##offset##_min(stru\n"
+ " \tup(&data->update_lock); \\\n"
+ " \treturn count; \\\n"
+ " } \\\n"
+ "-static ssize_t set_in##offset##_max(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_in##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -427,36 +427,36 @@ show_and_set_in(9)\n"
+ " show_and_set_in(10)\n"
+ " \n"
+ " #define show_and_set_therm(offset) \\\n"
+ "-static ssize_t show_temp##offset##_input(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in[offset+7], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_min(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in_min[offset+7], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_max(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in_max[offset+7], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_crit(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_crit(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", IN_FROM_REG(data->in_crit[offset-4], \\\n"
+ " \t\t       data->in_vref)); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_status(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->in_status[offset+7]); \\\n"
+ " } \\\n"
+ "-static ssize_t set_temp##offset##_min(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -470,7 +470,7 @@ static ssize_t set_temp##offset##_min(st\n"
+ " \tup(&data->update_lock); \\\n"
+ " \treturn count; \\\n"
+ " } \\\n"
+ "-static ssize_t set_temp##offset##_max(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -484,7 +484,7 @@ static ssize_t set_temp##offset##_max(st\n"
+ " \tup(&data->update_lock); \\\n"
+ " \treturn count; \\\n"
+ " } \\\n"
+ "-static ssize_t set_temp##offset##_crit(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_crit(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -512,19 +512,19 @@ show_and_set_therm(4)\n"
+ " show_and_set_therm(5)\n"
+ " show_and_set_therm(6)\n"
+ " \n"
+ "-static ssize_t show_vid(struct device *dev, char *buf)\n"
+ "+static ssize_t show_vid(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%u\\n\", vid_from_reg(data->vid, data->vrm));\n"
+ " }\n"
+ " static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL);\n"
+ " \n"
+ "-static ssize_t show_vrm(struct device *dev, char *buf)\n"
+ "+static ssize_t show_vrm(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->vrm);\n"
+ " }\n"
+ "-static ssize_t set_vrm(struct device *dev, const char *buf, size_t count)\n"
+ "+static ssize_t set_vrm(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct pc87360_data *data = i2c_get_clientdata(client);\n"
+ "@@ -533,7 +533,7 @@ static ssize_t set_vrm(struct device *de\n"
+ " }\n"
+ " static DEVICE_ATTR(vrm, S_IRUGO | S_IWUSR, show_vrm, set_vrm);\n"
+ " \n"
+ "-static ssize_t show_in_alarms(struct device *dev, char *buf)\n"
+ "+static ssize_t show_in_alarms(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->in_alarms);\n"
+ "@@ -541,32 +541,32 @@ static ssize_t show_in_alarms(struct dev\n"
+ " static DEVICE_ATTR(alarms_in, S_IRUGO, show_in_alarms, NULL);\n"
+ " \n"
+ " #define show_and_set_temp(offset) \\\n"
+ "-static ssize_t show_temp##offset##_input(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_input(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp[offset-1])); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_min(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_min(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp_min[offset-1])); \\\n"
+ " } \\\n"
+ "-static ssize_t show_temp##offset##_max(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_max(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp_max[offset-1])); \\\n"
+ " }\\\n"
+ "-static ssize_t show_temp##offset##_crit(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_crit(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp_crit[offset-1])); \\\n"
+ " }\\\n"
+ "-static ssize_t show_temp##offset##_status(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##offset##_status(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev); \\\n"
+ " \treturn sprintf(buf, \"%d\\n\", data->temp_status[offset-1]); \\\n"
+ " }\\\n"
+ "-static ssize_t set_temp##offset##_min(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_min(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -580,7 +580,7 @@ static ssize_t set_temp##offset##_min(st\n"
+ " \tup(&data->update_lock); \\\n"
+ " \treturn count; \\\n"
+ " } \\\n"
+ "-static ssize_t set_temp##offset##_max(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_max(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -594,7 +594,7 @@ static ssize_t set_temp##offset##_max(st\n"
+ " \tup(&data->update_lock); \\\n"
+ " \treturn count; \\\n"
+ " } \\\n"
+ "-static ssize_t set_temp##offset##_crit(struct device *dev, const char *buf, \\\n"
+ "+static ssize_t set_temp##offset##_crit(struct device *dev, struct device_attribute *attr, const char *buf, \\\n"
+ " \tsize_t count) \\\n"
+ " { \\\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev); \\\n"
+ "@@ -622,7 +622,7 @@ show_and_set_temp(1)\n"
+ " show_and_set_temp(2)\n"
+ " show_and_set_temp(3)\n"
+ " \n"
+ "-static ssize_t show_temp_alarms(struct device *dev, char *buf)\n"
+ "+static ssize_t show_temp_alarms(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pc87360_data *data = pc87360_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->temp_alarms);\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8574.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8574.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8574.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8574.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -76,7 +76,7 @@ static struct i2c_driver pcf8574_driver \n"
+ " };\n"
+ " \n"
+ " /* following are the sysfs callback functions */\n"
+ "-static ssize_t show_read(struct device *dev, char *buf)\n"
+ "+static ssize_t show_read(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct pcf8574_data *data = i2c_get_clientdata(client);\n"
+ "@@ -86,13 +86,13 @@ static ssize_t show_read(struct device *\n"
+ " \n"
+ " static DEVICE_ATTR(read, S_IRUGO, show_read, NULL);\n"
+ " \n"
+ "-static ssize_t show_write(struct device *dev, char *buf)\n"
+ "+static ssize_t show_write(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pcf8574_data *data = i2c_get_clientdata(to_i2c_client(dev));\n"
+ " \treturn sprintf(buf, \"%u\\n\", data->write);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_write(struct device *dev, const char *buf,\n"
+ "+static ssize_t set_write(struct device *dev, struct device_attribute *attr, const char *buf,\n"
+ " \t\t\t size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8591.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8591.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/pcf8591.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/pcf8591.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -100,7 +100,7 @@ static struct i2c_driver pcf8591_driver \n"
+ " \n"
+ " /* following are the sysfs callback functions */\n"
+ " #define show_in_channel(channel)\t\t\t\t\t\\\n"
+ "-static ssize_t show_in##channel##_input(struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_in##channel##_input(struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn sprintf(buf, \"%d\\n\", pcf8591_read_channel(dev, channel));\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "@@ -112,13 +112,13 @@ show_in_channel(1);\n"
+ " show_in_channel(2);\n"
+ " show_in_channel(3);\n"
+ " \n"
+ "-static ssize_t show_out0_ouput(struct device *dev, char *buf)\n"
+ "+static ssize_t show_out0_ouput(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pcf8591_data *data = i2c_get_clientdata(to_i2c_client(dev));\n"
+ " \treturn sprintf(buf, \"%d\\n\", data->aout * 10);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_out0_output(struct device *dev, const char *buf, size_t count)\n"
+ "+static ssize_t set_out0_output(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tunsigned int value;\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ "@@ -134,13 +134,13 @@ static ssize_t set_out0_output(struct de\n"
+ " static DEVICE_ATTR(out0_output, S_IWUSR | S_IRUGO, \n"
+ " \t\t   show_out0_ouput, set_out0_output);\n"
+ " \n"
+ "-static ssize_t show_out0_enable(struct device *dev, char *buf)\n"
+ "+static ssize_t show_out0_enable(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct pcf8591_data *data = i2c_get_clientdata(to_i2c_client(dev));\n"
+ " \treturn sprintf(buf, \"%u\\n\", !(!(data->control & PCF8591_CONTROL_AOEF)));\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_out0_enable(struct device *dev, const char *buf, size_t count)\n"
+ "+static ssize_t set_out0_enable(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct pcf8591_data *data = i2c_get_clientdata(client);\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/sis5595.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/sis5595.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/sis5595.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/sis5595.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -256,28 +256,28 @@ static ssize_t set_in_max(struct device \n"
+ " \n"
+ " #define show_in_offset(offset)\t\t\t\t\t\\\n"
+ " static ssize_t\t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset (struct device *dev, char *buf)\t\t\\\n"
+ "+\tshow_in##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in(dev, buf, offset);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ " static DEVICE_ATTR(in##offset##_input, S_IRUGO, \t\t\\\n"
+ " \t\tshow_in##offset, NULL);\t\t\t\t\\\n"
+ " static ssize_t\t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset##_min (struct device *dev, char *buf)\t\\\n"
+ "+\tshow_in##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in_min(dev, buf, offset);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ " static ssize_t\t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset##_max (struct device *dev, char *buf)\t\\\n"
+ "+\tshow_in##offset##_max (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in_max(dev, buf, offset);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_in##offset##_min (struct device *dev,\t\\\n"
+ "+static ssize_t set_in##offset##_min (struct device *dev, struct device_attribute *attr,\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_in_min(dev, buf, count, offset);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_in##offset##_max (struct device *dev,\t\\\n"
+ "+static ssize_t set_in##offset##_max (struct device *dev, struct device_attribute *attr,\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_in_max(dev, buf, count, offset);\t\t\\\n"
+ "@@ -294,19 +294,19 @@ show_in_offset(3);\n"
+ " show_in_offset(4);\n"
+ " \n"
+ " /* Temperature */\n"
+ "-static ssize_t show_temp(struct device *dev, char *buf)\n"
+ "+static ssize_t show_temp(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct sis5595_data *data = sis5595_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp));\n"
+ " }\n"
+ " \n"
+ "-static ssize_t show_temp_over(struct device *dev, char *buf)\n"
+ "+static ssize_t show_temp_over(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct sis5595_data *data = sis5595_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp_over));\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_temp_over(struct device *dev, const char *buf, size_t count)\n"
+ "+static ssize_t set_temp_over(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct sis5595_data *data = i2c_get_clientdata(client);\n"
+ "@@ -319,13 +319,13 @@ static ssize_t set_temp_over(struct devi\n"
+ " \treturn count;\n"
+ " }\n"
+ " \n"
+ "-static ssize_t show_temp_hyst(struct device *dev, char *buf)\n"
+ "+static ssize_t show_temp_hyst(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct sis5595_data *data = sis5595_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%d\\n\", TEMP_FROM_REG(data->temp_hyst));\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_temp_hyst(struct device *dev, const char *buf, size_t count)\n"
+ "+static ssize_t set_temp_hyst(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct sis5595_data *data = i2c_get_clientdata(client);\n"
+ "@@ -426,19 +426,19 @@ static ssize_t set_fan_div(struct device\n"
+ " }\n"
+ " \n"
+ " #define show_fan_offset(offset)\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset##_min (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan_min(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset##_div (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan_div(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_fan_##offset##_min (struct device *dev,\t\t\\\n"
+ "+static ssize_t set_fan_##offset##_min (struct device *dev, struct device_attribute *attr,\t\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_fan_min(dev, buf, count, offset - 1);\t\t\\\n"
+ "@@ -450,13 +450,13 @@ static DEVICE_ATTR(fan##offset##_min, S_\n"
+ " show_fan_offset(1);\n"
+ " show_fan_offset(2);\n"
+ " \n"
+ "-static ssize_t set_fan_1_div(struct device *dev, const char *buf,\n"
+ "+static ssize_t set_fan_1_div(struct device *dev, struct device_attribute *attr, const char *buf,\n"
+ " \t\tsize_t count)\n"
+ " {\n"
+ " \treturn set_fan_div(dev, buf, count, 0) ;\n"
+ " }\n"
+ " \n"
+ "-static ssize_t set_fan_2_div(struct device *dev, const char *buf,\n"
+ "+static ssize_t set_fan_2_div(struct device *dev, struct device_attribute *attr, const char *buf,\n"
+ " \t\tsize_t count)\n"
+ " {\n"
+ " \treturn set_fan_div(dev, buf, count, 1) ;\n"
+ "@@ -467,7 +467,7 @@ static DEVICE_ATTR(fan2_div, S_IRUGO | S\n"
+ " \t\tshow_fan_2_div, set_fan_2_div);\n"
+ " \n"
+ " /* Alarms */\n"
+ "-static ssize_t show_alarms(struct device *dev, char *buf)\n"
+ "+static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct sis5595_data *data = sis5595_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%d\\n\", data->alarms);\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47b397.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47b397.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47b397.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47b397.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -172,7 +172,7 @@ static ssize_t show_temp(struct device *\n"
+ " }\n"
+ " \n"
+ " #define sysfs_temp(num) \\\n"
+ "-static ssize_t show_temp##num(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_temp##num(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_temp(dev, buf, num-1); \\\n"
+ " } \\\n"
+ "@@ -201,7 +201,7 @@ static ssize_t show_fan(struct device *d\n"
+ " }\n"
+ " \n"
+ " #define sysfs_fan(num) \\\n"
+ "-static ssize_t show_fan##num(struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_fan##num(struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_fan(dev, buf, num-1); \\\n"
+ " } \\\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47m1.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47m1.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/smsc47m1.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/smsc47m1.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -184,7 +184,7 @@ static ssize_t get_pwm_en(struct device \n"
+ " \treturn sprintf(buf, \"%d\\n\", PWM_EN_FROM_REG(data->pwm[nr]));\n"
+ " }\n"
+ " \n"
+ "-static ssize_t get_alarms(struct device *dev, char *buf)\n"
+ "+static ssize_t get_alarms(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct smsc47m1_data *data = smsc47m1_update_device(dev, 0);\n"
+ " \treturn sprintf(buf, \"%d\\n\", data->alarms);\n"
+ "@@ -298,42 +298,42 @@ static ssize_t set_pwm_en(struct device \n"
+ " }\n"
+ " \n"
+ " #define fan_present(offset)\t\t\t\t\t\t\\\n"
+ "-static ssize_t get_fan##offset (struct device *dev, char *buf)\t\t\\\n"
+ "+static ssize_t get_fan##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn get_fan(dev, buf, offset - 1);\t\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t get_fan##offset##_min (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t get_fan##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn get_fan_min(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_fan##offset##_min (struct device *dev,\t\t\\\n"
+ "+static ssize_t set_fan##offset##_min (struct device *dev, struct device_attribute *attr,\t\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_fan_min(dev, buf, count, offset - 1);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t get_fan##offset##_div (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t get_fan##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn get_fan_div(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_fan##offset##_div (struct device *dev,\t\t\\\n"
+ "+static ssize_t set_fan##offset##_div (struct device *dev, struct device_attribute *attr,\t\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_fan_div(dev, buf, count, offset - 1);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t get_pwm##offset (struct device *dev, char *buf)\t\t\\\n"
+ "+static ssize_t get_pwm##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn get_pwm(dev, buf, offset - 1);\t\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_pwm##offset (struct device *dev,\t\t\t\\\n"
+ "+static ssize_t set_pwm##offset (struct device *dev, struct device_attribute *attr,\t\t\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_pwm(dev, buf, count, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t get_pwm##offset##_en (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t get_pwm##offset##_en (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn get_pwm_en(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_pwm##offset##_en (struct device *dev,\t\t\\\n"
+ "+static ssize_t set_pwm##offset##_en (struct device *dev, struct device_attribute *attr,\t\t\\\n"
+ " \t\tconst char *buf, size_t count)\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_pwm_en(dev, buf, count, offset - 1);\t\t\t\\\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/via686a.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/via686a.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/via686a.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/via686a.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -386,26 +386,26 @@ static ssize_t set_in_max(struct device \n"
+ " }\n"
+ " #define show_in_offset(offset)\t\t\t\t\t\\\n"
+ " static ssize_t \t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset (struct device *dev, char *buf)\t\t\\\n"
+ "+\tshow_in##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in(dev, buf, offset);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ " static ssize_t \t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset##_min (struct device *dev, char *buf)\t\\\n"
+ "+\tshow_in##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in_min(dev, buf, offset);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ " static ssize_t \t\t\t\t\t\t\t\\\n"
+ "-\tshow_in##offset##_max (struct device *dev, char *buf)\t\\\n"
+ "+\tshow_in##offset##_max (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_in_max(dev, buf, offset);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_in##offset##_min (struct device *dev, \t\\\n"
+ "+static ssize_t set_in##offset##_min (struct device *dev, struct device_attribute *attr, \t\\\n"
+ " \t\tconst char *buf, size_t count) \t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_in_min(dev, buf, count, offset);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_in##offset##_max (struct device *dev,\t\\\n"
+ "+static ssize_t set_in##offset##_max (struct device *dev, struct device_attribute *attr,\t\\\n"
+ " \t\t\tconst char *buf, size_t count)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_in_max(dev, buf, count, offset);\t\t\\\n"
+ "@@ -460,26 +460,26 @@ static ssize_t set_temp_hyst(struct devi\n"
+ " \treturn count;\n"
+ " }\n"
+ " #define show_temp_offset(offset)\t\t\t\t\t\\\n"
+ "-static ssize_t show_temp_##offset (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_temp_##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_temp(dev, buf, offset - 1);\t\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ " static ssize_t\t\t\t\t\t\t\t\t\\\n"
+ "-show_temp_##offset##_over (struct device *dev, char *buf)\t\t\\\n"
+ "+show_temp_##offset##_over (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_temp_over(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ " static ssize_t\t\t\t\t\t\t\t\t\\\n"
+ "-show_temp_##offset##_hyst (struct device *dev, char *buf)\t\t\\\n"
+ "+show_temp_##offset##_hyst (struct device *dev, struct device_attribute *attr, char *buf)\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_temp_hyst(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_temp_##offset##_over (struct device *dev, \t\t\\\n"
+ "+static ssize_t set_temp_##offset##_over (struct device *dev, struct device_attribute *attr, \t\t\\\n"
+ " \t\tconst char *buf, size_t count) \t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_temp_over(dev, buf, count, offset - 1);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_temp_##offset##_hyst (struct device *dev, \t\t\\\n"
+ "+static ssize_t set_temp_##offset##_hyst (struct device *dev, struct device_attribute *attr, \t\t\\\n"
+ " \t\tconst char *buf, size_t count) \t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_temp_hyst(dev, buf, count, offset - 1);\t\t\\\n"
+ "@@ -538,24 +538,24 @@ static ssize_t set_fan_div(struct device\n"
+ " }\n"
+ " \n"
+ " #define show_fan_offset(offset)\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan(dev, buf, offset - 1);\t\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset##_min (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset##_min (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan_min(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t show_fan_##offset##_div (struct device *dev, char *buf)\t\\\n"
+ "+static ssize_t show_fan_##offset##_div (struct device *dev, struct device_attribute *attr, char *buf)\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn show_fan_div(dev, buf, offset - 1);\t\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_fan_##offset##_min (struct device *dev, \t\t\\\n"
+ "+static ssize_t set_fan_##offset##_min (struct device *dev, struct device_attribute *attr, \t\t\\\n"
+ " \tconst char *buf, size_t count) \t\t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_fan_min(dev, buf, count, offset - 1);\t\t\\\n"
+ " }\t\t\t\t\t\t\t\t\t\\\n"
+ "-static ssize_t set_fan_##offset##_div (struct device *dev, \t\t\\\n"
+ "+static ssize_t set_fan_##offset##_div (struct device *dev, struct device_attribute *attr, \t\t\\\n"
+ " \t\tconst char *buf, size_t count) \t\t\t\t\\\n"
+ " {\t\t\t\t\t\t\t\t\t\\\n"
+ " \treturn set_fan_div(dev, buf, count, offset - 1);\t\t\\\n"
+ "@@ -570,7 +570,7 @@ show_fan_offset(1);\n"
+ " show_fan_offset(2);\n"
+ " \n"
+ " /* Alarms */\n"
+ "-static ssize_t show_alarms(struct device *dev, char *buf) {\n"
+ "+static ssize_t show_alarms(struct device *dev, struct device_attribute *attr, char *buf) {\n"
+ " \tstruct via686a_data *data = via686a_update_device(dev);\n"
+ " \treturn sprintf(buf,\"%d\\n\", ALARMS_FROM_REG(data->alarms));\n"
+ " }\n"
+ "diff -uprN -X dontdiff linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/w83627hf.c linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/w83627hf.c\n"
+ "--- linux-2.6.12-rc4-sysfsdyncallback-deviceattr/drivers/i2c/chips/w83627hf.c\t2005-05-16 20:35:33.000000000 -0400\n"
+ "+++ linux-2.6.12-rc4-sysfsdyncallback-deviceattr-update/drivers/i2c/chips/w83627hf.c\t2005-05-16 23:45:52.000000000 -0400\n"
+ "@@ -368,19 +368,19 @@ store_in_reg(MAX, max)\n"
+ " \n"
+ " #define sysfs_in_offset(offset) \\\n"
+ " static ssize_t \\\n"
+ "-show_regs_in_##offset (struct device *dev, char *buf) \\\n"
+ "+show_regs_in_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ "         return show_in(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static DEVICE_ATTR(in##offset##_input, S_IRUGO, show_regs_in_##offset, NULL);\n"
+ " \n"
+ " #define sysfs_in_reg_offset(reg, offset) \\\n"
+ "-static ssize_t show_regs_in_##reg##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_in_##reg##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_in_##reg (dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_in_##reg##offset (struct device *dev, \\\n"
+ "+store_regs_in_##reg##offset (struct device *dev, struct device_attribute *attr, \\\n"
+ " \t\t\t    const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_in_##reg (dev, buf, count, offset); \\\n"
+ "@@ -419,25 +419,25 @@ static ssize_t show_in_0(struct w83627hf\n"
+ " \treturn sprintf(buf,\"%ld\\n\", in0);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t show_regs_in_0(struct device *dev, char *buf)\n"
+ "+static ssize_t show_regs_in_0(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn show_in_0(data, buf, data->in[0]);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t show_regs_in_min0(struct device *dev, char *buf)\n"
+ "+static ssize_t show_regs_in_min0(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn show_in_0(data, buf, data->in_min[0]);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t show_regs_in_max0(struct device *dev, char *buf)\n"
+ "+static ssize_t show_regs_in_max0(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn show_in_0(data, buf, data->in_max[0]);\n"
+ " }\n"
+ " \n"
+ "-static ssize_t store_regs_in_min0(struct device *dev,\n"
+ "+static ssize_t store_regs_in_min0(struct device *dev, struct device_attribute *attr,\n"
+ " \tconst char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ "@@ -462,7 +462,7 @@ static ssize_t store_regs_in_min0(struct\n"
+ " \treturn count;\n"
+ " }\n"
+ " \n"
+ "-static ssize_t store_regs_in_max0(struct device *dev,\n"
+ "+static ssize_t store_regs_in_max0(struct device *dev, struct device_attribute *attr,\n"
+ " \tconst char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ "@@ -531,19 +531,19 @@ store_fan_min(struct device *dev, const \n"
+ " }\n"
+ " \n"
+ " #define sysfs_fan_offset(offset) \\\n"
+ "-static ssize_t show_regs_fan_##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_fan_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_fan(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static DEVICE_ATTR(fan##offset##_input, S_IRUGO, show_regs_fan_##offset, NULL);\n"
+ " \n"
+ " #define sysfs_fan_min_offset(offset) \\\n"
+ "-static ssize_t show_regs_fan_min##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_fan_min##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_fan_min(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_fan_min##offset (struct device *dev, const char *buf, size_t count) \\\n"
+ "+store_regs_fan_min##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_fan_min(dev, buf, count, offset); \\\n"
+ " } \\\n"
+ "@@ -608,19 +608,19 @@ store_temp_reg(HYST, max_hyst);\n"
+ " \n"
+ " #define sysfs_temp_offset(offset) \\\n"
+ " static ssize_t \\\n"
+ "-show_regs_temp_##offset (struct device *dev, char *buf) \\\n"
+ "+show_regs_temp_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_temp(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static DEVICE_ATTR(temp##offset##_input, S_IRUGO, show_regs_temp_##offset, NULL);\n"
+ " \n"
+ " #define sysfs_temp_reg_offset(reg, offset) \\\n"
+ "-static ssize_t show_regs_temp_##reg##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_temp_##reg##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_temp_##reg (dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_temp_##reg##offset (struct device *dev, \\\n"
+ "+store_regs_temp_##reg##offset (struct device *dev, struct device_attribute *attr, \\\n"
+ " \t\t\t      const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_temp_##reg (dev, buf, count, offset); \\\n"
+ "@@ -645,7 +645,7 @@ device_create_file(&client->dev, &dev_at\n"
+ " } while (0)\n"
+ " \n"
+ " static ssize_t\n"
+ "-show_vid_reg(struct device *dev, char *buf)\n"
+ "+show_vid_reg(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%ld\\n\", (long) vid_from_reg(data->vid, data->vrm));\n"
+ "@@ -655,13 +655,13 @@ static DEVICE_ATTR(cpu0_vid, S_IRUGO, sh\n"
+ " device_create_file(&client->dev, &dev_attr_cpu0_vid)\n"
+ " \n"
+ " static ssize_t\n"
+ "-show_vrm_reg(struct device *dev, char *buf)\n"
+ "+show_vrm_reg(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%ld\\n\", (long) data->vrm);\n"
+ " }\n"
+ " static ssize_t\n"
+ "-store_vrm_reg(struct device *dev, const char *buf, size_t count)\n"
+ "+store_vrm_reg(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)\n"
+ " {\n"
+ " \tstruct i2c_client *client = to_i2c_client(dev);\n"
+ " \tstruct w83627hf_data *data = i2c_get_clientdata(client);\n"
+ "@@ -677,7 +677,7 @@ static DEVICE_ATTR(vrm, S_IRUGO | S_IWUS\n"
+ " device_create_file(&client->dev, &dev_attr_vrm)\n"
+ " \n"
+ " static ssize_t\n"
+ "-show_alarms_reg(struct device *dev, char *buf)\n"
+ "+show_alarms_reg(struct device *dev, struct device_attribute *attr, char *buf)\n"
+ " {\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev);\n"
+ " \treturn sprintf(buf, \"%ld\\n\", (long) data->alarms);\n"
+ "@@ -687,7 +687,7 @@ static DEVICE_ATTR(alarms, S_IRUGO, show\n"
+ " device_create_file(&client->dev, &dev_attr_alarms)\n"
+ " \n"
+ " #define show_beep_reg(REG, reg) \\\n"
+ "-static ssize_t show_beep_##reg (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_beep_##reg (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \tstruct w83627hf_data *data = w83627hf_update_device(dev); \\\n"
+ " \treturn sprintf(buf,\"%ld\\n\", \\\n"
+ "@@ -732,12 +732,12 @@ store_beep_reg(struct device *dev, const\n"
+ " }\n"
+ " \n"
+ " #define sysfs_beep(REG, reg) \\\n"
+ "-static ssize_t show_regs_beep_##reg (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_beep_##reg (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ "-\treturn show_beep_##reg(dev, buf); \\\n"
+ "+\treturn show_beep_##reg(dev, attr, buf); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_beep_##reg (struct device *dev, const char *buf, size_t count) \\\n"
+ "+store_regs_beep_##reg (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_beep_reg(dev, buf, count, BEEP_##REG); \\\n"
+ " } \\\n"
+ "@@ -801,12 +801,12 @@ store_fan_div_reg(struct device *dev, co\n"
+ " }\n"
+ " \n"
+ " #define sysfs_fan_div(offset) \\\n"
+ "-static ssize_t show_regs_fan_div_##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_fan_div_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_fan_div_reg(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_fan_div_##offset (struct device *dev, \\\n"
+ "+store_regs_fan_div_##offset (struct device *dev, struct device_attribute *attr, \\\n"
+ " \t\t\t    const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_fan_div_reg(dev, buf, count, offset - 1); \\\n"
+ "@@ -861,12 +861,12 @@ store_pwm_reg(struct device *dev, const \n"
+ " }\n"
+ " \n"
+ " #define sysfs_pwm(offset) \\\n"
+ "-static ssize_t show_regs_pwm_##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_pwm_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ " \treturn show_pwm_reg(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_pwm_##offset (struct device *dev, const char *buf, size_t count) \\\n"
+ "+store_regs_pwm_##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \\\n"
+ " { \\\n"
+ " \treturn store_pwm_reg(dev, buf, count, offset); \\\n"
+ " } \\\n"
+ "@@ -937,12 +937,12 @@ store_sensor_reg(struct device *dev, con\n"
+ " }\n"
+ " \n"
+ " #define sysfs_sensor(offset) \\\n"
+ "-static ssize_t show_regs_sensor_##offset (struct device *dev, char *buf) \\\n"
+ "+static ssize_t show_regs_sensor_##offset (struct device *dev, struct device_attribute *attr, char *buf) \\\n"
+ " { \\\n"
+ "     return show_sensor_reg(dev, buf, offset); \\\n"
+ " } \\\n"
+ " static ssize_t \\\n"
+ "-store_regs_sensor_##offset (struct device *dev, const char *buf, size_t count) \\\n"
+ "+store_regs_sensor_##offset (struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \\\n"
+ " { \\\n"
+ "     return store_sensor_reg(dev, buf, count, offset); \\\n"
+ " } \\"
 
-90366c2a7ea6e4c6f9f8097d196f77a0294f2db13e35fcc3f75f2f58ee643124
+01869ff30beda7eccbe27e46878d86f9098431f0a58f2b28ca61c01e83cda636

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.