aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorChris Wright <chrisw@sous-sol.org>2010-05-12 21:28:57 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 12:37:31 -0400
commit2c3c8bea608866d8bd9dcf92657d57fdcac011c5 (patch)
treef509b958d0a65c46c831dbdd447a81e706dd995a /drivers
parent68d75ed4b84a0806ecd4bc14da4759713b23a532 (diff)
sysfs: add struct file* to bin_attr callbacks
This allows bin_attr->read,write,mmap callbacks to check file specific data (such as inode owner) as part of any privilege validation. Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/system.c2
-rw-r--r--drivers/base/firmware_class.c11
-rw-r--r--drivers/firmware/dcdbas.c4
-rw-r--r--drivers/firmware/dell_rbu.c10
-rw-r--r--drivers/firmware/efivars.c4
-rw-r--r--drivers/gpu/drm/drm_sysfs.c5
-rw-r--r--drivers/misc/c2port/core.c4
-rw-r--r--drivers/misc/ds1682.c6
-rw-r--r--drivers/misc/eeprom/at24.c6
-rw-r--r--drivers/misc/eeprom/at25.c6
-rw-r--r--drivers/misc/eeprom/eeprom.c3
-rw-r--r--drivers/misc/eeprom/max6875.c2
-rw-r--r--drivers/net/netxen/netxen_nic_main.c11
-rw-r--r--drivers/net/qlcnic/qlcnic_main.c12
-rw-r--r--drivers/pci/hotplug/acpiphp_ibm.c5
-rw-r--r--drivers/pci/pci-sysfs.c42
-rw-r--r--drivers/pcmcia/cistpl.c4
-rw-r--r--drivers/power/olpc_battery.c2
-rw-r--r--drivers/rapidio/rio-sysfs.c6
-rw-r--r--drivers/rtc/rtc-cmos.c6
-rw-r--r--drivers/rtc/rtc-ds1305.c6
-rw-r--r--drivers/rtc/rtc-ds1307.c6
-rw-r--r--drivers/rtc/rtc-ds1511.c10
-rw-r--r--drivers/rtc/rtc-ds1553.c4
-rw-r--r--drivers/rtc/rtc-ds1742.c4
-rw-r--r--drivers/rtc/rtc-m48t59.c4
-rw-r--r--drivers/rtc/rtc-stk17ta8.c4
-rw-r--r--drivers/rtc/rtc-tx4939.c4
-rw-r--r--drivers/s390/cio/chp.c5
-rw-r--r--drivers/scsi/3w-sas.c4
-rw-r--r--drivers/scsi/arcmsr/arcmsr_attr.c9
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.c3
-rw-r--r--drivers/scsi/ipr.c9
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c20
-rw-r--r--drivers/scsi/qla2xxx/qla_attr.c32
-rw-r--r--drivers/staging/udlfb/udlfb.c3
-rw-r--r--drivers/usb/core/sysfs.c3
-rw-r--r--drivers/video/aty/radeon_base.c4
-rw-r--r--drivers/w1/slaves/w1_ds2431.c4
-rw-r--r--drivers/w1/slaves/w1_ds2433.c4
-rw-r--r--drivers/w1/slaves/w1_ds2760.c2
-rw-r--r--drivers/w1/w1.c4
-rw-r--r--drivers/zorro/zorro-sysfs.c2
43 files changed, 184 insertions, 117 deletions
diff --git a/drivers/acpi/system.c b/drivers/acpi/system.c
index e35525b39f6b..c79e789ed03a 100644
--- a/drivers/acpi/system.c
+++ b/drivers/acpi/system.c
@@ -71,7 +71,7 @@ struct acpi_table_attr {
71 struct list_head node; 71 struct list_head node;
72}; 72};
73 73
74static ssize_t acpi_table_show(struct kobject *kobj, 74static ssize_t acpi_table_show(struct file *filp, struct kobject *kobj,
75 struct bin_attribute *bin_attr, char *buf, 75 struct bin_attribute *bin_attr, char *buf,
76 loff_t offset, size_t count) 76 loff_t offset, size_t count)
77{ 77{
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index d98e424675cf..3f093b0dd217 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -278,8 +278,9 @@ static ssize_t firmware_loading_store(struct device *dev,
278static DEVICE_ATTR(loading, 0644, firmware_loading_show, firmware_loading_store); 278static DEVICE_ATTR(loading, 0644, firmware_loading_show, firmware_loading_store);
279 279
280static ssize_t 280static ssize_t
281firmware_data_read(struct kobject *kobj, struct bin_attribute *bin_attr, 281firmware_data_read(struct file *filp, struct kobject *kobj,
282 char *buffer, loff_t offset, size_t count) 282 struct bin_attribute *bin_attr, char *buffer, loff_t offset,
283 size_t count)
283{ 284{
284 struct device *dev = to_dev(kobj); 285 struct device *dev = to_dev(kobj);
285 struct firmware_priv *fw_priv = dev_get_drvdata(dev); 286 struct firmware_priv *fw_priv = dev_get_drvdata(dev);
@@ -362,6 +363,7 @@ fw_realloc_buffer(struct firmware_priv *fw_priv, int min_size)
362 363
363/** 364/**
364 * firmware_data_write - write method for firmware 365 * firmware_data_write - write method for firmware
366 * @filp: open sysfs file
365 * @kobj: kobject for the device 367 * @kobj: kobject for the device
366 * @bin_attr: bin_attr structure 368 * @bin_attr: bin_attr structure
367 * @buffer: buffer being written 369 * @buffer: buffer being written
@@ -372,8 +374,9 @@ fw_realloc_buffer(struct firmware_priv *fw_priv, int min_size)
372 * the driver as a firmware image. 374 * the driver as a firmware image.
373 **/ 375 **/
374static ssize_t 376static ssize_t
375firmware_data_write(struct kobject *kobj, struct bin_attribute *bin_attr, 377firmware_data_write(struct file* filp, struct kobject *kobj,
376 char *buffer, loff_t offset, size_t count) 378 struct bin_attribute *bin_attr, char *buffer,
379 loff_t offset, size_t count)
377{ 380{
378 struct device *dev = to_dev(kobj); 381 struct device *dev = to_dev(kobj);
379 struct firmware_priv *fw_priv = dev_get_drvdata(dev); 382 struct firmware_priv *fw_priv = dev_get_drvdata(dev);
diff --git a/drivers/firmware/dcdbas.c b/drivers/firmware/dcdbas.c
index fb09bb3c0ad6..aa9bc9e980e1 100644
--- a/drivers/firmware/dcdbas.c
+++ b/drivers/firmware/dcdbas.c
@@ -149,7 +149,7 @@ static ssize_t smi_data_buf_size_store(struct device *dev,
149 return count; 149 return count;
150} 150}
151 151
152static ssize_t smi_data_read(struct kobject *kobj, 152static ssize_t smi_data_read(struct file *filp, struct kobject *kobj,
153 struct bin_attribute *bin_attr, 153 struct bin_attribute *bin_attr,
154 char *buf, loff_t pos, size_t count) 154 char *buf, loff_t pos, size_t count)
155{ 155{
@@ -162,7 +162,7 @@ static ssize_t smi_data_read(struct kobject *kobj,
162 return ret; 162 return ret;
163} 163}
164 164
165static ssize_t smi_data_write(struct kobject *kobj, 165static ssize_t smi_data_write(struct file *filp, struct kobject *kobj,
166 struct bin_attribute *bin_attr, 166 struct bin_attribute *bin_attr,
167 char *buf, loff_t pos, size_t count) 167 char *buf, loff_t pos, size_t count)
168{ 168{
diff --git a/drivers/firmware/dell_rbu.c b/drivers/firmware/dell_rbu.c
index 3a4460265b10..2f452f1f7c8a 100644
--- a/drivers/firmware/dell_rbu.c
+++ b/drivers/firmware/dell_rbu.c
@@ -522,7 +522,7 @@ static ssize_t read_rbu_mono_data(char *buffer, loff_t pos, size_t count)
522 rbu_data.image_update_buffer, rbu_data.bios_image_size); 522 rbu_data.image_update_buffer, rbu_data.bios_image_size);
523} 523}
524 524
525static ssize_t read_rbu_data(struct kobject *kobj, 525static ssize_t read_rbu_data(struct file *filp, struct kobject *kobj,
526 struct bin_attribute *bin_attr, 526 struct bin_attribute *bin_attr,
527 char *buffer, loff_t pos, size_t count) 527 char *buffer, loff_t pos, size_t count)
528{ 528{
@@ -576,7 +576,7 @@ static void callbackfn_rbu(const struct firmware *fw, void *context)
576 release_firmware(fw); 576 release_firmware(fw);
577} 577}
578 578
579static ssize_t read_rbu_image_type(struct kobject *kobj, 579static ssize_t read_rbu_image_type(struct file *filp, struct kobject *kobj,
580 struct bin_attribute *bin_attr, 580 struct bin_attribute *bin_attr,
581 char *buffer, loff_t pos, size_t count) 581 char *buffer, loff_t pos, size_t count)
582{ 582{
@@ -586,7 +586,7 @@ static ssize_t read_rbu_image_type(struct kobject *kobj,
586 return size; 586 return size;
587} 587}
588 588
589static ssize_t write_rbu_image_type(struct kobject *kobj, 589static ssize_t write_rbu_image_type(struct file *filp, struct kobject *kobj,
590 struct bin_attribute *bin_attr, 590 struct bin_attribute *bin_attr,
591 char *buffer, loff_t pos, size_t count) 591 char *buffer, loff_t pos, size_t count)
592{ 592{
@@ -647,7 +647,7 @@ static ssize_t write_rbu_image_type(struct kobject *kobj,
647 return rc; 647 return rc;
648} 648}
649 649
650static ssize_t read_rbu_packet_size(struct kobject *kobj, 650static ssize_t read_rbu_packet_size(struct file *filp, struct kobject *kobj,
651 struct bin_attribute *bin_attr, 651 struct bin_attribute *bin_attr,
652 char *buffer, loff_t pos, size_t count) 652 char *buffer, loff_t pos, size_t count)
653{ 653{
@@ -660,7 +660,7 @@ static ssize_t read_rbu_packet_size(struct kobject *kobj,
660 return size; 660 return size;
661} 661}
662 662
663static ssize_t write_rbu_packet_size(struct kobject *kobj, 663static ssize_t write_rbu_packet_size(struct file *filp, struct kobject *kobj,
664 struct bin_attribute *bin_attr, 664 struct bin_attribute *bin_attr,
665 char *buffer, loff_t pos, size_t count) 665 char *buffer, loff_t pos, size_t count)
666{ 666{
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
index 81b70bd07586..2a62ec6390e0 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
@@ -402,7 +402,7 @@ efivar_unregister(struct efivar_entry *var)
402} 402}
403 403
404 404
405static ssize_t efivar_create(struct kobject *kobj, 405static ssize_t efivar_create(struct file *filp, struct kobject *kobj,
406 struct bin_attribute *bin_attr, 406 struct bin_attribute *bin_attr,
407 char *buf, loff_t pos, size_t count) 407 char *buf, loff_t pos, size_t count)
408{ 408{
@@ -461,7 +461,7 @@ static ssize_t efivar_create(struct kobject *kobj,
461 return count; 461 return count;
462} 462}
463 463
464static ssize_t efivar_delete(struct kobject *kobj, 464static ssize_t efivar_delete(struct file *filp, struct kobject *kobj,
465 struct bin_attribute *bin_attr, 465 struct bin_attribute *bin_attr,
466 char *buf, loff_t pos, size_t count) 466 char *buf, loff_t pos, size_t count)
467{ 467{
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
index 25bbd30ed7af..387166d5a109 100644
--- a/drivers/gpu/drm/drm_sysfs.c
+++ b/drivers/gpu/drm/drm_sysfs.c
@@ -193,8 +193,9 @@ static ssize_t enabled_show(struct device *device,
193 "disabled"); 193 "disabled");
194} 194}
195 195
196static ssize_t edid_show(struct kobject *kobj, struct bin_attribute *attr, 196static ssize_t edid_show(struct file *filp, struct kobject *kobj,
197 char *buf, loff_t off, size_t count) 197 struct bin_attribute *attr, char *buf, loff_t off,
198 size_t count)
198{ 199{
199 struct device *connector_dev = container_of(kobj, struct device, kobj); 200 struct device *connector_dev = container_of(kobj, struct device, kobj);
200 struct drm_connector *connector = to_drm_connector(connector_dev); 201 struct drm_connector *connector = to_drm_connector(connector_dev);
diff --git a/drivers/misc/c2port/core.c b/drivers/misc/c2port/core.c
index ed090e77c9cd..19fc7c1cb428 100644
--- a/drivers/misc/c2port/core.c
+++ b/drivers/misc/c2port/core.c
@@ -707,7 +707,7 @@ static ssize_t __c2port_read_flash_data(struct c2port_device *dev,
707 return nread; 707 return nread;
708} 708}
709 709
710static ssize_t c2port_read_flash_data(struct kobject *kobj, 710static ssize_t c2port_read_flash_data(struct file *filp, struct kobject *kobj,
711 struct bin_attribute *attr, 711 struct bin_attribute *attr,
712 char *buffer, loff_t offset, size_t count) 712 char *buffer, loff_t offset, size_t count)
713{ 713{
@@ -824,7 +824,7 @@ static ssize_t __c2port_write_flash_data(struct c2port_device *dev,
824 return nwrite; 824 return nwrite;
825} 825}
826 826
827static ssize_t c2port_write_flash_data(struct kobject *kobj, 827static ssize_t c2port_write_flash_data(struct file *filp, struct kobject *kobj,
828 struct bin_attribute *attr, 828 struct bin_attribute *attr,
829 char *buffer, loff_t offset, size_t count) 829 char *buffer, loff_t offset, size_t count)
830{ 830{
diff --git a/drivers/misc/ds1682.c b/drivers/misc/ds1682.c
index 9197cfc55015..a513f0aa6432 100644
--- a/drivers/misc/ds1682.c
+++ b/drivers/misc/ds1682.c
@@ -140,7 +140,8 @@ static const struct attribute_group ds1682_group = {
140/* 140/*
141 * User data attribute 141 * User data attribute
142 */ 142 */
143static ssize_t ds1682_eeprom_read(struct kobject *kobj, struct bin_attribute *attr, 143static ssize_t ds1682_eeprom_read(struct file *filp, struct kobject *kobj,
144 struct bin_attribute *attr,
144 char *buf, loff_t off, size_t count) 145 char *buf, loff_t off, size_t count)
145{ 146{
146 struct i2c_client *client = kobj_to_i2c_client(kobj); 147 struct i2c_client *client = kobj_to_i2c_client(kobj);
@@ -163,7 +164,8 @@ static ssize_t ds1682_eeprom_read(struct kobject *kobj, struct bin_attribute *at
163 return count; 164 return count;
164} 165}
165 166
166static ssize_t ds1682_eeprom_write(struct kobject *kobj, struct bin_attribute *attr, 167static ssize_t ds1682_eeprom_write(struct file *filp, struct kobject *kobj,
168 struct bin_attribute *attr,
167 char *buf, loff_t off, size_t count) 169 char *buf, loff_t off, size_t count)
168{ 170{
169 struct i2c_client *client = kobj_to_i2c_client(kobj); 171 struct i2c_client *client = kobj_to_i2c_client(kobj);
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index db7d0f21b65d..a79a62f75481 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -274,7 +274,8 @@ static ssize_t at24_read(struct at24_data *at24,
274 return retval; 274 return retval;
275} 275}
276 276
277static ssize_t at24_bin_read(struct kobject *kobj, struct bin_attribute *attr, 277static ssize_t at24_bin_read(struct file *filp, struct kobject *kobj,
278 struct bin_attribute *attr,
278 char *buf, loff_t off, size_t count) 279 char *buf, loff_t off, size_t count)
279{ 280{
280 struct at24_data *at24; 281 struct at24_data *at24;
@@ -395,7 +396,8 @@ static ssize_t at24_write(struct at24_data *at24, const char *buf, loff_t off,
395 return retval; 396 return retval;
396} 397}
397 398
398static ssize_t at24_bin_write(struct kobject *kobj, struct bin_attribute *attr, 399static ssize_t at24_bin_write(struct file *filp, struct kobject *kobj,
400 struct bin_attribute *attr,
399 char *buf, loff_t off, size_t count) 401 char *buf, loff_t off, size_t count)
400{ 402{
401 struct at24_data *at24; 403 struct at24_data *at24;
diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index d194212a41f6..c627e4174ccd 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -126,7 +126,8 @@ at25_ee_read(
126} 126}
127 127
128static ssize_t 128static ssize_t
129at25_bin_read(struct kobject *kobj, struct bin_attribute *bin_attr, 129at25_bin_read(struct file *filp, struct kobject *kobj,
130 struct bin_attribute *bin_attr,
130 char *buf, loff_t off, size_t count) 131 char *buf, loff_t off, size_t count)
131{ 132{
132 struct device *dev; 133 struct device *dev;
@@ -253,7 +254,8 @@ at25_ee_write(struct at25_data *at25, const char *buf, loff_t off,
253} 254}
254 255
255static ssize_t 256static ssize_t
256at25_bin_write(struct kobject *kobj, struct bin_attribute *bin_attr, 257at25_bin_write(struct file *filp, struct kobject *kobj,
258 struct bin_attribute *bin_attr,
257 char *buf, loff_t off, size_t count) 259 char *buf, loff_t off, size_t count)
258{ 260{
259 struct device *dev; 261 struct device *dev;
diff --git a/drivers/misc/eeprom/eeprom.c b/drivers/misc/eeprom/eeprom.c
index e306a8cd2f96..45060ddc4e59 100644
--- a/drivers/misc/eeprom/eeprom.c
+++ b/drivers/misc/eeprom/eeprom.c
@@ -81,7 +81,8 @@ exit:
81 mutex_unlock(&data->update_lock); 81 mutex_unlock(&data->update_lock);
82} 82}
83 83
84static ssize_t eeprom_read(struct kobject *kobj, struct bin_attribute *bin_attr, 84static ssize_t eeprom_read(struct file *filp, struct kobject *kobj,
85 struct bin_attribute *bin_attr,
85 char *buf, loff_t off, size_t count) 86 char *buf, loff_t off, size_t count)
86{ 87{
87 struct i2c_client *client = to_i2c_client(container_of(kobj, struct device, kobj)); 88 struct i2c_client *client = to_i2c_client(container_of(kobj, struct device, kobj));
diff --git a/drivers/misc/eeprom/max6875.c b/drivers/misc/eeprom/max6875.c
index fe2909278507..5653a3ce0517 100644
--- a/drivers/misc/eeprom/max6875.c
+++ b/drivers/misc/eeprom/max6875.c
@@ -107,7 +107,7 @@ exit_up:
107 mutex_unlock(&data->update_lock); 107 mutex_unlock(&data->update_lock);
108} 108}
109 109
110static ssize_t max6875_read(struct kobject *kobj, 110static ssize_t max6875_read(struct file *filp, struct kobject *kobj,
111 struct bin_attribute *bin_attr, 111 struct bin_attribute *bin_attr,
112 char *buf, loff_t off, size_t count) 112 char *buf, loff_t off, size_t count)
113{ 113{
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index c61a61f177b7..6ce6ce1df6d2 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -2560,7 +2560,8 @@ netxen_sysfs_validate_crb(struct netxen_adapter *adapter,
2560} 2560}
2561 2561
2562static ssize_t 2562static ssize_t
2563netxen_sysfs_read_crb(struct kobject *kobj, struct bin_attribute *attr, 2563netxen_sysfs_read_crb(struct file *filp, struct kobject *kobj,
2564 struct bin_attribute *attr,
2564 char *buf, loff_t offset, size_t size) 2565 char *buf, loff_t offset, size_t size)
2565{ 2566{
2566 struct device *dev = container_of(kobj, struct device, kobj); 2567 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2587,7 +2588,8 @@ netxen_sysfs_read_crb(struct kobject *kobj, struct bin_attribute *attr,
2587} 2588}
2588 2589
2589static ssize_t 2590static ssize_t
2590netxen_sysfs_write_crb(struct kobject *kobj, struct bin_attribute *attr, 2591netxen_sysfs_write_crb(struct file *filp, struct kobject *kobj,
2592 struct bin_attribute *attr,
2591 char *buf, loff_t offset, size_t size) 2593 char *buf, loff_t offset, size_t size)
2592{ 2594{
2593 struct device *dev = container_of(kobj, struct device, kobj); 2595 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2627,7 +2629,8 @@ netxen_sysfs_validate_mem(struct netxen_adapter *adapter,
2627} 2629}
2628 2630
2629static ssize_t 2631static ssize_t
2630netxen_sysfs_read_mem(struct kobject *kobj, struct bin_attribute *attr, 2632netxen_sysfs_read_mem(struct file *filp, struct kobject *kobj,
2633 struct bin_attribute *attr,
2631 char *buf, loff_t offset, size_t size) 2634 char *buf, loff_t offset, size_t size)
2632{ 2635{
2633 struct device *dev = container_of(kobj, struct device, kobj); 2636 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2647,7 +2650,7 @@ netxen_sysfs_read_mem(struct kobject *kobj, struct bin_attribute *attr,
2647 return size; 2650 return size;
2648} 2651}
2649 2652
2650static ssize_t netxen_sysfs_write_mem(struct kobject *kobj, 2653static ssize_t netxen_sysfs_write_mem(struct file *filp, struct kobject *kobj,
2651 struct bin_attribute *attr, char *buf, 2654 struct bin_attribute *attr, char *buf,
2652 loff_t offset, size_t size) 2655 loff_t offset, size_t size)
2653{ 2656{
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 1003eb76fda3..23ea9caa5261 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -2464,7 +2464,8 @@ qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter,
2464} 2464}
2465 2465
2466static ssize_t 2466static ssize_t
2467qlcnic_sysfs_read_crb(struct kobject *kobj, struct bin_attribute *attr, 2467qlcnic_sysfs_read_crb(struct file *filp, struct kobject *kobj,
2468 struct bin_attribute *attr,
2468 char *buf, loff_t offset, size_t size) 2469 char *buf, loff_t offset, size_t size)
2469{ 2470{
2470 struct device *dev = container_of(kobj, struct device, kobj); 2471 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2488,7 +2489,8 @@ qlcnic_sysfs_read_crb(struct kobject *kobj, struct bin_attribute *attr,
2488} 2489}
2489 2490
2490static ssize_t 2491static ssize_t
2491qlcnic_sysfs_write_crb(struct kobject *kobj, struct bin_attribute *attr, 2492qlcnic_sysfs_write_crb(struct file *filp, struct kobject *kobj,
2493 struct bin_attribute *attr,
2492 char *buf, loff_t offset, size_t size) 2494 char *buf, loff_t offset, size_t size)
2493{ 2495{
2494 struct device *dev = container_of(kobj, struct device, kobj); 2496 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2525,7 +2527,8 @@ qlcnic_sysfs_validate_mem(struct qlcnic_adapter *adapter,
2525} 2527}
2526 2528
2527static ssize_t 2529static ssize_t
2528qlcnic_sysfs_read_mem(struct kobject *kobj, struct bin_attribute *attr, 2530qlcnic_sysfs_read_mem(struct file *filp, struct kobject *kobj,
2531 struct bin_attribute *attr,
2529 char *buf, loff_t offset, size_t size) 2532 char *buf, loff_t offset, size_t size)
2530{ 2533{
2531 struct device *dev = container_of(kobj, struct device, kobj); 2534 struct device *dev = container_of(kobj, struct device, kobj);
@@ -2546,7 +2549,8 @@ qlcnic_sysfs_read_mem(struct kobject *kobj, struct bin_attribute *attr,
2546} 2549}
2547 2550
2548static ssize_t 2551static ssize_t
2549qlcnic_sysfs_write_mem(struct kobject *kobj, struct bin_attribute *attr, 2552qlcnic_sysfs_write_mem(struct file *filp, struct kobject *kobj,
2553 struct bin_attribute *attr,
2550 char *buf, loff_t offset, size_t size) 2554 char *buf, loff_t offset, size_t size)
2551{ 2555{
2552 struct device *dev = container_of(kobj, struct device, kobj); 2556 struct device *dev = container_of(kobj, struct device, kobj);
diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index 6ecbfb27db9d..e525263210ee 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -108,7 +108,7 @@ static int ibm_set_attention_status(struct hotplug_slot *slot, u8 status);
108static int ibm_get_attention_status(struct hotplug_slot *slot, u8 *status); 108static int ibm_get_attention_status(struct hotplug_slot *slot, u8 *status);
109static void ibm_handle_events(acpi_handle handle, u32 event, void *context); 109static void ibm_handle_events(acpi_handle handle, u32 event, void *context);
110static int ibm_get_table_from_acpi(char **bufp); 110static int ibm_get_table_from_acpi(char **bufp);
111static ssize_t ibm_read_apci_table(struct kobject *kobj, 111static ssize_t ibm_read_apci_table(struct file *filp, struct kobject *kobj,
112 struct bin_attribute *bin_attr, 112 struct bin_attribute *bin_attr,
113 char *buffer, loff_t pos, size_t size); 113 char *buffer, loff_t pos, size_t size);
114static acpi_status __init ibm_find_acpi_device(acpi_handle handle, 114static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
@@ -351,6 +351,7 @@ read_table_done:
351 351
352/** 352/**
353 * ibm_read_apci_table - callback for the sysfs apci_table file 353 * ibm_read_apci_table - callback for the sysfs apci_table file
354 * @filp: the open sysfs file
354 * @kobj: the kobject this binary attribute is a part of 355 * @kobj: the kobject this binary attribute is a part of
355 * @bin_attr: struct bin_attribute for this file 356 * @bin_attr: struct bin_attribute for this file
356 * @buffer: the kernel space buffer to fill 357 * @buffer: the kernel space buffer to fill
@@ -364,7 +365,7 @@ read_table_done:
364 * things get really tricky here... 365 * things get really tricky here...
365 * our solution is to only allow reading the table in all at once. 366 * our solution is to only allow reading the table in all at once.
366 */ 367 */
367static ssize_t ibm_read_apci_table(struct kobject *kobj, 368static ssize_t ibm_read_apci_table(struct file *filp, struct kobject *kobj,
368 struct bin_attribute *bin_attr, 369 struct bin_attribute *bin_attr,
369 char *buffer, loff_t pos, size_t size) 370 char *buffer, loff_t pos, size_t size)
370{ 371{
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index fad93983bfed..ad44557e65c4 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -357,7 +357,8 @@ boot_vga_show(struct device *dev, struct device_attribute *attr, char *buf)
357struct device_attribute vga_attr = __ATTR_RO(boot_vga); 357struct device_attribute vga_attr = __ATTR_RO(boot_vga);
358 358
359static ssize_t 359static ssize_t
360pci_read_config(struct kobject *kobj, struct bin_attribute *bin_attr, 360pci_read_config(struct file *filp, struct kobject *kobj,
361 struct bin_attribute *bin_attr,
361 char *buf, loff_t off, size_t count) 362 char *buf, loff_t off, size_t count)
362{ 363{
363 struct pci_dev *dev = to_pci_dev(container_of(kobj,struct device,kobj)); 364 struct pci_dev *dev = to_pci_dev(container_of(kobj,struct device,kobj));
@@ -430,7 +431,8 @@ pci_read_config(struct kobject *kobj, struct bin_attribute *bin_attr,
430} 431}
431 432
432static ssize_t 433static ssize_t
433pci_write_config(struct kobject *kobj, struct bin_attribute *bin_attr, 434pci_write_config(struct file* filp, struct kobject *kobj,
435 struct bin_attribute *bin_attr,
434 char *buf, loff_t off, size_t count) 436 char *buf, loff_t off, size_t count)
435{ 437{
436 struct pci_dev *dev = to_pci_dev(container_of(kobj,struct device,kobj)); 438 struct pci_dev *dev = to_pci_dev(container_of(kobj,struct device,kobj));
@@ -487,7 +489,8 @@ pci_write_config(struct kobject *kobj, struct bin_attribute *bin_attr,
487} 489}
488 490
489static ssize_t 491static ssize_t
490read_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr, 492read_vpd_attr(struct file *filp, struct kobject *kobj,
493 struct bin_attribute *bin_attr,
491 char *buf, loff_t off, size_t count) 494 char *buf, loff_t off, size_t count)
492{ 495{
493 struct pci_dev *dev = 496 struct pci_dev *dev =
@@ -502,7 +505,8 @@ read_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr,
502} 505}
503 506
504static ssize_t 507static ssize_t
505write_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr, 508write_vpd_attr(struct file *filp, struct kobject *kobj,
509 struct bin_attribute *bin_attr,
506 char *buf, loff_t off, size_t count) 510 char *buf, loff_t off, size_t count)
507{ 511{
508 struct pci_dev *dev = 512 struct pci_dev *dev =
@@ -519,6 +523,7 @@ write_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr,
519#ifdef HAVE_PCI_LEGACY 523#ifdef HAVE_PCI_LEGACY
520/** 524/**
521 * pci_read_legacy_io - read byte(s) from legacy I/O port space 525 * pci_read_legacy_io - read byte(s) from legacy I/O port space
526 * @filp: open sysfs file
522 * @kobj: kobject corresponding to file to read from 527 * @kobj: kobject corresponding to file to read from
523 * @bin_attr: struct bin_attribute for this file 528 * @bin_attr: struct bin_attribute for this file
524 * @buf: buffer to store results 529 * @buf: buffer to store results
@@ -529,7 +534,8 @@ write_vpd_attr(struct kobject *kobj, struct bin_attribute *bin_attr,
529 * callback routine (pci_legacy_read). 534 * callback routine (pci_legacy_read).
530 */ 535 */
531static ssize_t 536static ssize_t
532pci_read_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr, 537pci_read_legacy_io(struct file *filp, struct kobject *kobj,
538 struct bin_attribute *bin_attr,
533 char *buf, loff_t off, size_t count) 539 char *buf, loff_t off, size_t count)
534{ 540{
535 struct pci_bus *bus = to_pci_bus(container_of(kobj, 541 struct pci_bus *bus = to_pci_bus(container_of(kobj,
@@ -545,6 +551,7 @@ pci_read_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr,
545 551
546/** 552/**
547 * pci_write_legacy_io - write byte(s) to legacy I/O port space 553 * pci_write_legacy_io - write byte(s) to legacy I/O port space
554 * @filp: open sysfs file
548 * @kobj: kobject corresponding to file to read from 555 * @kobj: kobject corresponding to file to read from
549 * @bin_attr: struct bin_attribute for this file 556 * @bin_attr: struct bin_attribute for this file
550 * @buf: buffer containing value to be written 557 * @buf: buffer containing value to be written
@@ -555,7 +562,8 @@ pci_read_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr,
555 * callback routine (pci_legacy_write). 562 * callback routine (pci_legacy_write).
556 */ 563 */
557static ssize_t 564static ssize_t
558pci_write_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr, 565pci_write_legacy_io(struct file *filp, struct kobject *kobj,
566 struct bin_attribute *bin_attr,
559 char *buf, loff_t off, size_t count) 567 char *buf, loff_t off, size_t count)
560{ 568{
561 struct pci_bus *bus = to_pci_bus(container_of(kobj, 569 struct pci_bus *bus = to_pci_bus(container_of(kobj,
@@ -570,6 +578,7 @@ pci_write_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr,
570 578
571/** 579/**
572 * pci_mmap_legacy_mem - map legacy PCI memory into user memory space 580 * pci_mmap_legacy_mem - map legacy PCI memory into user memory space
581 * @filp: open sysfs file
573 * @kobj: kobject corresponding to device to be mapped 582 * @kobj: kobject corresponding to device to be mapped
574 * @attr: struct bin_attribute for this file 583 * @attr: struct bin_attribute for this file
575 * @vma: struct vm_area_struct passed to mmap 584 * @vma: struct vm_area_struct passed to mmap
@@ -579,7 +588,8 @@ pci_write_legacy_io(struct kobject *kobj, struct bin_attribute *bin_attr,
579 * memory space. 588 * memory space.
580 */ 589 */
581static int 590static int
582pci_mmap_legacy_mem(struct kobject *kobj, struct bin_attribute *attr, 591pci_mmap_legacy_mem(struct file *filp, struct kobject *kobj,
592 struct bin_attribute *attr,
583 struct vm_area_struct *vma) 593 struct vm_area_struct *vma)
584{ 594{
585 struct pci_bus *bus = to_pci_bus(container_of(kobj, 595 struct pci_bus *bus = to_pci_bus(container_of(kobj,
@@ -591,6 +601,7 @@ pci_mmap_legacy_mem(struct kobject *kobj, struct bin_attribute *attr,
591 601
592/** 602/**
593 * pci_mmap_legacy_io - map legacy PCI IO into user memory space 603 * pci_mmap_legacy_io - map legacy PCI IO into user memory space
604 * @filp: open sysfs file
594 * @kobj: kobject corresponding to device to be mapped 605 * @kobj: kobject corresponding to device to be mapped
595 * @attr: struct bin_attribute for this file 606 * @attr: struct bin_attribute for this file
596 * @vma: struct vm_area_struct passed to mmap 607 * @vma: struct vm_area_struct passed to mmap
@@ -600,7 +611,8 @@ pci_mmap_legacy_mem(struct kobject *kobj, struct bin_attribute *attr,
600 * memory space. Returns -ENOSYS if the operation isn't supported 611 * memory space. Returns -ENOSYS if the operation isn't supported
601 */ 612 */
602static int 613static int
603pci_mmap_legacy_io(struct kobject *kobj, struct bin_attribute *attr, 614pci_mmap_legacy_io(struct file *filp, struct kobject *kobj,
615 struct bin_attribute *attr,
604 struct vm_area_struct *vma) 616 struct vm_area_struct *vma)
605{ 617{
606 struct pci_bus *bus = to_pci_bus(container_of(kobj, 618 struct pci_bus *bus = to_pci_bus(container_of(kobj,
@@ -750,14 +762,16 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
750} 762}
751 763
752static int 764static int
753pci_mmap_resource_uc(struct kobject *kobj, struct bin_attribute *attr, 765pci_mmap_resource_uc(struct file *filp, struct kobject *kobj,
766 struct bin_attribute *attr,
754 struct vm_area_struct *vma) 767 struct vm_area_struct *vma)
755{ 768{
756 return pci_mmap_resource(kobj, attr, vma, 0); 769 return pci_mmap_resource(kobj, attr, vma, 0);
757} 770}
758 771
759static int 772static int
760pci_mmap_resource_wc(struct kobject *kobj, struct bin_attribute *attr, 773pci_mmap_resource_wc(struct file *filp, struct kobject *kobj,
774 struct bin_attribute *attr,
761 struct vm_area_struct *vma) 775 struct vm_area_struct *vma)
762{ 776{
763 return pci_mmap_resource(kobj, attr, vma, 1); 777 return pci_mmap_resource(kobj, attr, vma, 1);
@@ -861,6 +875,7 @@ void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
861 875
862/** 876/**
863 * pci_write_rom - used to enable access to the PCI ROM display 877 * pci_write_rom - used to enable access to the PCI ROM display
878 * @filp: sysfs file
864 * @kobj: kernel object handle 879 * @kobj: kernel object handle
865 * @bin_attr: struct bin_attribute for this file 880 * @bin_attr: struct bin_attribute for this file
866 * @buf: user input 881 * @buf: user input
@@ -870,7 +885,8 @@ void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
870 * writing anything except 0 enables it 885 * writing anything except 0 enables it
871 */ 886 */
872static ssize_t 887static ssize_t
873pci_write_rom(struct kobject *kobj, struct bin_attribute *bin_attr, 888pci_write_rom(struct file *filp, struct kobject *kobj,
889 struct bin_attribute *bin_attr,
874 char *buf, loff_t off, size_t count) 890 char *buf, loff_t off, size_t count)
875{ 891{
876 struct pci_dev *pdev = to_pci_dev(container_of(kobj, struct device, kobj)); 892 struct pci_dev *pdev = to_pci_dev(container_of(kobj, struct device, kobj));
@@ -885,6 +901,7 @@ pci_write_rom(struct kobject *kobj, struct bin_attribute *bin_attr,
885 901
886/** 902/**
887 * pci_read_rom - read a PCI ROM 903 * pci_read_rom - read a PCI ROM
904 * @filp: sysfs file
888 * @kobj: kernel object handle 905 * @kobj: kernel object handle
889 * @bin_attr: struct bin_attribute for this file 906 * @bin_attr: struct bin_attribute for this file
890 * @buf: where to put the data we read from the ROM 907 * @buf: where to put the data we read from the ROM
@@ -895,7 +912,8 @@ pci_write_rom(struct kobject *kobj, struct bin_attribute *bin_attr,
895 * device corresponding to @kobj. 912 * device corresponding to @kobj.
896 */ 913 */
897static ssize_t 914static ssize_t
898pci_read_rom(struct kobject *kobj, struct bin_attribute *bin_attr, 915pci_read_rom(struct file *filp, struct kobject *kobj,
916 struct bin_attribute *bin_attr,
899 char *buf, loff_t off, size_t count) 917 char *buf, loff_t off, size_t count)
900{ 918{
901 struct pci_dev *pdev = to_pci_dev(container_of(kobj, struct device, kobj)); 919 struct pci_dev *pdev = to_pci_dev(container_of(kobj, struct device, kobj));
diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
index 60d428be0b07..8844bc3e3118 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
@@ -1531,7 +1531,7 @@ static ssize_t pccard_extract_cis(struct pcmcia_socket *s, char *buf,
1531} 1531}
1532 1532
1533 1533
1534static ssize_t pccard_show_cis(struct kobject *kobj, 1534static ssize_t pccard_show_cis(struct file *filp, struct kobject *kobj,
1535 struct bin_attribute *bin_attr, 1535 struct bin_attribute *bin_attr,
1536 char *buf, loff_t off, size_t count) 1536 char *buf, loff_t off, size_t count)
1537{ 1537{
@@ -1562,7 +1562,7 @@ static ssize_t pccard_show_cis(struct kobject *kobj,
1562} 1562}
1563 1563
1564 1564
1565static ssize_t pccard_store_cis(struct kobject *kobj, 1565static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
1566 struct bin_attribute *bin_attr, 1566 struct bin_attribute *bin_attr,
1567 char *buf, loff_t off, size_t count) 1567 char *buf, loff_t off, size_t count)
1568{ 1568{
diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c
index 8fefe5a73558..baefcf1cffc9 100644
--- a/drivers/power/olpc_battery.c
+++ b/drivers/power/olpc_battery.c
@@ -354,7 +354,7 @@ static enum power_supply_property olpc_bat_props[] = {
354#define EEPROM_END 0x80 354#define EEPROM_END 0x80
355#define EEPROM_SIZE (EEPROM_END - EEPROM_START) 355#define EEPROM_SIZE (EEPROM_END - EEPROM_START)
356 356
357static ssize_t olpc_bat_eeprom_read(struct kobject *kobj, 357static ssize_t olpc_bat_eeprom_read(struct file *filp, struct kobject *kobj,
358 struct bin_attribute *attr, char *buf, loff_t off, size_t count) 358 struct bin_attribute *attr, char *buf, loff_t off, size_t count)
359{ 359{
360 uint8_t ec_byte; 360 uint8_t ec_byte;
diff --git a/drivers/rapidio/rio-sysfs.c b/drivers/rapidio/rio-sysfs.c
index ba742e82c57d..00b475658356 100644
--- a/drivers/rapidio/rio-sysfs.c
+++ b/drivers/rapidio/rio-sysfs.c
@@ -68,7 +68,8 @@ struct device_attribute rio_dev_attrs[] = {
68}; 68};
69 69
70static ssize_t 70static ssize_t
71rio_read_config(struct kobject *kobj, struct bin_attribute *bin_attr, 71rio_read_config(struct file *filp, struct kobject *kobj,
72 struct bin_attribute *bin_attr,
72 char *buf, loff_t off, size_t count) 73 char *buf, loff_t off, size_t count)
73{ 74{
74 struct rio_dev *dev = 75 struct rio_dev *dev =
@@ -139,7 +140,8 @@ rio_read_config(struct kobject *kobj, struct bin_attribute *bin_attr,
139} 140}
140 141
141static ssize_t 142static ssize_t
142rio_write_config(struct kobject *kobj, struct bin_attribute *bin_attr, 143rio_write_config(struct file *filp, struct kobject *kobj,
144 struct bin_attribute *bin_attr,
143 char *buf, loff_t off, size_t count) 145 char *buf, loff_t off, size_t count)
144{ 146{
145 struct rio_dev *dev = 147 struct rio_dev *dev =
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index e9aa814ddd23..ece4dbddc0ea 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -519,7 +519,8 @@ static const struct rtc_class_ops cmos_rtc_ops = {
519#define NVRAM_OFFSET (RTC_REG_D + 1) 519#define NVRAM_OFFSET (RTC_REG_D + 1)
520 520
521static ssize_t 521static ssize_t
522cmos_nvram_read(struct kobject *kobj, struct bin_attribute *attr, 522cmos_nvram_read(struct file *filp, struct kobject *kobj,
523 struct bin_attribute *attr,
523 char *buf, loff_t off, size_t count) 524 char *buf, loff_t off, size_t count)
524{ 525{
525 int retval; 526 int retval;
@@ -547,7 +548,8 @@ cmos_nvram_read(struct kobject *kobj, struct bin_attribute *attr,
547} 548}
548 549
549static ssize_t 550static ssize_t
550cmos_nvram_write(struct kobject *kobj, struct bin_attribute *attr, 551cmos_nvram_write(struct file *filp, struct kobject *kobj,
552 struct bin_attribute *attr,
551 char *buf, loff_t off, size_t count) 553 char *buf, loff_t off, size_t count)
552{ 554{
553 struct cmos_rtc *cmos; 555 struct cmos_rtc *cmos;
diff --git a/drivers/rtc/rtc-ds1305.c b/drivers/rtc/rtc-ds1305.c
index 7836c9cec557..48da85e97ca4 100644
--- a/drivers/rtc/rtc-ds1305.c
+++ b/drivers/rtc/rtc-ds1305.c
@@ -542,7 +542,8 @@ static void msg_init(struct spi_message *m, struct spi_transfer *x,
542} 542}
543 543
544static ssize_t 544static ssize_t
545ds1305_nvram_read(struct kobject *kobj, struct bin_attribute *attr, 545ds1305_nvram_read(struct file *filp, struct kobject *kobj,
546 struct bin_attribute *attr,
546 char *buf, loff_t off, size_t count) 547 char *buf, loff_t off, size_t count)
547{ 548{
548 struct spi_device *spi; 549 struct spi_device *spi;
@@ -572,7 +573,8 @@ ds1305_nvram_read(struct kobject *kobj, struct bin_attribute *attr,
572} 573}
573 574
574static ssize_t 575static ssize_t
575ds1305_nvram_write(struct kobject *kobj, struct bin_attribute *attr, 576ds1305_nvram_write(struct file *filp, struct kobject *kobj,
577 struct bin_attribute *attr,
576 char *buf, loff_t off, size_t count) 578 char *buf, loff_t off, size_t count)
577{ 579{
578 struct spi_device *spi; 580 struct spi_device *spi;
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
index c4ec5c158aa1..de033b7ac21f 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c
@@ -556,7 +556,8 @@ static const struct rtc_class_ops ds13xx_rtc_ops = {
556#define NVRAM_SIZE 56 556#define NVRAM_SIZE 56
557 557
558static ssize_t 558static ssize_t
559ds1307_nvram_read(struct kobject *kobj, struct bin_attribute *attr, 559ds1307_nvram_read(struct file *filp, struct kobject *kobj,
560 struct bin_attribute *attr,
560 char *buf, loff_t off, size_t count) 561 char *buf, loff_t off, size_t count)
561{ 562{
562 struct i2c_client *client; 563 struct i2c_client *client;
@@ -580,7 +581,8 @@ ds1307_nvram_read(struct kobject *kobj, struct bin_attribute *attr,
580} 581}
581 582
582static ssize_t 583static ssize_t
583ds1307_nvram_write(struct kobject *kobj, struct bin_attribute *attr, 584ds1307_nvram_write(struct file *filp, struct kobject *kobj,
585 struct bin_attribute *attr,
584 char *buf, loff_t off, size_t count) 586 char *buf, loff_t off, size_t count)
585{ 587{
586 struct i2c_client *client; 588 struct i2c_client *client;
diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
index 06b8566c4532..37268e97de49 100644
--- a/drivers/rtc/rtc-ds1511.c
+++ b/drivers/rtc/rtc-ds1511.c
@@ -423,8 +423,9 @@ static const struct rtc_class_ops ds1511_rtc_ops = {
423}; 423};
424 424
425 static ssize_t 425 static ssize_t
426ds1511_nvram_read(struct kobject *kobj, struct bin_attribute *ba, 426ds1511_nvram_read(struct file *filp, struct kobject *kobj,
427 char *buf, loff_t pos, size_t size) 427 struct bin_attribute *ba,
428 char *buf, loff_t pos, size_t size)
428{ 429{
429 ssize_t count; 430 ssize_t count;
430 431
@@ -452,8 +453,9 @@ ds1511_nvram_read(struct kobject *kobj, struct bin_attribute *ba,
452} 453}
453 454
454 static ssize_t 455 static ssize_t
455ds1511_nvram_write(struct kobject *kobj, struct bin_attribute *bin_attr, 456ds1511_nvram_write(struct file *filp, struct kobject *kobj,
456 char *buf, loff_t pos, size_t size) 457 struct bin_attribute *bin_attr,
458 char *buf, loff_t pos, size_t size)
457{ 459{
458 ssize_t count; 460 ssize_t count;
459 461
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index 244f9994bcbb..ff432e2ca275 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -252,7 +252,7 @@ static const struct rtc_class_ops ds1553_rtc_ops = {
252 .update_irq_enable = ds1553_rtc_update_irq_enable, 252 .update_irq_enable = ds1553_rtc_update_irq_enable,
253}; 253};
254 254
255static ssize_t ds1553_nvram_read(struct kobject *kobj, 255static ssize_t ds1553_nvram_read(struct file *filp, struct kobject *kobj,
256 struct bin_attribute *bin_attr, 256 struct bin_attribute *bin_attr,
257 char *buf, loff_t pos, size_t size) 257 char *buf, loff_t pos, size_t size)
258{ 258{
@@ -267,7 +267,7 @@ static ssize_t ds1553_nvram_read(struct kobject *kobj,
267 return count; 267 return count;
268} 268}
269 269
270static ssize_t ds1553_nvram_write(struct kobject *kobj, 270static ssize_t ds1553_nvram_write(struct file *filp, struct kobject *kobj,
271 struct bin_attribute *bin_attr, 271 struct bin_attribute *bin_attr,
272 char *buf, loff_t pos, size_t size) 272 char *buf, loff_t pos, size_t size)
273{ 273{
diff --git a/drivers/rtc/rtc-ds1742.c b/drivers/rtc/rtc-ds1742.c
index 2b4b0bc42d6f..042630c90dd3 100644
--- a/drivers/rtc/rtc-ds1742.c
+++ b/drivers/rtc/rtc-ds1742.c
@@ -128,7 +128,7 @@ static const struct rtc_class_ops ds1742_rtc_ops = {
128 .set_time = ds1742_rtc_set_time, 128 .set_time = ds1742_rtc_set_time,
129}; 129};
130 130
131static ssize_t ds1742_nvram_read(struct kobject *kobj, 131static ssize_t ds1742_nvram_read(struct file *filp, struct kobject *kobj,
132 struct bin_attribute *bin_attr, 132 struct bin_attribute *bin_attr,
133 char *buf, loff_t pos, size_t size) 133 char *buf, loff_t pos, size_t size)
134{ 134{
@@ -143,7 +143,7 @@ static ssize_t ds1742_nvram_read(struct kobject *kobj,
143 return count; 143 return count;
144} 144}
145 145
146static ssize_t ds1742_nvram_write(struct kobject *kobj, 146static ssize_t ds1742_nvram_write(struct file *filp, struct kobject *kobj,
147 struct bin_attribute *bin_attr, 147 struct bin_attribute *bin_attr,
148 char *buf, loff_t pos, size_t size) 148 char *buf, loff_t pos, size_t size)
149{ 149{
diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c
index 365ff3ac2348..be8359fdb65a 100644
--- a/drivers/rtc/rtc-m48t59.c
+++ b/drivers/rtc/rtc-m48t59.c
@@ -343,7 +343,7 @@ static const struct rtc_class_ops m48t02_rtc_ops = {
343 .set_time = m48t59_rtc_set_time, 343 .set_time = m48t59_rtc_set_time,
344}; 344};
345 345
346static ssize_t m48t59_nvram_read(struct kobject *kobj, 346static ssize_t m48t59_nvram_read(struct file *filp, struct kobject *kobj,
347 struct bin_attribute *bin_attr, 347 struct bin_attribute *bin_attr,
348 char *buf, loff_t pos, size_t size) 348 char *buf, loff_t pos, size_t size)
349{ 349{
@@ -363,7 +363,7 @@ static ssize_t m48t59_nvram_read(struct kobject *kobj,
363 return cnt; 363 return cnt;
364} 364}
365 365
366static ssize_t m48t59_nvram_write(struct kobject *kobj, 366static ssize_t m48t59_nvram_write(struct file *filp, struct kobject *kobj,
367 struct bin_attribute *bin_attr, 367 struct bin_attribute *bin_attr,
368 char *buf, loff_t pos, size_t size) 368 char *buf, loff_t pos, size_t size)
369{ 369{
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index b53a00198dbe..3b943673cd3e 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -244,7 +244,7 @@ static const struct rtc_class_ops stk17ta8_rtc_ops = {
244 .alarm_irq_enable = stk17ta8_rtc_alarm_irq_enable, 244 .alarm_irq_enable = stk17ta8_rtc_alarm_irq_enable,
245}; 245};
246 246
247static ssize_t stk17ta8_nvram_read(struct kobject *kobj, 247static ssize_t stk17ta8_nvram_read(struct file *filp, struct kobject *kobj,
248 struct bin_attribute *attr, char *buf, 248 struct bin_attribute *attr, char *buf,
249 loff_t pos, size_t size) 249 loff_t pos, size_t size)
250{ 250{
@@ -259,7 +259,7 @@ static ssize_t stk17ta8_nvram_read(struct kobject *kobj,
259 return count; 259 return count;
260} 260}
261 261
262static ssize_t stk17ta8_nvram_write(struct kobject *kobj, 262static ssize_t stk17ta8_nvram_write(struct file *filp, struct kobject *kobj,
263 struct bin_attribute *attr, char *buf, 263 struct bin_attribute *attr, char *buf,
264 loff_t pos, size_t size) 264 loff_t pos, size_t size)
265{ 265{
diff --git a/drivers/rtc/rtc-tx4939.c b/drivers/rtc/rtc-tx4939.c
index 20bfc64a15c8..ec6313d15359 100644
--- a/drivers/rtc/rtc-tx4939.c
+++ b/drivers/rtc/rtc-tx4939.c
@@ -188,7 +188,7 @@ static const struct rtc_class_ops tx4939_rtc_ops = {
188 .alarm_irq_enable = tx4939_rtc_alarm_irq_enable, 188 .alarm_irq_enable = tx4939_rtc_alarm_irq_enable,
189}; 189};
190 190
191static ssize_t tx4939_rtc_nvram_read(struct kobject *kobj, 191static ssize_t tx4939_rtc_nvram_read(struct file *filp, struct kobject *kobj,
192 struct bin_attribute *bin_attr, 192 struct bin_attribute *bin_attr,
193 char *buf, loff_t pos, size_t size) 193 char *buf, loff_t pos, size_t size)
194{ 194{
@@ -207,7 +207,7 @@ static ssize_t tx4939_rtc_nvram_read(struct kobject *kobj,
207 return count; 207 return count;
208} 208}
209 209
210static ssize_t tx4939_rtc_nvram_write(struct kobject *kobj, 210static ssize_t tx4939_rtc_nvram_write(struct file *filp, struct kobject *kobj,
211 struct bin_attribute *bin_attr, 211 struct bin_attribute *bin_attr,
212 char *buf, loff_t pos, size_t size) 212 char *buf, loff_t pos, size_t size)
213{ 213{
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index 1d16189f2f2d..6c9fa15aac7b 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -135,7 +135,8 @@ static int s390_vary_chpid(struct chp_id chpid, int on)
135/* 135/*
136 * Channel measurement related functions 136 * Channel measurement related functions
137 */ 137 */
138static ssize_t chp_measurement_chars_read(struct kobject *kobj, 138static ssize_t chp_measurement_chars_read(struct file *filp,
139 struct kobject *kobj,
139 struct bin_attribute *bin_attr, 140 struct bin_attribute *bin_attr,
140 char *buf, loff_t off, size_t count) 141 char *buf, loff_t off, size_t count)
141{ 142{
@@ -182,7 +183,7 @@ static void chp_measurement_copy_block(struct cmg_entry *buf,
182 } while (reference_buf.values[0] != buf->values[0]); 183 } while (reference_buf.values[0] != buf->values[0]);
183} 184}
184 185
185static ssize_t chp_measurement_read(struct kobject *kobj, 186static ssize_t chp_measurement_read(struct file *filp, struct kobject *kobj,
186 struct bin_attribute *bin_attr, 187 struct bin_attribute *bin_attr,
187 char *buf, loff_t off, size_t count) 188 char *buf, loff_t off, size_t count)
188{ 189{
diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c
index 54c5ffb1eaa1..d38000db9237 100644
--- a/drivers/scsi/3w-sas.c
+++ b/drivers/scsi/3w-sas.c
@@ -98,7 +98,7 @@ static int twl_reset_device_extension(TW_Device_Extension *tw_dev, int ioctl_res
98/* Functions */ 98/* Functions */
99 99
100/* This function returns AENs through sysfs */ 100/* This function returns AENs through sysfs */
101static ssize_t twl_sysfs_aen_read(struct kobject *kobj, 101static ssize_t twl_sysfs_aen_read(struct file *filp, struct kobject *kobj,
102 struct bin_attribute *bin_attr, 102 struct bin_attribute *bin_attr,
103 char *outbuf, loff_t offset, size_t count) 103 char *outbuf, loff_t offset, size_t count)
104{ 104{
@@ -129,7 +129,7 @@ static struct bin_attribute twl_sysfs_aen_read_attr = {
129}; 129};
130 130
131/* This function returns driver compatibility info through sysfs */ 131/* This function returns driver compatibility info through sysfs */
132static ssize_t twl_sysfs_compat_info(struct kobject *kobj, 132static ssize_t twl_sysfs_compat_info(struct file *filp, struct kobject *kobj,
133 struct bin_attribute *bin_attr, 133 struct bin_attribute *bin_attr,
134 char *outbuf, loff_t offset, size_t count) 134 char *outbuf, loff_t offset, size_t count)
135{ 135{
diff --git a/drivers/scsi/arcmsr/arcmsr_attr.c b/drivers/scsi/arcmsr/arcmsr_attr.c
index 5877f29a6005..a4e04c50c436 100644
--- a/drivers/scsi/arcmsr/arcmsr_attr.c
+++ b/drivers/scsi/arcmsr/arcmsr_attr.c
@@ -59,7 +59,8 @@
59 59
60struct device_attribute *arcmsr_host_attrs[]; 60struct device_attribute *arcmsr_host_attrs[];
61 61
62static ssize_t arcmsr_sysfs_iop_message_read(struct kobject *kobj, 62static ssize_t arcmsr_sysfs_iop_message_read(struct file *filp,
63 struct kobject *kobj,
63 struct bin_attribute *bin, 64 struct bin_attribute *bin,
64 char *buf, loff_t off, 65 char *buf, loff_t off,
65 size_t count) 66 size_t count)
@@ -105,7 +106,8 @@ static ssize_t arcmsr_sysfs_iop_message_read(struct kobject *kobj,
105 return (allxfer_len); 106 return (allxfer_len);
106} 107}
107 108
108static ssize_t arcmsr_sysfs_iop_message_write(struct kobject *kobj, 109static ssize_t arcmsr_sysfs_iop_message_write(struct file *filp,
110 struct kobject *kobj,
109 struct bin_attribute *bin, 111 struct bin_attribute *bin,
110 char *buf, loff_t off, 112 char *buf, loff_t off,
111 size_t count) 113 size_t count)
@@ -153,7 +155,8 @@ static ssize_t arcmsr_sysfs_iop_message_write(struct kobject *kobj,
153 } 155 }
154} 156}
155 157
156static ssize_t arcmsr_sysfs_iop_message_clear(struct kobject *kobj, 158static ssize_t arcmsr_sysfs_iop_message_clear(struct file *filp,
159 struct kobject *kobj,
157 struct bin_attribute *bin, 160 struct bin_attribute *bin,
158 char *buf, loff_t off, 161 char *buf, loff_t off,
159 size_t count) 162 size_t count)
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index d18f45c95639..3eb2b7b3d8b0 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -2919,6 +2919,7 @@ static DEVICE_ATTR(log_level, S_IRUGO | S_IWUSR,
2919#ifdef CONFIG_SCSI_IBMVFC_TRACE 2919#ifdef CONFIG_SCSI_IBMVFC_TRACE
2920/** 2920/**
2921 * ibmvfc_read_trace - Dump the adapter trace 2921 * ibmvfc_read_trace - Dump the adapter trace
2922 * @filp: open sysfs file
2922 * @kobj: kobject struct 2923 * @kobj: kobject struct
2923 * @bin_attr: bin_attribute struct 2924 * @bin_attr: bin_attribute struct
2924 * @buf: buffer 2925 * @buf: buffer
@@ -2928,7 +2929,7 @@ static DEVICE_ATTR(log_level, S_IRUGO | S_IWUSR,
2928 * Return value: 2929 * Return value:
2929 * number of bytes printed to buffer 2930 * number of bytes printed to buffer
2930 **/ 2931 **/
2931static ssize_t ibmvfc_read_trace(struct kobject *kobj, 2932static ssize_t ibmvfc_read_trace(struct file *filp, struct kobject *kobj,
2932 struct bin_attribute *bin_attr, 2933 struct bin_attribute *bin_attr,
2933 char *buf, loff_t off, size_t count) 2934 char *buf, loff_t off, size_t count)
2934{ 2935{
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index b90c118119d7..6a6661c35b2f 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -3120,6 +3120,7 @@ restart:
3120#ifdef CONFIG_SCSI_IPR_TRACE 3120#ifdef CONFIG_SCSI_IPR_TRACE
3121/** 3121/**
3122 * ipr_read_trace - Dump the adapter trace 3122 * ipr_read_trace - Dump the adapter trace
3123 * @filp: open sysfs file
3123 * @kobj: kobject struct 3124 * @kobj: kobject struct
3124 * @bin_attr: bin_attribute struct 3125 * @bin_attr: bin_attribute struct
3125 * @buf: buffer 3126 * @buf: buffer
@@ -3129,7 +3130,7 @@ restart:
3129 * Return value: 3130 * Return value:
3130 * number of bytes printed to buffer 3131 * number of bytes printed to buffer
3131 **/ 3132 **/
3132static ssize_t ipr_read_trace(struct kobject *kobj, 3133static ssize_t ipr_read_trace(struct file *filp, struct kobject *kobj,
3133 struct bin_attribute *bin_attr, 3134 struct bin_attribute *bin_attr,
3134 char *buf, loff_t off, size_t count) 3135 char *buf, loff_t off, size_t count)
3135{ 3136{
@@ -3764,6 +3765,7 @@ static struct device_attribute *ipr_ioa_attrs[] = {
3764#ifdef CONFIG_SCSI_IPR_DUMP 3765#ifdef CONFIG_SCSI_IPR_DUMP
3765/** 3766/**
3766 * ipr_read_dump - Dump the adapter 3767 * ipr_read_dump - Dump the adapter
3768 * @filp: open sysfs file
3767 * @kobj: kobject struct 3769 * @kobj: kobject struct
3768 * @bin_attr: bin_attribute struct 3770 * @bin_attr: bin_attribute struct
3769 * @buf: buffer 3771 * @buf: buffer
@@ -3773,7 +3775,7 @@ static struct device_attribute *ipr_ioa_attrs[] = {
3773 * Return value: 3775 * Return value:
3774 * number of bytes printed to buffer 3776 * number of bytes printed to buffer
3775 **/ 3777 **/
3776static ssize_t ipr_read_dump(struct kobject *kobj, 3778static ssize_t ipr_read_dump(struct file *filp, struct kobject *kobj,
3777 struct bin_attribute *bin_attr, 3779 struct bin_attribute *bin_attr,
3778 char *buf, loff_t off, size_t count) 3780 char *buf, loff_t off, size_t count)
3779{ 3781{
@@ -3927,6 +3929,7 @@ static int ipr_free_dump(struct ipr_ioa_cfg *ioa_cfg)
3927 3929
3928/** 3930/**
3929 * ipr_write_dump - Setup dump state of adapter 3931 * ipr_write_dump - Setup dump state of adapter
3932 * @filp: open sysfs file
3930 * @kobj: kobject struct 3933 * @kobj: kobject struct
3931 * @bin_attr: bin_attribute struct 3934 * @bin_attr: bin_attribute struct
3932 * @buf: buffer 3935 * @buf: buffer
@@ -3936,7 +3939,7 @@ static int ipr_free_dump(struct ipr_ioa_cfg *ioa_cfg)
3936 * Return value: 3939 * Return value:
3937 * number of bytes printed to buffer 3940 * number of bytes printed to buffer
3938 **/ 3941 **/
3939static ssize_t ipr_write_dump(struct kobject *kobj, 3942static ssize_t ipr_write_dump(struct file *filp, struct kobject *kobj,
3940 struct bin_attribute *bin_attr, 3943 struct bin_attribute *bin_attr,
3941 char *buf, loff_t off, size_t count) 3944 char *buf, loff_t off, size_t count)
3942{ 3945{
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index 2e5f376d9ccc..bf33b315f93e 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -2643,6 +2643,7 @@ static DEVICE_ATTR(lpfc_stat_data_ctrl, S_IRUGO | S_IWUSR,
2643 2643
2644/** 2644/**
2645 * sysfs_drvr_stat_data_read - Read function for lpfc_drvr_stat_data attribute 2645 * sysfs_drvr_stat_data_read - Read function for lpfc_drvr_stat_data attribute
2646 * @filp: sysfs file
2646 * @kobj: Pointer to the kernel object 2647 * @kobj: Pointer to the kernel object
2647 * @bin_attr: Attribute object 2648 * @bin_attr: Attribute object
2648 * @buff: Buffer pointer 2649 * @buff: Buffer pointer
@@ -2654,7 +2655,8 @@ static DEVICE_ATTR(lpfc_stat_data_ctrl, S_IRUGO | S_IWUSR,
2654 * applications. 2655 * applications.
2655 **/ 2656 **/
2656static ssize_t 2657static ssize_t
2657sysfs_drvr_stat_data_read(struct kobject *kobj, struct bin_attribute *bin_attr, 2658sysfs_drvr_stat_data_read(struct file *filp, struct kobject *kobj,
2659 struct bin_attribute *bin_attr,
2658 char *buf, loff_t off, size_t count) 2660 char *buf, loff_t off, size_t count)
2659{ 2661{
2660 struct device *dev = container_of(kobj, struct device, 2662 struct device *dev = container_of(kobj, struct device,
@@ -3362,6 +3364,7 @@ struct device_attribute *lpfc_vport_attrs[] = {
3362 3364
3363/** 3365/**
3364 * sysfs_ctlreg_write - Write method for writing to ctlreg 3366 * sysfs_ctlreg_write - Write method for writing to ctlreg
3367 * @filp: open sysfs file
3365 * @kobj: kernel kobject that contains the kernel class device. 3368 * @kobj: kernel kobject that contains the kernel class device.
3366 * @bin_attr: kernel attributes passed to us. 3369 * @bin_attr: kernel attributes passed to us.
3367 * @buf: contains the data to be written to the adapter IOREG space. 3370 * @buf: contains the data to be written to the adapter IOREG space.
@@ -3379,7 +3382,8 @@ struct device_attribute *lpfc_vport_attrs[] = {
3379 * value of count, buf contents written 3382 * value of count, buf contents written
3380 **/ 3383 **/
3381static ssize_t 3384static ssize_t
3382sysfs_ctlreg_write(struct kobject *kobj, struct bin_attribute *bin_attr, 3385sysfs_ctlreg_write(struct file *filp, struct kobject *kobj,
3386 struct bin_attribute *bin_attr,
3383 char *buf, loff_t off, size_t count) 3387 char *buf, loff_t off, size_t count)
3384{ 3388{
3385 size_t buf_off; 3389 size_t buf_off;
@@ -3415,6 +3419,7 @@ sysfs_ctlreg_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3415 3419
3416/** 3420/**
3417 * sysfs_ctlreg_read - Read method for reading from ctlreg 3421 * sysfs_ctlreg_read - Read method for reading from ctlreg
3422 * @filp: open sysfs file
3418 * @kobj: kernel kobject that contains the kernel class device. 3423 * @kobj: kernel kobject that contains the kernel class device.
3419 * @bin_attr: kernel attributes passed to us. 3424 * @bin_attr: kernel attributes passed to us.
3420 * @buf: if successful contains the data from the adapter IOREG space. 3425 * @buf: if successful contains the data from the adapter IOREG space.
@@ -3431,7 +3436,8 @@ sysfs_ctlreg_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3431 * value of count, buf contents read 3436 * value of count, buf contents read
3432 **/ 3437 **/
3433static ssize_t 3438static ssize_t
3434sysfs_ctlreg_read(struct kobject *kobj, struct bin_attribute *bin_attr, 3439sysfs_ctlreg_read(struct file *filp, struct kobject *kobj,
3440 struct bin_attribute *bin_attr,
3435 char *buf, loff_t off, size_t count) 3441 char *buf, loff_t off, size_t count)
3436{ 3442{
3437 size_t buf_off; 3443 size_t buf_off;
@@ -3496,6 +3502,7 @@ sysfs_mbox_idle(struct lpfc_hba *phba)
3496 3502
3497/** 3503/**
3498 * sysfs_mbox_write - Write method for writing information via mbox 3504 * sysfs_mbox_write - Write method for writing information via mbox
3505 * @filp: open sysfs file
3499 * @kobj: kernel kobject that contains the kernel class device. 3506 * @kobj: kernel kobject that contains the kernel class device.
3500 * @bin_attr: kernel attributes passed to us. 3507 * @bin_attr: kernel attributes passed to us.
3501 * @buf: contains the data to be written to sysfs mbox. 3508 * @buf: contains the data to be written to sysfs mbox.
@@ -3516,7 +3523,8 @@ sysfs_mbox_idle(struct lpfc_hba *phba)
3516 * count number of bytes transferred 3523 * count number of bytes transferred
3517 **/ 3524 **/
3518static ssize_t 3525static ssize_t
3519sysfs_mbox_write(struct kobject *kobj, struct bin_attribute *bin_attr, 3526sysfs_mbox_write(struct file *filp, struct kobject *kobj,
3527 struct bin_attribute *bin_attr,
3520 char *buf, loff_t off, size_t count) 3528 char *buf, loff_t off, size_t count)
3521{ 3529{
3522 struct device *dev = container_of(kobj, struct device, kobj); 3530 struct device *dev = container_of(kobj, struct device, kobj);
@@ -3571,6 +3579,7 @@ sysfs_mbox_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3571 3579
3572/** 3580/**
3573 * sysfs_mbox_read - Read method for reading information via mbox 3581 * sysfs_mbox_read - Read method for reading information via mbox
3582 * @filp: open sysfs file
3574 * @kobj: kernel kobject that contains the kernel class device. 3583 * @kobj: kernel kobject that contains the kernel class device.
3575 * @bin_attr: kernel attributes passed to us. 3584 * @bin_attr: kernel attributes passed to us.
3576 * @buf: contains the data to be read from sysfs mbox. 3585 * @buf: contains the data to be read from sysfs mbox.
@@ -3593,7 +3602,8 @@ sysfs_mbox_write(struct kobject *kobj, struct bin_attribute *bin_attr,
3593 * count number of bytes transferred 3602 * count number of bytes transferred
3594 **/ 3603 **/
3595static ssize_t 3604static ssize_t
3596sysfs_mbox_read(struct kobject *kobj, struct bin_attribute *bin_attr, 3605sysfs_mbox_read(struct file *filp, struct kobject *kobj,
3606 struct bin_attribute *bin_attr,
3597 char *buf, loff_t off, size_t count) 3607 char *buf, loff_t off, size_t count)
3598{ 3608{
3599 struct device *dev = container_of(kobj, struct device, kobj); 3609 struct device *dev = container_of(kobj, struct device, kobj);
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
index 3b708606b932..1e4cafabba15 100644
--- a/drivers/scsi/qla2xxx/qla_attr.c
+++ b/drivers/scsi/qla2xxx/qla_attr.c
@@ -16,7 +16,7 @@ static int qla24xx_vport_disable(struct fc_vport *, bool);
16/* SYSFS attributes --------------------------------------------------------- */ 16/* SYSFS attributes --------------------------------------------------------- */
17 17
18static ssize_t 18static ssize_t
19qla2x00_sysfs_read_fw_dump(struct kobject *kobj, 19qla2x00_sysfs_read_fw_dump(struct file *filp, struct kobject *kobj,
20 struct bin_attribute *bin_attr, 20 struct bin_attribute *bin_attr,
21 char *buf, loff_t off, size_t count) 21 char *buf, loff_t off, size_t count)
22{ 22{
@@ -32,7 +32,7 @@ qla2x00_sysfs_read_fw_dump(struct kobject *kobj,
32} 32}
33 33
34static ssize_t 34static ssize_t
35qla2x00_sysfs_write_fw_dump(struct kobject *kobj, 35qla2x00_sysfs_write_fw_dump(struct file *filp, struct kobject *kobj,
36 struct bin_attribute *bin_attr, 36 struct bin_attribute *bin_attr,
37 char *buf, loff_t off, size_t count) 37 char *buf, loff_t off, size_t count)
38{ 38{
@@ -92,7 +92,7 @@ static struct bin_attribute sysfs_fw_dump_attr = {
92}; 92};
93 93
94static ssize_t 94static ssize_t
95qla2x00_sysfs_read_nvram(struct kobject *kobj, 95qla2x00_sysfs_read_nvram(struct file *filp, struct kobject *kobj,
96 struct bin_attribute *bin_attr, 96 struct bin_attribute *bin_attr,
97 char *buf, loff_t off, size_t count) 97 char *buf, loff_t off, size_t count)
98{ 98{
@@ -111,7 +111,7 @@ qla2x00_sysfs_read_nvram(struct kobject *kobj,
111} 111}
112 112
113static ssize_t 113static ssize_t
114qla2x00_sysfs_write_nvram(struct kobject *kobj, 114qla2x00_sysfs_write_nvram(struct file *filp, struct kobject *kobj,
115 struct bin_attribute *bin_attr, 115 struct bin_attribute *bin_attr,
116 char *buf, loff_t off, size_t count) 116 char *buf, loff_t off, size_t count)
117{ 117{
@@ -177,7 +177,7 @@ static struct bin_attribute sysfs_nvram_attr = {
177}; 177};
178 178
179static ssize_t 179static ssize_t
180qla2x00_sysfs_read_optrom(struct kobject *kobj, 180qla2x00_sysfs_read_optrom(struct file *filp, struct kobject *kobj,
181 struct bin_attribute *bin_attr, 181 struct bin_attribute *bin_attr,
182 char *buf, loff_t off, size_t count) 182 char *buf, loff_t off, size_t count)
183{ 183{
@@ -193,7 +193,7 @@ qla2x00_sysfs_read_optrom(struct kobject *kobj,
193} 193}
194 194
195static ssize_t 195static ssize_t
196qla2x00_sysfs_write_optrom(struct kobject *kobj, 196qla2x00_sysfs_write_optrom(struct file *filp, struct kobject *kobj,
197 struct bin_attribute *bin_attr, 197 struct bin_attribute *bin_attr,
198 char *buf, loff_t off, size_t count) 198 char *buf, loff_t off, size_t count)
199{ 199{
@@ -224,7 +224,7 @@ static struct bin_attribute sysfs_optrom_attr = {
224}; 224};
225 225
226static ssize_t 226static ssize_t
227qla2x00_sysfs_write_optrom_ctl(struct kobject *kobj, 227qla2x00_sysfs_write_optrom_ctl(struct file *filp, struct kobject *kobj,
228 struct bin_attribute *bin_attr, 228 struct bin_attribute *bin_attr,
229 char *buf, loff_t off, size_t count) 229 char *buf, loff_t off, size_t count)
230{ 230{
@@ -387,7 +387,7 @@ static struct bin_attribute sysfs_optrom_ctl_attr = {
387}; 387};
388 388
389static ssize_t 389static ssize_t
390qla2x00_sysfs_read_vpd(struct kobject *kobj, 390qla2x00_sysfs_read_vpd(struct file *filp, struct kobject *kobj,
391 struct bin_attribute *bin_attr, 391 struct bin_attribute *bin_attr,
392 char *buf, loff_t off, size_t count) 392 char *buf, loff_t off, size_t count)
393{ 393{
@@ -408,7 +408,7 @@ qla2x00_sysfs_read_vpd(struct kobject *kobj,
408} 408}
409 409
410static ssize_t 410static ssize_t
411qla2x00_sysfs_write_vpd(struct kobject *kobj, 411qla2x00_sysfs_write_vpd(struct file *filp, struct kobject *kobj,
412 struct bin_attribute *bin_attr, 412 struct bin_attribute *bin_attr,
413 char *buf, loff_t off, size_t count) 413 char *buf, loff_t off, size_t count)
414{ 414{
@@ -461,7 +461,7 @@ static struct bin_attribute sysfs_vpd_attr = {
461}; 461};
462 462
463static ssize_t 463static ssize_t
464qla2x00_sysfs_read_sfp(struct kobject *kobj, 464qla2x00_sysfs_read_sfp(struct file *filp, struct kobject *kobj,
465 struct bin_attribute *bin_attr, 465 struct bin_attribute *bin_attr,
466 char *buf, loff_t off, size_t count) 466 char *buf, loff_t off, size_t count)
467{ 467{
@@ -522,7 +522,7 @@ static struct bin_attribute sysfs_sfp_attr = {
522}; 522};
523 523
524static ssize_t 524static ssize_t
525qla2x00_sysfs_write_reset(struct kobject *kobj, 525qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj,
526 struct bin_attribute *bin_attr, 526 struct bin_attribute *bin_attr,
527 char *buf, loff_t off, size_t count) 527 char *buf, loff_t off, size_t count)
528{ 528{
@@ -592,7 +592,7 @@ static struct bin_attribute sysfs_reset_attr = {
592}; 592};
593 593
594static ssize_t 594static ssize_t
595qla2x00_sysfs_write_edc(struct kobject *kobj, 595qla2x00_sysfs_write_edc(struct file *filp, struct kobject *kobj,
596 struct bin_attribute *bin_attr, 596 struct bin_attribute *bin_attr,
597 char *buf, loff_t off, size_t count) 597 char *buf, loff_t off, size_t count)
598{ 598{
@@ -650,7 +650,7 @@ static struct bin_attribute sysfs_edc_attr = {
650}; 650};
651 651
652static ssize_t 652static ssize_t
653qla2x00_sysfs_write_edc_status(struct kobject *kobj, 653qla2x00_sysfs_write_edc_status(struct file *filp, struct kobject *kobj,
654 struct bin_attribute *bin_attr, 654 struct bin_attribute *bin_attr,
655 char *buf, loff_t off, size_t count) 655 char *buf, loff_t off, size_t count)
656{ 656{
@@ -700,7 +700,7 @@ qla2x00_sysfs_write_edc_status(struct kobject *kobj,
700} 700}
701 701
702static ssize_t 702static ssize_t
703qla2x00_sysfs_read_edc_status(struct kobject *kobj, 703qla2x00_sysfs_read_edc_status(struct file *filp, struct kobject *kobj,
704 struct bin_attribute *bin_attr, 704 struct bin_attribute *bin_attr,
705 char *buf, loff_t off, size_t count) 705 char *buf, loff_t off, size_t count)
706{ 706{
@@ -730,7 +730,7 @@ static struct bin_attribute sysfs_edc_status_attr = {
730}; 730};
731 731
732static ssize_t 732static ssize_t
733qla2x00_sysfs_read_xgmac_stats(struct kobject *kobj, 733qla2x00_sysfs_read_xgmac_stats(struct file *filp, struct kobject *kobj,
734 struct bin_attribute *bin_attr, 734 struct bin_attribute *bin_attr,
735 char *buf, loff_t off, size_t count) 735 char *buf, loff_t off, size_t count)
736{ 736{
@@ -782,7 +782,7 @@ static struct bin_attribute sysfs_xgmac_stats_attr = {
782}; 782};
783 783
784static ssize_t 784static ssize_t
785qla2x00_sysfs_read_dcbx_tlv(struct kobject *kobj, 785qla2x00_sysfs_read_dcbx_tlv(struct file *filp, struct kobject *kobj,
786 struct bin_attribute *bin_attr, 786 struct bin_attribute *bin_attr,
787 char *buf, loff_t off, size_t count) 787 char *buf, loff_t off, size_t count)
788{ 788{
diff --git a/drivers/staging/udlfb/udlfb.c b/drivers/staging/udlfb/udlfb.c
index aa8195199a2c..577f2bf6eb23 100644
--- a/drivers/staging/udlfb/udlfb.c
+++ b/drivers/staging/udlfb/udlfb.c
@@ -1063,7 +1063,8 @@ static ssize_t metrics_misc_show(struct device *fbdev,
1063 atomic_read(&dev->lost_pixels) ? "yes" : "no"); 1063 atomic_read(&dev->lost_pixels) ? "yes" : "no");
1064} 1064}
1065 1065
1066static ssize_t edid_show(struct kobject *kobj, struct bin_attribute *a, 1066static ssize_t edid_show(struct file *filp, struct kobject *kobj,
1067 struct bin_attribute *a,
1067 char *buf, loff_t off, size_t count) { 1068 char *buf, loff_t off, size_t count) {
1068 struct device *fbdev = container_of(kobj, struct device, kobj); 1069 struct device *fbdev = container_of(kobj, struct device, kobj);
1069 struct fb_info *fb_info = dev_get_drvdata(fbdev); 1070 struct fb_info *fb_info = dev_get_drvdata(fbdev);
diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c
index 06863befaf3a..448f5b47fc48 100644
--- a/drivers/usb/core/sysfs.c
+++ b/drivers/usb/core/sysfs.c
@@ -658,7 +658,8 @@ const struct attribute_group *usb_device_groups[] = {
658/* Binary descriptors */ 658/* Binary descriptors */
659 659
660static ssize_t 660static ssize_t
661read_descriptors(struct kobject *kobj, struct bin_attribute *attr, 661read_descriptors(struct file *filp, struct kobject *kobj,
662 struct bin_attribute *attr,
662 char *buf, loff_t off, size_t count) 663 char *buf, loff_t off, size_t count)
663{ 664{
664 struct device *dev = container_of(kobj, struct device, kobj); 665 struct device *dev = container_of(kobj, struct device, kobj);
diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c
index 6c37e8ee5efe..3c1e13ed1cba 100644
--- a/drivers/video/aty/radeon_base.c
+++ b/drivers/video/aty/radeon_base.c
@@ -2099,7 +2099,7 @@ static ssize_t radeon_show_one_edid(char *buf, loff_t off, size_t count, const u
2099} 2099}
2100 2100
2101 2101
2102static ssize_t radeon_show_edid1(struct kobject *kobj, 2102static ssize_t radeon_show_edid1(struct file *filp, struct kobject *kobj,
2103 struct bin_attribute *bin_attr, 2103 struct bin_attribute *bin_attr,
2104 char *buf, loff_t off, size_t count) 2104 char *buf, loff_t off, size_t count)
2105{ 2105{
@@ -2112,7 +2112,7 @@ static ssize_t radeon_show_edid1(struct kobject *kobj,
2112} 2112}
2113 2113
2114 2114
2115static ssize_t radeon_show_edid2(struct kobject *kobj, 2115static ssize_t radeon_show_edid2(struct file *filp, struct kobject *kobj,
2116 struct bin_attribute *bin_attr, 2116 struct bin_attribute *bin_attr,
2117 char *buf, loff_t off, size_t count) 2117 char *buf, loff_t off, size_t count)
2118{ 2118{
diff --git a/drivers/w1/slaves/w1_ds2431.c b/drivers/w1/slaves/w1_ds2431.c
index 2c6c0cf6a20f..84e2410aec1d 100644
--- a/drivers/w1/slaves/w1_ds2431.c
+++ b/drivers/w1/slaves/w1_ds2431.c
@@ -96,7 +96,7 @@ static int w1_f2d_readblock(struct w1_slave *sl, int off, int count, char *buf)
96 return -1; 96 return -1;
97} 97}
98 98
99static ssize_t w1_f2d_read_bin(struct kobject *kobj, 99static ssize_t w1_f2d_read_bin(struct file *filp, struct kobject *kobj,
100 struct bin_attribute *bin_attr, 100 struct bin_attribute *bin_attr,
101 char *buf, loff_t off, size_t count) 101 char *buf, loff_t off, size_t count)
102{ 102{
@@ -202,7 +202,7 @@ retry:
202 return 0; 202 return 0;
203} 203}
204 204
205static ssize_t w1_f2d_write_bin(struct kobject *kobj, 205static ssize_t w1_f2d_write_bin(struct file *filp, struct kobject *kobj,
206 struct bin_attribute *bin_attr, 206 struct bin_attribute *bin_attr,
207 char *buf, loff_t off, size_t count) 207 char *buf, loff_t off, size_t count)
208{ 208{
diff --git a/drivers/w1/slaves/w1_ds2433.c b/drivers/w1/slaves/w1_ds2433.c
index d2bf32118a98..0f7b8f9c509a 100644
--- a/drivers/w1/slaves/w1_ds2433.c
+++ b/drivers/w1/slaves/w1_ds2433.c
@@ -92,7 +92,7 @@ static int w1_f23_refresh_block(struct w1_slave *sl, struct w1_f23_data *data,
92} 92}
93#endif /* CONFIG_W1_SLAVE_DS2433_CRC */ 93#endif /* CONFIG_W1_SLAVE_DS2433_CRC */
94 94
95static ssize_t w1_f23_read_bin(struct kobject *kobj, 95static ssize_t w1_f23_read_bin(struct file *filp, struct kobject *kobj,
96 struct bin_attribute *bin_attr, 96 struct bin_attribute *bin_attr,
97 char *buf, loff_t off, size_t count) 97 char *buf, loff_t off, size_t count)
98{ 98{
@@ -206,7 +206,7 @@ static int w1_f23_write(struct w1_slave *sl, int addr, int len, const u8 *data)
206 return 0; 206 return 0;
207} 207}
208 208
209static ssize_t w1_f23_write_bin(struct kobject *kobj, 209static ssize_t w1_f23_write_bin(struct file *filp, struct kobject *kobj,
210 struct bin_attribute *bin_attr, 210 struct bin_attribute *bin_attr,
211 char *buf, loff_t off, size_t count) 211 char *buf, loff_t off, size_t count)
212{ 212{
diff --git a/drivers/w1/slaves/w1_ds2760.c b/drivers/w1/slaves/w1_ds2760.c
index 6e153343e117..483d45180911 100644
--- a/drivers/w1/slaves/w1_ds2760.c
+++ b/drivers/w1/slaves/w1_ds2760.c
@@ -97,7 +97,7 @@ int w1_ds2760_recall_eeprom(struct device *dev, int addr)
97 return w1_ds2760_eeprom_cmd(dev, addr, W1_DS2760_RECALL_DATA); 97 return w1_ds2760_eeprom_cmd(dev, addr, W1_DS2760_RECALL_DATA);
98} 98}
99 99
100static ssize_t w1_ds2760_read_bin(struct kobject *kobj, 100static ssize_t w1_ds2760_read_bin(struct file *filp, struct kobject *kobj,
101 struct bin_attribute *bin_attr, 101 struct bin_attribute *bin_attr,
102 char *buf, loff_t off, size_t count) 102 char *buf, loff_t off, size_t count)
103{ 103{
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index ad5897dc4495..2839e281cd65 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -120,7 +120,7 @@ static struct device_attribute w1_slave_attr_id =
120 120
121/* Default family */ 121/* Default family */
122 122
123static ssize_t w1_default_write(struct kobject *kobj, 123static ssize_t w1_default_write(struct file *filp, struct kobject *kobj,
124 struct bin_attribute *bin_attr, 124 struct bin_attribute *bin_attr,
125 char *buf, loff_t off, size_t count) 125 char *buf, loff_t off, size_t count)
126{ 126{
@@ -139,7 +139,7 @@ out_up:
139 return count; 139 return count;
140} 140}
141 141
142static ssize_t w1_default_read(struct kobject *kobj, 142static ssize_t w1_default_read(struct file *filp, struct kobject *kobj,
143 struct bin_attribute *bin_attr, 143 struct bin_attribute *bin_attr,
144 char *buf, loff_t off, size_t count) 144 char *buf, loff_t off, size_t count)
145{ 145{
diff --git a/drivers/zorro/zorro-sysfs.c b/drivers/zorro/zorro-sysfs.c
index eb924e0a64ce..26f7184ef9e1 100644
--- a/drivers/zorro/zorro-sysfs.c
+++ b/drivers/zorro/zorro-sysfs.c
@@ -49,7 +49,7 @@ static ssize_t zorro_show_resource(struct device *dev, struct device_attribute *
49 49
50static DEVICE_ATTR(resource, S_IRUGO, zorro_show_resource, NULL); 50static DEVICE_ATTR(resource, S_IRUGO, zorro_show_resource, NULL);
51 51
52static ssize_t zorro_read_config(struct kobject *kobj, 52static ssize_t zorro_read_config(struct file *filp, struct kobject *kobj,
53 struct bin_attribute *bin_attr, 53 struct bin_attribute *bin_attr,
54 char *buf, loff_t off, size_t count) 54 char *buf, loff_t off, size_t count)
55{ 55{