diff options
author | Satyam Sharma <ssatyam@cse.iitk.ac.in> | 2007-07-04 16:37:06 +0530 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-07-10 16:52:27 -0700 |
commit | 9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d (patch) | |
tree | fdb043638b15b429fb3b04be8d56667c3d9963be /include/linux/configfs.h | |
parent | 4c62b53454a83178676e5ecae6665447d363c7b4 (diff) | |
download | lwn-9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d.tar.gz lwn-9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d.zip |
[PATCH] configfs+dlm: Separate out __CONFIGFS_ATTR into configfs.h
fs/dlm/config.c contains a useful generic macro called __CONFIGFS_ATTR
that is similar to sysfs' __ATTR macro that makes defining attributes
easy for any user of configfs. Separate it out into configfs.h so that
other users (forthcoming in dynamic netconsole patchset) can use it too.
Signed-off-by: Satyam Sharma <ssatyam@cse.iitk.ac.in>
Cc: David Teigland <teigland@redhat.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'include/linux/configfs.h')
-rw-r--r-- | include/linux/configfs.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/configfs.h b/include/linux/configfs.h index 3d4a96eb0e9b..def7c83d43a2 100644 --- a/include/linux/configfs.h +++ b/include/linux/configfs.h @@ -130,6 +130,22 @@ struct configfs_attribute { mode_t ca_mode; }; +/* + * Users often need to create attribute structures for their configurable + * attributes, containing a configfs_attribute member and function pointers + * for the show() and store() operations on that attribute. They can use + * this macro (similar to sysfs' __ATTR) to make defining attributes easier. + */ +#define __CONFIGFS_ATTR(_name, _mode, _show, _store) \ +{ \ + .attr = { \ + .ca_name = __stringify(_name), \ + .ca_mode = _mode, \ + .ca_owner = THIS_MODULE, \ + }, \ + .show = _show, \ + .store = _store, \ +} /* * If allow_link() exists, the item can symlink(2) out to other |