configfs: Release memory in configfs_example.
authorJoel Becker <joel.becker@oracle.com>
Thu, 13 Apr 2006 01:34:43 +0000 (18:34 -0700)
committerMark Fasheh <mark.fasheh@oracle.com>
Thu, 29 Jun 2006 21:38:53 +0000 (14:38 -0700)
The configfs_example module was missing a ->release().

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Documentation/filesystems/configfs/configfs_example.c

index 3d4713a6c207f9f18eb1aed4ad5f361bc86ed839..2d6a14a463e072935dcf78a3492693cf230708af 100644 (file)
@@ -264,6 +264,15 @@ 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;
@@ -304,7 +313,13 @@ static ssize_t simple_children_attr_show(struct config_item *item,
 "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 = {
+       .release        = simple_children_release,
        .show_attribute = simple_children_attr_show,
 };
 
@@ -345,10 +360,6 @@ static struct configfs_subsystem simple_children_subsys = {
  * 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;