Re: [PATCH 2.6.10-rc2 2/4] module sysfs: expand module_attribute methods

From: Tejun Heo
Date: Mon Nov 22 2004 - 22:05:43 EST


On Tue, Nov 23, 2004 at 11:45:37AM +0900, Tejun Heo wrote:
> 02_module_attribute_extension.patch
> Modify module_attribute show/store methods to accept self
> argument to enable further extensions.


Signed-off-by: Tejun Heo <tj@xxxxxxxxxxx>


Index: linux-export/include/linux/module.h
===================================================================
--- linux-export.orig/include/linux/module.h 2004-11-23 11:31:32.000000000 +0900
+++ linux-export/include/linux/module.h 2004-11-23 11:32:13.000000000 +0900
@@ -48,8 +48,9 @@ struct module;

struct module_attribute {
struct attribute attr;
- ssize_t (*show)(struct module *, char *);
- ssize_t (*store)(struct module *, const char *, size_t count);
+ ssize_t (*show)(struct module_attribute *, struct module *, char *);
+ ssize_t (*store)(struct module_attribute *, struct module *,
+ const char *, size_t count);
};

struct module_kobject
Index: linux-export/kernel/module.c
===================================================================
--- linux-export.orig/kernel/module.c 2004-11-23 11:31:32.000000000 +0900
+++ linux-export/kernel/module.c 2004-11-23 11:32:13.000000000 +0900
@@ -651,7 +651,8 @@ void symbol_put_addr(void *addr)
}
EXPORT_SYMBOL_GPL(symbol_put_addr);

-static ssize_t show_refcnt(struct module *mod, char *buffer)
+static ssize_t show_refcnt(struct module_attribute *mattr,
+ struct module *mod, char *buffer)
{
/* sysfs holds a reference */
return sprintf(buffer, "%u\n", module_refcount(mod)-1);
Index: linux-export/kernel/params.c
===================================================================
--- linux-export.orig/kernel/params.c 2004-11-23 11:31:32.000000000 +0900
+++ linux-export/kernel/params.c 2004-11-23 11:32:13.000000000 +0900
@@ -691,7 +691,7 @@ static ssize_t module_attr_show(struct k
if (!try_module_get(mk->mod))
return -ENODEV;

- ret = attribute->show(mk->mod, buf);
+ ret = attribute->show(attribute, mk->mod, buf);

module_put(mk->mod);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/