X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=include%2Flinux%2Fsysfs.h;h=192de3afa96ba9244a5e69e98f0e66b17fc6df66;hb=411187fb05cd11676b0979d9fbf3291db69dbce2;hp=6d5c43d31dec27e7b0a0131c5cc1c03a5b030612;hpb=185a257f2f73bcd89050ad02da5bedbc28fc43fa;p=linux-2.6-omap-h63xx.git diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 6d5c43d31de..192de3afa96 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -11,10 +11,12 @@ #define _SYSFS_H_ #include +#include #include struct kobject; struct module; +struct nameidata; struct attribute { const char * name; @@ -88,13 +90,16 @@ struct sysfs_dirent { #ifdef CONFIG_SYSFS extern int __must_check -sysfs_create_dir(struct kobject *); +sysfs_create_dir(struct kobject *, struct dentry *); extern void sysfs_remove_dir(struct kobject *); extern int __must_check -sysfs_rename_dir(struct kobject *, const char *new_name); +sysfs_rename_dir(struct kobject *, struct dentry *, const char *new_name); + +extern int __must_check +sysfs_move_dir(struct kobject *, struct kobject *); extern int __must_check sysfs_create_file(struct kobject *, const struct attribute *); @@ -123,11 +128,17 @@ int __must_check sysfs_create_group(struct kobject *, void sysfs_remove_group(struct kobject *, const struct attribute_group *); void sysfs_notify(struct kobject * k, char *dir, char *attr); + +extern int sysfs_make_shadowed_dir(struct kobject *kobj, + void * (*follow_link)(struct dentry *, struct nameidata *)); +extern struct dentry *sysfs_create_shadow_dir(struct kobject *kobj); +extern void sysfs_remove_shadow_dir(struct dentry *dir); + extern int __must_check sysfs_init(void); #else /* CONFIG_SYSFS */ -static inline int sysfs_create_dir(struct kobject * k) +static inline int sysfs_create_dir(struct kobject * k, struct dentry *shadow) { return 0; } @@ -137,7 +148,14 @@ static inline void sysfs_remove_dir(struct kobject * k) ; } -static inline int sysfs_rename_dir(struct kobject * k, const char *new_name) +static inline int sysfs_rename_dir(struct kobject * k, + struct dentry *new_parent, + const char *new_name) +{ + return 0; +} + +static inline int sysfs_move_dir(struct kobject * k, struct kobject * new_parent) { return 0; } @@ -196,6 +214,12 @@ static inline void sysfs_notify(struct kobject * k, char *dir, char *attr) { } +static inline int sysfs_make_shadowed_dir(struct kobject *kobj, + void * (*follow_link)(struct dentry *, struct nameidata *)) +{ + return 0; +} + static inline int __must_check sysfs_init(void) { return 0;