git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull acpi-debug into release branch
[sfrench/cifs-2.6.git]
/
Documentation
/
filesystems
/
configfs
/
configfs_example.c
diff --git
a/Documentation/filesystems/configfs/configfs_example.c
b/Documentation/filesystems/configfs/configfs_example.c
index 3d4713a6c207f9f18eb1aed4ad5f361bc86ed839..25151fd5c2c6f032a0cc95d57d213d7fa4fcdf18 100644
(file)
--- a/
Documentation/filesystems/configfs/configfs_example.c
+++ b/
Documentation/filesystems/configfs/configfs_example.c
@@
-264,15
+264,23
@@
static struct config_item_type simple_child_type = {
};
};
+struct simple_children {
+ struct config_group group;
+};
+
+static inline struct simple_children *to_simple_children(struct config_item *item)
+{
+ return item ? container_of(to_config_group(item), struct simple_children, group) : NULL;
+}
+
static struct config_item *simple_children_make_item(struct config_group *group, const char *name)
{
struct simple_child *simple_child;
static struct config_item *simple_children_make_item(struct config_group *group, const char *name)
{
struct simple_child *simple_child;
- simple_child = k
m
alloc(sizeof(struct simple_child), GFP_KERNEL);
+ simple_child = k
z
alloc(sizeof(struct simple_child), GFP_KERNEL);
if (!simple_child)
return NULL;
if (!simple_child)
return NULL;
- memset(simple_child, 0, sizeof(struct simple_child));
config_item_init_type_name(&simple_child->item, name,
&simple_child_type);
config_item_init_type_name(&simple_child->item, name,
&simple_child_type);
@@
-304,7
+312,13
@@
static ssize_t simple_children_attr_show(struct config_item *item,
"items have only one attribute that is readable and writeable.\n");
}
"items have only one attribute that is readable and writeable.\n");
}
+static void simple_children_release(struct config_item *item)
+{
+ kfree(to_simple_children(item));
+}
+
static struct configfs_item_operations simple_children_item_ops = {
static struct configfs_item_operations simple_children_item_ops = {
+ .release = simple_children_release,
.show_attribute = simple_children_attr_show,
};
.show_attribute = simple_children_attr_show,
};
@@
-345,20
+359,15
@@
static struct configfs_subsystem simple_children_subsys = {
* children of its own.
*/
* children of its own.
*/
-struct simple_children {
- struct config_group group;
-};
-
static struct config_group *group_children_make_group(struct config_group *group, const char *name)
{
struct simple_children *simple_children;
static struct config_group *group_children_make_group(struct config_group *group, const char *name)
{
struct simple_children *simple_children;
- simple_children = k
m
alloc(sizeof(struct simple_children),
+ simple_children = k
z
alloc(sizeof(struct simple_children),
GFP_KERNEL);
if (!simple_children)
return NULL;
GFP_KERNEL);
if (!simple_children)
return NULL;
- memset(simple_children, 0, sizeof(struct simple_children));
config_group_init_type_name(&simple_children->group, name,
&simple_children_type);
config_group_init_type_name(&simple_children->group, name,
&simple_children_type);
@@
-442,7
+451,7
@@
static int __init configfs_example_init(void)
subsys = example_subsys[i];
config_group_init(&subsys->su_group);
subsys = example_subsys[i];
config_group_init(&subsys->su_group);
-
init_MUTEX(&subsys->su_sem
);
+
mutex_init(&subsys->su_mutex
);
ret = configfs_register_subsystem(subsys);
if (ret) {
printk(KERN_ERR "Error %d while registering subsystem %s\n",
ret = configfs_register_subsystem(subsys);
if (ret) {
printk(KERN_ERR "Error %d while registering subsystem %s\n",