]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/configfs.h
NR_CPUS: Replace NR_CPUS in speedstep-centrino.c
[linux-2.6-omap-h63xx.git] / include / linux / configfs.h
index 5ce0fc4e3b5bdb071a9bf545f3a8fd0dbd51ebdc..0488f937634a274a5f55291da889071dba635d07 100644 (file)
@@ -35,8 +35,7 @@
 #ifndef _CONFIGFS_H_
 #define _CONFIGFS_H_
 
-#ifdef __KERNEL__
-
+#include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/list.h>
 #include <linux/kref.h>
@@ -166,9 +165,10 @@ struct configfs_item_operations {
 };
 
 struct configfs_group_operations {
-       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 (*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);
        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);
 };
 
@@ -187,6 +187,9 @@ static inline struct configfs_subsystem *to_configfs_subsystem(struct config_gro
 int configfs_register_subsystem(struct configfs_subsystem *subsys);
 void configfs_unregister_subsystem(struct configfs_subsystem *subsys);
 
-#endif  /* __KERNEL__ */
+/* These functions can sleep and can alloc with GFP_KERNEL */
+/* WARNING: These cannot be called underneath configfs callbacks!! */
+int configfs_depend_item(struct configfs_subsystem *subsys, struct config_item *target);
+void configfs_undepend_item(struct configfs_subsystem *subsys, struct config_item *target);
 
 #endif /* _CONFIGFS_H_ */