diff for duplicates of <253818670505070621784dbd63@mail.gmail.com> diff --git a/a/1.txt b/N1/1.txt index d9baf97..4a7aff0 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -30,10 +30,3 @@ http://bmcsensors-26.sourceforge.net/) This first patch changes the core sysfs attribute and derived attributes. Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com> --------------- next part -------------- -A non-text attachment was scrubbed... -Name: patch-linux-2.6.12-rc4-sysfsdyncallback-core.diff -Type: text/x-patch -Size: 17284 bytes -Desc: not available -Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050507/65896876/patch-linux-2.6.12-rc4-sysfsdyncallback-core.bin diff --git a/N1/2.hdr b/N1/2.hdr new file mode 100644 index 0000000..0ac126d --- /dev/null +++ b/N1/2.hdr @@ -0,0 +1,4 @@ +Content-Type: text/x-patch; + name=patch-linux-2.6.12-rc4-sysfsdyncallback-core.diff; charset=us-ascii +Content-Transfer-Encoding: 7bit +Content-Disposition: attachment; filename="patch-linux-2.6.12-rc4-sysfsdyncallback-core.diff" diff --git a/N1/2.txt b/N1/2.txt new file mode 100644 index 0000000..0e32893 --- /dev/null +++ b/N1/2.txt @@ -0,0 +1,444 @@ +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/bus.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/bus.c +--- linux-2.6.12-rc4/drivers/base/bus.c 2005-05-07 03:37:15.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/bus.c 2005-05-07 04:31:56.000000000 -0400 +@@ -39,7 +39,7 @@ drv_attr_show(struct kobject * kobj, str + ssize_t ret = 0; + + if (drv_attr->show) +- ret = drv_attr->show(drv, buf); ++ ret = drv_attr->show(drv, buf, attr->data); + return ret; + } + +@@ -52,7 +52,7 @@ drv_attr_store(struct kobject * kobj, st + ssize_t ret = 0; + + if (drv_attr->store) +- ret = drv_attr->store(drv, buf, count); ++ ret = drv_attr->store(drv, buf, count, attr->data); + return ret; + } + +@@ -87,7 +87,7 @@ bus_attr_show(struct kobject * kobj, str + ssize_t ret = 0; + + if (bus_attr->show) +- ret = bus_attr->show(bus, buf); ++ ret = bus_attr->show(bus, buf, attr->data); + return ret; + } + +@@ -100,7 +100,7 @@ bus_attr_store(struct kobject * kobj, st + ssize_t ret = 0; + + if (bus_attr->store) +- ret = bus_attr->store(bus, buf, count); ++ ret = bus_attr->store(bus, buf, count, attr->data); + return ret; + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/class.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/class.c +--- linux-2.6.12-rc4/drivers/base/class.c 2005-05-07 03:37:15.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/class.c 2005-05-07 04:31:56.000000000 -0400 +@@ -29,7 +29,7 @@ class_attr_show(struct kobject * kobj, s + ssize_t ret = 0; + + if (class_attr->show) +- ret = class_attr->show(dc, buf); ++ ret = class_attr->show(dc, buf, attr->data); + return ret; + } + +@@ -42,7 +42,7 @@ class_attr_store(struct kobject * kobj, + ssize_t ret = 0; + + if (class_attr->store) +- ret = class_attr->store(dc, buf, count); ++ ret = class_attr->store(dc, buf, count, attr->data); + return ret; + } + +@@ -206,7 +206,7 @@ class_device_attr_show(struct kobject * + ssize_t ret = 0; + + if (class_dev_attr->show) +- ret = class_dev_attr->show(cd, buf); ++ ret = class_dev_attr->show(cd, buf, attr->data); + return ret; + } + +@@ -219,7 +219,7 @@ class_device_attr_store(struct kobject * + ssize_t ret = 0; + + if (class_dev_attr->store) +- ret = class_dev_attr->store(cd, buf, count); ++ ret = class_dev_attr->store(cd, buf, count, attr->data); + return ret; + } + +@@ -371,7 +371,7 @@ static void class_device_remove_attrs(st + } + } + +-static ssize_t show_dev(struct class_device *class_dev, char *buf) ++static ssize_t show_dev(struct class_device *class_dev, char *buf, void *data) + { + return print_dev_t(buf, class_dev->devt); + } +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/core.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/core.c +--- linux-2.6.12-rc4/drivers/base/core.c 2005-05-07 03:37:15.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/core.c 2005-05-07 04:31:56.000000000 -0400 +@@ -41,7 +41,7 @@ dev_attr_show(struct kobject * kobj, str + ssize_t ret = 0; + + if (dev_attr->show) +- ret = dev_attr->show(dev, buf); ++ ret = dev_attr->show(dev, buf, attr->data); + return ret; + } + +@@ -54,7 +54,7 @@ dev_attr_store(struct kobject * kobj, st + ssize_t ret = 0; + + if (dev_attr->store) +- ret = dev_attr->store(dev, buf, count); ++ ret = dev_attr->store(dev, buf, count, attr->data); + return ret; + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/sys.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/sys.c +--- linux-2.6.12-rc4/drivers/base/sys.c 2005-05-07 03:37:15.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/sys.c 2005-05-07 04:31:56.000000000 -0400 +@@ -36,7 +36,7 @@ sysdev_show(struct kobject * kobj, struc + struct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr); + + if (sysdev_attr->show) +- return sysdev_attr->show(sysdev, buffer); ++ return sysdev_attr->show(sysdev, buffer, attr->data); + return 0; + } + +@@ -49,7 +49,7 @@ sysdev_store(struct kobject * kobj, stru + struct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr); + + if (sysdev_attr->store) +- return sysdev_attr->store(sysdev, buffer, count); ++ return sysdev_attr->store(sysdev, buffer, count, attr->data); + return 0; + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/block/genhd.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/block/genhd.c +--- linux-2.6.12-rc4/drivers/block/genhd.c 2005-05-07 03:37:15.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/block/genhd.c 2005-05-07 04:31:56.000000000 -0400 +@@ -325,7 +325,7 @@ static ssize_t disk_attr_show(struct kob + ssize_t ret = 0; + + if (disk_attr->show) +- ret = disk_attr->show(disk,page); ++ ret = disk_attr->show(disk,page,attr->data); + return ret; + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/cpufreq/cpufreq.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/cpufreq/cpufreq.c +--- linux-2.6.12-rc4/drivers/cpufreq/cpufreq.c 2005-05-07 03:37:16.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/cpufreq/cpufreq.c 2005-05-07 04:31:56.000000000 -0400 +@@ -521,7 +521,7 @@ static ssize_t show(struct kobject * kob + policy = cpufreq_cpu_get(policy->cpu); + if (!policy) + return -EINVAL; +- ret = fattr->show ? fattr->show(policy,buf) : 0; ++ ret = fattr->show ? fattr->show(policy,buf,attr->data) : 0; + cpufreq_cpu_put(policy); + return ret; + } +@@ -535,7 +535,7 @@ static ssize_t store(struct kobject * ko + policy = cpufreq_cpu_get(policy->cpu); + if (!policy) + return -EINVAL; +- ret = fattr->store ? fattr->store(policy,buf,count) : 0; ++ ret = fattr->store ? fattr->store(policy,buf,count,attr->data) : 0; + cpufreq_cpu_put(policy); + return ret; + } +diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/pci/pci-driver.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/pci/pci-driver.c +--- linux-2.6.12-rc4/drivers/pci/pci-driver.c 2005-05-07 03:37:18.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/pci/pci-driver.c 2005-05-07 04:31:56.000000000 -0400 +@@ -56,7 +56,8 @@ pci_device_probe_dynamic(struct pci_driv + * and causes the driver to probe for all devices again. + */ + static inline ssize_t +-store_new_id(struct device_driver *driver, const char *buf, size_t count) ++store_new_id(struct device_driver *driver, const char *buf, size_t count, ++ void *data) + { + struct dynid *dynid; + struct bus_type * bus; +@@ -339,7 +340,7 @@ pci_driver_attr_show(struct kobject * ko + + if (get_driver(driver)) { + if (dattr->show) +- ret = dattr->show(driver, buf); ++ ret = dattr->show(driver, buf, attr->data); + put_driver(driver); + } + return ret; +@@ -355,7 +356,7 @@ pci_driver_attr_store(struct kobject * k + + if (get_driver(driver)) { + if (dattr->store) +- ret = dattr->store(driver, buf, count); ++ ret = dattr->store(driver, buf, count, attr->data); + put_driver(driver); + } + return ret; +diff -uprN -X dontdiff linux-2.6.12-rc4/fs/sysfs/file.c linux-2.6.12-rc4-sysfsdyncallback-core/fs/sysfs/file.c +--- linux-2.6.12-rc4/fs/sysfs/file.c 2005-05-07 03:37:22.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/fs/sysfs/file.c 2005-05-07 04:31:56.000000000 -0400 +@@ -26,7 +26,7 @@ subsys_attr_show(struct kobject * kobj, + ssize_t ret = 0; + + if (sattr->show) +- ret = sattr->show(s,page); ++ ret = sattr->show(s,page,attr->data); + return ret; + } + +@@ -39,7 +39,7 @@ subsys_attr_store(struct kobject * kobj, + ssize_t ret = 0; + + if (sattr->store) +- ret = sattr->store(s,page,count); ++ ret = sattr->store(s,page,count,attr->data); + return ret; + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/cpufreq.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/cpufreq.h +--- linux-2.6.12-rc4/include/linux/cpufreq.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/cpufreq.h 2005-05-07 04:31:56.000000000 -0400 +@@ -240,8 +240,9 @@ static inline void cpufreq_verify_within + + struct freq_attr { + struct attribute attr; +- ssize_t (*show)(struct cpufreq_policy *, char *); +- ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count); ++ ssize_t (*show)(struct cpufreq_policy *, char *, void * data); ++ ssize_t (*store)(struct cpufreq_policy *, const char *, size_t count, ++ void * data); + }; + + +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/device.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/device.h +--- linux-2.6.12-rc4/include/linux/device.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/device.h 2005-05-07 04:31:56.000000000 -0400 +@@ -87,8 +87,9 @@ int bus_for_each_drv(struct bus_type * b + + struct bus_attribute { + struct attribute attr; +- ssize_t (*show)(struct bus_type *, char * buf); +- ssize_t (*store)(struct bus_type *, const char * buf, size_t count); ++ ssize_t (*show)(struct bus_type *, char * buf, void * data); ++ ssize_t (*store)(struct bus_type *, const char * buf, size_t count, ++ void * data); + }; + + #define BUS_ATTR(_name,_mode,_show,_store) \ +@@ -127,8 +128,9 @@ extern struct device_driver *driver_find + + struct driver_attribute { + struct attribute attr; +- ssize_t (*show)(struct device_driver *, char * buf); +- ssize_t (*store)(struct device_driver *, const char * buf, size_t count); ++ ssize_t (*show)(struct device_driver *, char * buf, void * data); ++ ssize_t (*store)(struct device_driver *, const char * buf, size_t count, ++ void * data); + }; + + #define DRIVER_ATTR(_name,_mode,_show,_store) \ +@@ -168,8 +170,9 @@ extern void class_put(struct class *); + + struct class_attribute { + struct attribute attr; +- ssize_t (*show)(struct class *, char * buf); +- ssize_t (*store)(struct class *, const char * buf, size_t count); ++ ssize_t (*show)(struct class *, char * buf, void * data); ++ ssize_t (*store)(struct class *, const char * buf, size_t count, ++ void * data); + }; + + #define CLASS_ATTR(_name,_mode,_show,_store) \ +@@ -217,8 +220,8 @@ extern void class_device_put(struct clas + + struct class_device_attribute { + struct attribute attr; +- ssize_t (*show)(struct class_device *, char * buf); +- ssize_t (*store)(struct class_device *, const char * buf, size_t count); ++ ssize_t (*show)(struct class_device *, char * buf, void * data); ++ ssize_t (*store)(struct class_device *, const char * buf, size_t count, void * data); + }; + + #define CLASS_DEVICE_ATTR(_name,_mode,_show,_store) \ +@@ -335,8 +338,9 @@ extern void driver_attach(struct device_ + + struct device_attribute { + struct attribute attr; +- ssize_t (*show)(struct device * dev, char * buf); +- ssize_t (*store)(struct device * dev, const char * buf, size_t count); ++ ssize_t (*show)(struct device * dev, char * buf, void * data); ++ ssize_t (*store)(struct device * dev, const char * buf, size_t count, ++ void * data); + }; + + #define DEVICE_ATTR(_name,_mode,_show,_store) \ +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/genhd.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/genhd.h +--- linux-2.6.12-rc4/include/linux/genhd.h 2005-03-02 02:37:49.000000000 -0500 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/genhd.h 2005-05-07 04:31:56.000000000 -0400 +@@ -131,7 +131,7 @@ struct gendisk { + /* Structure for sysfs attributes on block devices */ + struct disk_attribute { + struct attribute attr; +- ssize_t (*show)(struct gendisk *, char *); ++ ssize_t (*show)(struct gendisk *, char *, void * data); + }; + + /* +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/kobject.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/kobject.h +--- linux-2.6.12-rc4/include/linux/kobject.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/kobject.h 2005-05-07 04:31:56.000000000 -0400 +@@ -234,8 +234,9 @@ static inline void subsys_put(struct sub + + struct subsys_attribute { + struct attribute attr; +- ssize_t (*show)(struct subsystem *, char *); +- ssize_t (*store)(struct subsystem *, const char *, size_t); ++ ssize_t (*show)(struct subsystem *, char *, void * data); ++ ssize_t (*store)(struct subsystem *, const char *, size_t, ++ void * data); + }; + + extern int subsys_create_file(struct subsystem * , struct subsys_attribute *); +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/module.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/module.h +--- linux-2.6.12-rc4/include/linux/module.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/module.h 2005-05-07 04:31:56.000000000 -0400 +@@ -48,9 +48,10 @@ struct module; + + struct module_attribute { + struct attribute attr; +- ssize_t (*show)(struct module_attribute *, struct module *, char *); ++ ssize_t (*show)(struct module_attribute *, struct module *, char *, ++ void * data); + ssize_t (*store)(struct module_attribute *, struct module *, +- const char *, size_t count); ++ const char *, size_t count, void * data); + }; + + struct module_kobject +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/sysdev.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysdev.h +--- linux-2.6.12-rc4/include/linux/sysdev.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysdev.h 2005-05-07 04:31:56.000000000 -0400 +@@ -77,14 +77,15 @@ extern void sysdev_unregister(struct sys + + struct sysdev_attribute { + struct attribute attr; +- ssize_t (*show)(struct sys_device *, char *); +- ssize_t (*store)(struct sys_device *, const char *, size_t); ++ ssize_t (*show)(struct sys_device *, char *, void * data); ++ ssize_t (*store)(struct sys_device *, const char *, size_t, ++ void * data); + }; + + + #define SYSDEV_ATTR(_name,_mode,_show,_store) \ + struct sysdev_attribute attr_##_name = { \ +- .attr = {.name = __stringify(_name), .mode = _mode }, \ ++ .attr = {.name = __stringify(_name), .mode = _mode, .data = NULL }, \ + .show = _show, \ + .store = _store, \ + }; +diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/sysfs.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysfs.h +--- linux-2.6.12-rc4/include/linux/sysfs.h 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysfs.h 2005-05-07 04:31:56.000000000 -0400 +@@ -19,6 +19,7 @@ struct attribute { + char * name; + struct module * owner; + mode_t mode; ++ void * data; + }; + + struct attribute_group { +@@ -34,13 +35,15 @@ struct attribute_group { + */ + + #define __ATTR(_name,_mode,_show,_store) { \ +- .attr = {.name = __stringify(_name), .mode = _mode, .owner = THIS_MODULE }, \ ++ .attr = {.name = __stringify(_name), .mode = _mode, \ ++ .owner = THIS_MODULE, .data = NULL, }, \ + .show = _show, \ + .store = _store, \ + } + + #define __ATTR_RO(_name) { \ +- .attr = { .name = __stringify(_name), .mode = 0444, .owner = THIS_MODULE }, \ ++ .attr = { .name = __stringify(_name), .mode = 0444, \ ++ .owner = THIS_MODULE, .data = NULL, }, \ + .show = _name##_show, \ + } + +diff -uprN -X dontdiff linux-2.6.12-rc4/kernel/module.c linux-2.6.12-rc4-sysfsdyncallback-core/kernel/module.c +--- linux-2.6.12-rc4/kernel/module.c 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/kernel/module.c 2005-05-07 04:31:56.000000000 -0400 +@@ -652,7 +652,7 @@ void symbol_put_addr(void *addr) + EXPORT_SYMBOL_GPL(symbol_put_addr); + + static ssize_t show_refcnt(struct module_attribute *mattr, +- struct module *mod, char *buffer) ++ struct module *mod, char *buffer, void *sdata) + { + /* sysfs holds a reference */ + return sprintf(buffer, "%u\n", module_refcount(mod)-1); +@@ -931,7 +931,7 @@ static unsigned long resolve_symbol(Elf_ + */ + #ifdef CONFIG_KALLSYMS + static ssize_t module_sect_show(struct module_attribute *mattr, +- struct module *mod, char *buf) ++ struct module *mod, char *buf, void *sdata) + { + struct module_sect_attr *sattr = + container_of(mattr, struct module_sect_attr, mattr); +diff -uprN -X dontdiff linux-2.6.12-rc4/kernel/params.c linux-2.6.12-rc4-sysfsdyncallback-core/kernel/params.c +--- linux-2.6.12-rc4/kernel/params.c 2005-05-07 03:37:24.000000000 -0400 ++++ linux-2.6.12-rc4-sysfsdyncallback-core/kernel/params.c 2005-05-07 04:31:56.000000000 -0400 +@@ -380,7 +380,7 @@ struct module_param_attrs + #define to_param_attr(n) container_of(n, struct param_attribute, mattr); + + static ssize_t param_attr_show(struct module_attribute *mattr, +- struct module *mod, char *buf) ++ struct module *mod, char *buf, void *data) + { + int count; + struct param_attribute *attribute = to_param_attr(mattr); +@@ -399,7 +399,7 @@ static ssize_t param_attr_show(struct mo + /* sysfs always hands a nul-terminated string in buf. We rely on that. */ + static ssize_t param_attr_store(struct module_attribute *mattr, + struct module *owner, +- const char *buf, size_t len) ++ const char *buf, size_t len, void *data) + { + int err; + struct param_attribute *attribute = to_param_attr(mattr); +@@ -634,7 +634,7 @@ static ssize_t module_attr_show(struct k + if (!try_module_get(mk->mod)) + return -ENODEV; + +- ret = attribute->show(attribute, mk->mod, buf); ++ ret = attribute->show(attribute, mk->mod, buf, attr->data); + + module_put(mk->mod); + +@@ -658,7 +658,7 @@ static ssize_t module_attr_store(struct + if (!try_module_get(mk->mod)) + return -ENODEV; + +- ret = attribute->store(attribute, mk->mod, buf, len); ++ ret = attribute->store(attribute, mk->mod, buf, len, attr->data); + + module_put(mk->mod); diff --git a/a/content_digest b/N1/content_digest index a2675db..7b43385 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,12 +1,12 @@ - "From\0yani.ioannou@gmail.com (Yani Ioannou)\0" + "From\0Yani Ioannou <yani.ioannou@gmail.com>\0" "Subject\0[PATCH 2.6.12-rc4 1/3] dynamic sysfs callbacks\0" - "Date\0Thu, 19 May 2005 06:25:57 +0000\0" + "Date\0Sat, 7 May 2005 09:21:34 -0400\0" "To\0Greg KH <greg@kroah.com>\0" "Cc\0Dmitry Torokhov <dtor_core@ameritech.net>" Jean Delvare <khali@linux-fr.org> LM Sensors <sensors@stimpy.netroedge.com> " linux-kernel@vger.kernel.org\0" - "\00:1\0" + "\01:1\0" "b\0" "Hi,\n" "\n" @@ -39,13 +39,453 @@ "\n" "This first patch changes the core sysfs attribute and derived attributes.\n" "\n" - "Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>\n" - "-------------- next part --------------\n" - "A non-text attachment was scrubbed...\n" - "Name: patch-linux-2.6.12-rc4-sysfsdyncallback-core.diff\n" - "Type: text/x-patch\n" - "Size: 17284 bytes\n" - "Desc: not available\n" - Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20050507/65896876/patch-linux-2.6.12-rc4-sysfsdyncallback-core.bin + Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com> + "\01:2\0" + "fn\0patch-linux-2.6.12-rc4-sysfsdyncallback-core.diff\0" + "b\0" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/bus.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/bus.c\n" + "--- linux-2.6.12-rc4/drivers/base/bus.c\t2005-05-07 03:37:15.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/bus.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -39,7 +39,7 @@ drv_attr_show(struct kobject * kobj, str\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (drv_attr->show)\n" + "-\t\tret = drv_attr->show(drv, buf);\n" + "+\t\tret = drv_attr->show(drv, buf, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -52,7 +52,7 @@ drv_attr_store(struct kobject * kobj, st\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (drv_attr->store)\n" + "-\t\tret = drv_attr->store(drv, buf, count);\n" + "+\t\tret = drv_attr->store(drv, buf, count, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -87,7 +87,7 @@ bus_attr_show(struct kobject * kobj, str\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (bus_attr->show)\n" + "-\t\tret = bus_attr->show(bus, buf);\n" + "+\t\tret = bus_attr->show(bus, buf, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -100,7 +100,7 @@ bus_attr_store(struct kobject * kobj, st\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (bus_attr->store)\n" + "-\t\tret = bus_attr->store(bus, buf, count);\n" + "+\t\tret = bus_attr->store(bus, buf, count, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/class.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/class.c\n" + "--- linux-2.6.12-rc4/drivers/base/class.c\t2005-05-07 03:37:15.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/class.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -29,7 +29,7 @@ class_attr_show(struct kobject * kobj, s\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (class_attr->show)\n" + "-\t\tret = class_attr->show(dc, buf);\n" + "+\t\tret = class_attr->show(dc, buf, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -42,7 +42,7 @@ class_attr_store(struct kobject * kobj, \n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (class_attr->store)\n" + "-\t\tret = class_attr->store(dc, buf, count);\n" + "+\t\tret = class_attr->store(dc, buf, count, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -206,7 +206,7 @@ class_device_attr_show(struct kobject * \n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (class_dev_attr->show)\n" + "-\t\tret = class_dev_attr->show(cd, buf);\n" + "+\t\tret = class_dev_attr->show(cd, buf, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -219,7 +219,7 @@ class_device_attr_store(struct kobject *\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (class_dev_attr->store)\n" + "-\t\tret = class_dev_attr->store(cd, buf, count);\n" + "+\t\tret = class_dev_attr->store(cd, buf, count, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -371,7 +371,7 @@ static void class_device_remove_attrs(st\n" + " \t}\n" + " }\n" + " \n" + "-static ssize_t show_dev(struct class_device *class_dev, char *buf)\n" + "+static ssize_t show_dev(struct class_device *class_dev, char *buf, void *data)\n" + " {\n" + " \treturn print_dev_t(buf, class_dev->devt);\n" + " }\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/core.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/core.c\n" + "--- linux-2.6.12-rc4/drivers/base/core.c\t2005-05-07 03:37:15.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/core.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -41,7 +41,7 @@ dev_attr_show(struct kobject * kobj, str\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (dev_attr->show)\n" + "-\t\tret = dev_attr->show(dev, buf);\n" + "+\t\tret = dev_attr->show(dev, buf, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -54,7 +54,7 @@ dev_attr_store(struct kobject * kobj, st\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (dev_attr->store)\n" + "-\t\tret = dev_attr->store(dev, buf, count);\n" + "+\t\tret = dev_attr->store(dev, buf, count, attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/base/sys.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/sys.c\n" + "--- linux-2.6.12-rc4/drivers/base/sys.c\t2005-05-07 03:37:15.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/base/sys.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -36,7 +36,7 @@ sysdev_show(struct kobject * kobj, struc\n" + " \tstruct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr);\n" + " \n" + " \tif (sysdev_attr->show)\n" + "-\t\treturn sysdev_attr->show(sysdev, buffer);\n" + "+\t\treturn sysdev_attr->show(sysdev, buffer, attr->data);\n" + " \treturn 0;\n" + " }\n" + " \n" + "@@ -49,7 +49,7 @@ sysdev_store(struct kobject * kobj, stru\n" + " \tstruct sysdev_attribute * sysdev_attr = to_sysdev_attr(attr);\n" + " \n" + " \tif (sysdev_attr->store)\n" + "-\t\treturn sysdev_attr->store(sysdev, buffer, count);\n" + "+\t\treturn sysdev_attr->store(sysdev, buffer, count, attr->data);\n" + " \treturn 0;\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/block/genhd.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/block/genhd.c\n" + "--- linux-2.6.12-rc4/drivers/block/genhd.c\t2005-05-07 03:37:15.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/block/genhd.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -325,7 +325,7 @@ static ssize_t disk_attr_show(struct kob\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (disk_attr->show)\n" + "-\t\tret = disk_attr->show(disk,page);\n" + "+\t\tret = disk_attr->show(disk,page,attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/cpufreq/cpufreq.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/cpufreq/cpufreq.c\n" + "--- linux-2.6.12-rc4/drivers/cpufreq/cpufreq.c\t2005-05-07 03:37:16.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/cpufreq/cpufreq.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -521,7 +521,7 @@ static ssize_t show(struct kobject * kob\n" + " \tpolicy = cpufreq_cpu_get(policy->cpu);\n" + " \tif (!policy)\n" + " \t\treturn -EINVAL;\n" + "-\tret = fattr->show ? fattr->show(policy,buf) : 0;\n" + "+\tret = fattr->show ? fattr->show(policy,buf,attr->data) : 0;\n" + " \tcpufreq_cpu_put(policy);\n" + " \treturn ret;\n" + " }\n" + "@@ -535,7 +535,7 @@ static ssize_t store(struct kobject * ko\n" + " \tpolicy = cpufreq_cpu_get(policy->cpu);\n" + " \tif (!policy)\n" + " \t\treturn -EINVAL;\n" + "-\tret = fattr->store ? fattr->store(policy,buf,count) : 0;\n" + "+\tret = fattr->store ? fattr->store(policy,buf,count,attr->data) : 0;\n" + " \tcpufreq_cpu_put(policy);\n" + " \treturn ret;\n" + " }\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/drivers/pci/pci-driver.c linux-2.6.12-rc4-sysfsdyncallback-core/drivers/pci/pci-driver.c\n" + "--- linux-2.6.12-rc4/drivers/pci/pci-driver.c\t2005-05-07 03:37:18.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/drivers/pci/pci-driver.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -56,7 +56,8 @@ pci_device_probe_dynamic(struct pci_driv\n" + " * and causes the driver to probe for all devices again.\n" + " */\n" + " static inline ssize_t\n" + "-store_new_id(struct device_driver *driver, const char *buf, size_t count)\n" + "+store_new_id(struct device_driver *driver, const char *buf, size_t count, \n" + "+\t\tvoid *data)\n" + " {\n" + " \tstruct dynid *dynid;\n" + " \tstruct bus_type * bus;\n" + "@@ -339,7 +340,7 @@ pci_driver_attr_show(struct kobject * ko\n" + " \n" + " \tif (get_driver(driver)) {\n" + " \t\tif (dattr->show)\n" + "-\t\t\tret = dattr->show(driver, buf);\n" + "+\t\t\tret = dattr->show(driver, buf, attr->data);\n" + " \t\tput_driver(driver);\n" + " \t}\n" + " \treturn ret;\n" + "@@ -355,7 +356,7 @@ pci_driver_attr_store(struct kobject * k\n" + " \n" + " \tif (get_driver(driver)) {\n" + " \t\tif (dattr->store)\n" + "-\t\t\tret = dattr->store(driver, buf, count);\n" + "+\t\t\tret = dattr->store(driver, buf, count, attr->data);\n" + " \t\tput_driver(driver);\n" + " \t}\n" + " \treturn ret;\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/fs/sysfs/file.c linux-2.6.12-rc4-sysfsdyncallback-core/fs/sysfs/file.c\n" + "--- linux-2.6.12-rc4/fs/sysfs/file.c\t2005-05-07 03:37:22.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/fs/sysfs/file.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -26,7 +26,7 @@ subsys_attr_show(struct kobject * kobj, \n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (sattr->show)\n" + "-\t\tret = sattr->show(s,page);\n" + "+\t\tret = sattr->show(s,page,attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "@@ -39,7 +39,7 @@ subsys_attr_store(struct kobject * kobj,\n" + " \tssize_t ret = 0;\n" + " \n" + " \tif (sattr->store)\n" + "-\t\tret = sattr->store(s,page,count);\n" + "+\t\tret = sattr->store(s,page,count,attr->data);\n" + " \treturn ret;\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/cpufreq.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/cpufreq.h\n" + "--- linux-2.6.12-rc4/include/linux/cpufreq.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/cpufreq.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -240,8 +240,9 @@ static inline void cpufreq_verify_within\n" + " \n" + " struct freq_attr {\n" + " \tstruct attribute attr;\n" + "-\tssize_t (*show)(struct cpufreq_policy *, char *);\n" + "-\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t count);\n" + "+\tssize_t (*show)(struct cpufreq_policy *, char *, void * data);\n" + "+\tssize_t (*store)(struct cpufreq_policy *, const char *, size_t count,\n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/device.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/device.h\n" + "--- linux-2.6.12-rc4/include/linux/device.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/device.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -87,8 +87,9 @@ int bus_for_each_drv(struct bus_type * b\n" + " \n" + " struct bus_attribute {\n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct bus_type *, char * buf);\n" + "-\tssize_t (*store)(struct bus_type *, const char * buf, size_t count);\n" + "+\tssize_t (*show)(struct bus_type *, char * buf, void * data);\n" + "+\tssize_t (*store)(struct bus_type *, const char * buf, size_t count,\n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " #define BUS_ATTR(_name,_mode,_show,_store)\t\\\n" + "@@ -127,8 +128,9 @@ extern struct device_driver *driver_find\n" + " \n" + " struct driver_attribute {\n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct device_driver *, char * buf);\n" + "-\tssize_t (*store)(struct device_driver *, const char * buf, size_t count);\n" + "+\tssize_t (*show)(struct device_driver *, char * buf, void * data);\n" + "+\tssize_t (*store)(struct device_driver *, const char * buf, size_t count,\n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " #define DRIVER_ATTR(_name,_mode,_show,_store)\t\\\n" + "@@ -168,8 +170,9 @@ extern void class_put(struct class *);\n" + " \n" + " struct class_attribute {\n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct class *, char * buf);\n" + "-\tssize_t (*store)(struct class *, const char * buf, size_t count);\n" + "+\tssize_t (*show)(struct class *, char * buf, void * data);\n" + "+\tssize_t (*store)(struct class *, const char * buf, size_t count, \n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " #define CLASS_ATTR(_name,_mode,_show,_store)\t\t\t\\\n" + "@@ -217,8 +220,8 @@ extern void class_device_put(struct clas\n" + " \n" + " struct class_device_attribute {\n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct class_device *, char * buf);\n" + "-\tssize_t (*store)(struct class_device *, const char * buf, size_t count);\n" + "+\tssize_t (*show)(struct class_device *, char * buf, void * data);\n" + "+\tssize_t (*store)(struct class_device *, const char * buf, size_t count, void * data);\n" + " };\n" + " \n" + " #define CLASS_DEVICE_ATTR(_name,_mode,_show,_store)\t\t\\\n" + "@@ -335,8 +338,9 @@ extern void driver_attach(struct device_\n" + " \n" + " struct device_attribute {\n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct device * dev, char * buf);\n" + "-\tssize_t (*store)(struct device * dev, const char * buf, size_t count);\n" + "+\tssize_t (*show)(struct device * dev, char * buf, void * data);\n" + "+\tssize_t (*store)(struct device * dev, const char * buf, size_t count,\n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " #define DEVICE_ATTR(_name,_mode,_show,_store) \\\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/genhd.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/genhd.h\n" + "--- linux-2.6.12-rc4/include/linux/genhd.h\t2005-03-02 02:37:49.000000000 -0500\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/genhd.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -131,7 +131,7 @@ struct gendisk {\n" + " /* Structure for sysfs attributes on block devices */\n" + " struct disk_attribute {\n" + " \tstruct attribute attr;\n" + "-\tssize_t (*show)(struct gendisk *, char *);\n" + "+\tssize_t (*show)(struct gendisk *, char *, void * data);\n" + " };\n" + " \n" + " /* \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/kobject.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/kobject.h\n" + "--- linux-2.6.12-rc4/include/linux/kobject.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/kobject.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -234,8 +234,9 @@ static inline void subsys_put(struct sub\n" + " \n" + " struct subsys_attribute {\n" + " \tstruct attribute attr;\n" + "-\tssize_t (*show)(struct subsystem *, char *);\n" + "-\tssize_t (*store)(struct subsystem *, const char *, size_t); \n" + "+\tssize_t (*show)(struct subsystem *, char *, void * data);\n" + "+\tssize_t (*store)(struct subsystem *, const char *, size_t, \n" + "+\t\t\tvoid * data); \n" + " };\n" + " \n" + " extern int subsys_create_file(struct subsystem * , struct subsys_attribute *);\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/module.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/module.h\n" + "--- linux-2.6.12-rc4/include/linux/module.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/module.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -48,9 +48,10 @@ struct module;\n" + " \n" + " struct module_attribute {\n" + " struct attribute attr;\n" + "- ssize_t (*show)(struct module_attribute *, struct module *, char *);\n" + "+ ssize_t (*show)(struct module_attribute *, struct module *, char *, \n" + "+\t\t\tvoid * data);\n" + " ssize_t (*store)(struct module_attribute *, struct module *,\n" + "-\t\t\t const char *, size_t count);\n" + "+\t\t\t const char *, size_t count, void * data);\n" + " };\n" + " \n" + " struct module_kobject\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/sysdev.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysdev.h\n" + "--- linux-2.6.12-rc4/include/linux/sysdev.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysdev.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -77,14 +77,15 @@ extern void sysdev_unregister(struct sys\n" + " \n" + " struct sysdev_attribute { \n" + " \tstruct attribute\tattr;\n" + "-\tssize_t (*show)(struct sys_device *, char *);\n" + "-\tssize_t (*store)(struct sys_device *, const char *, size_t);\n" + "+\tssize_t (*show)(struct sys_device *, char *, void * data);\n" + "+\tssize_t (*store)(struct sys_device *, const char *, size_t, \n" + "+\t\t\tvoid * data);\n" + " };\n" + " \n" + " \n" + " #define SYSDEV_ATTR(_name,_mode,_show,_store) \t\t\\\n" + " struct sysdev_attribute attr_##_name = { \t\t\t\\\n" + "-\t.attr = {.name = __stringify(_name), .mode = _mode },\t\\\n" + "+\t.attr = {.name = __stringify(_name), .mode = _mode, .data = NULL },\t\\\n" + " \t.show\t= _show,\t\t\t\t\t\\\n" + " \t.store\t= _store,\t\t\t\t\t\\\n" + " };\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/include/linux/sysfs.h linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysfs.h\n" + "--- linux-2.6.12-rc4/include/linux/sysfs.h\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/include/linux/sysfs.h\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -19,6 +19,7 @@ struct attribute {\n" + " \tchar\t\t\t* name;\n" + " \tstruct module \t\t* owner;\n" + " \tmode_t\t\t\tmode;\n" + "+\tvoid * data;\n" + " };\n" + " \n" + " struct attribute_group {\n" + "@@ -34,13 +35,15 @@ struct attribute_group {\n" + " */\n" + " \n" + " #define __ATTR(_name,_mode,_show,_store) { \\\n" + "-\t.attr = {.name = __stringify(_name), .mode = _mode, .owner = THIS_MODULE },\t\\\n" + "+\t.attr = {.name = __stringify(_name), .mode = _mode, \t\\\n" + "+\t\t.owner = THIS_MODULE, .data = NULL, },\t\\\n" + " \t.show\t= _show,\t\t\t\t\t\\\n" + " \t.store\t= _store,\t\t\t\t\t\\\n" + " }\n" + " \n" + " #define __ATTR_RO(_name) { \\\n" + "-\t.attr\t= { .name = __stringify(_name), .mode = 0444, .owner = THIS_MODULE },\t\\\n" + "+\t.attr\t= { .name = __stringify(_name), .mode = 0444, \t\\\n" + "+\t\t.owner = THIS_MODULE, .data = NULL, },\t\\\n" + " \t.show\t= _name##_show,\t\\\n" + " }\n" + " \n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/kernel/module.c linux-2.6.12-rc4-sysfsdyncallback-core/kernel/module.c\n" + "--- linux-2.6.12-rc4/kernel/module.c\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/kernel/module.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -652,7 +652,7 @@ void symbol_put_addr(void *addr)\n" + " EXPORT_SYMBOL_GPL(symbol_put_addr);\n" + " \n" + " static ssize_t show_refcnt(struct module_attribute *mattr,\n" + "-\t\t\t struct module *mod, char *buffer)\n" + "+\t\t\t struct module *mod, char *buffer, void *sdata)\n" + " {\n" + " \t/* sysfs holds a reference */\n" + " \treturn sprintf(buffer, \"%u\\n\", module_refcount(mod)-1);\n" + "@@ -931,7 +931,7 @@ static unsigned long resolve_symbol(Elf_\n" + " */\n" + " #ifdef CONFIG_KALLSYMS\n" + " static ssize_t module_sect_show(struct module_attribute *mattr,\n" + "-\t\t\t\tstruct module *mod, char *buf)\n" + "+\t\t\t\tstruct module *mod, char *buf, void *sdata)\n" + " {\n" + " \tstruct module_sect_attr *sattr =\n" + " \t\tcontainer_of(mattr, struct module_sect_attr, mattr);\n" + "diff -uprN -X dontdiff linux-2.6.12-rc4/kernel/params.c linux-2.6.12-rc4-sysfsdyncallback-core/kernel/params.c\n" + "--- linux-2.6.12-rc4/kernel/params.c\t2005-05-07 03:37:24.000000000 -0400\n" + "+++ linux-2.6.12-rc4-sysfsdyncallback-core/kernel/params.c\t2005-05-07 04:31:56.000000000 -0400\n" + "@@ -380,7 +380,7 @@ struct module_param_attrs\n" + " #define to_param_attr(n) container_of(n, struct param_attribute, mattr);\n" + " \n" + " static ssize_t param_attr_show(struct module_attribute *mattr,\n" + "-\t\t\t struct module *mod, char *buf)\n" + "+\t\t\t struct module *mod, char *buf, void *data)\n" + " {\n" + " \tint count;\n" + " \tstruct param_attribute *attribute = to_param_attr(mattr);\n" + "@@ -399,7 +399,7 @@ static ssize_t param_attr_show(struct mo\n" + " /* sysfs always hands a nul-terminated string in buf. We rely on that. */\n" + " static ssize_t param_attr_store(struct module_attribute *mattr,\n" + " \t\t\t\tstruct module *owner,\n" + "-\t\t\t\tconst char *buf, size_t len)\n" + "+\t\t\t\tconst char *buf, size_t len, void *data)\n" + " {\n" + " \tint err;\n" + " \tstruct param_attribute *attribute = to_param_attr(mattr);\n" + "@@ -634,7 +634,7 @@ static ssize_t module_attr_show(struct k\n" + " \tif (!try_module_get(mk->mod))\n" + " \t\treturn -ENODEV;\n" + " \n" + "-\tret = attribute->show(attribute, mk->mod, buf);\n" + "+\tret = attribute->show(attribute, mk->mod, buf, attr->data);\n" + " \n" + " \tmodule_put(mk->mod);\n" + " \n" + "@@ -658,7 +658,7 @@ static ssize_t module_attr_store(struct \n" + " \tif (!try_module_get(mk->mod))\n" + " \t\treturn -ENODEV;\n" + " \n" + "-\tret = attribute->store(attribute, mk->mod, buf, len);\n" + "+\tret = attribute->store(attribute, mk->mod, buf, len, attr->data);\n" + " \n" + " \tmodule_put(mk->mod);" -453c73cd6887e1b5edc353c8de138845ca553605c555eccf078a7d1ec5d1326a +2f1728e1f1da74e06f969ffc90372480a69d59a77567fbc7bcfeb2e9b65687c9
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.