summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-20 17:17:52 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-20 17:17:52 -0700
commitf7df406dce01dfd30d7e0c570a928bcfeff03142 (patch)
tree6befad5177581f2f136b22117670f00019c7ea0f /include/linux
parent5e248ac9a5c465b356b936030d5a2e80887eb266 (diff)
parenta6795e9ebb420d87af43789174689af0d66d1d35 (diff)
downloadlinux-f7df406dce01dfd30d7e0c570a928bcfeff03142.tar.gz
linux-f7df406dce01dfd30d7e0c570a928bcfeff03142.tar.bz2
linux-f7df406dce01dfd30d7e0c570a928bcfeff03142.zip
Merge branch 'configfs-fixup-ptr-error' of git://oss.oracle.com/git/jlbec/linux-2.6
* 'configfs-fixup-ptr-error' of git://oss.oracle.com/git/jlbec/linux-2.6: configfs: Allow ->make_item() and ->make_group() to return detailed errors. Revert "configfs: Allow ->make_item() and ->make_group() to return detailed errors."
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/configfs.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/configfs.h b/include/linux/configfs.h
index 0488f937634a..d62c19ff041c 100644
--- a/include/linux/configfs.h
+++ b/include/linux/configfs.h
@@ -148,7 +148,8 @@ struct configfs_attribute {
* items. If the item is a group, it may support mkdir(2).
* Groups supply one of make_group() and make_item(). If the
* group supports make_group(), one can create group children. If it
- * supports make_item(), one can create config_item children. If it has
+ * supports make_item(), one can create config_item children. make_group()
+ * and make_item() return ERR_PTR() on errors. If it has
* default_groups on group->default_groups, it has automatically created
* group children. default_groups may coexist alongsize make_group() or
* make_item(), but if the group wishes to have only default_groups
@@ -165,8 +166,8 @@ struct configfs_item_operations {
};
struct configfs_group_operations {
- int (*make_item)(struct config_group *group, const char *name, struct config_item **new_item);
- int (*make_group)(struct config_group *group, const char *name, struct config_group **new_group);
+ struct config_item *(*make_item)(struct config_group *group, const char *name);
+ struct config_group *(*make_group)(struct config_group *group, const char *name);
int (*commit_item)(struct config_item *item);
void (*disconnect_notify)(struct config_group *group, struct config_item *item);
void (*drop_item)(struct config_group *group, struct config_item *item);