diff options
| author | Eric W. Biederman <ebiederm@xmission.com> | 2007-07-31 19:15:08 +0900 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 14:51:03 -0700 | 
| commit | 90bc61359de0148f8627073d68a22edc7ed9893d (patch) | |
| tree | b054bf0cb9bda41dab498086216f4c0253b2c5ed /lib/kobject.c | |
| parent | 869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f (diff) | |
| download | olio-linux-3.10-90bc61359de0148f8627073d68a22edc7ed9893d.tar.xz olio-linux-3.10-90bc61359de0148f8627073d68a22edc7ed9893d.zip  | |
sysfs: Remove first pass at shadow directory support
While shadow directories appear to be a good idea, the current scheme
of controlling their creation and destruction outside of sysfs appears
to be a locking and maintenance nightmare in the face of sysfs
directories dynamically coming and going.  Which can now occur for
directories containing network devices when CONFIG_SYSFS_DEPRECATED is
not set.
This patch removes everything from the initial shadow directory support
that allowed the shadow directory creation to be controlled at a higher
level.  So except for a few bits of sysfs_rename_dir everything from
commit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'lib/kobject.c')
| -rw-r--r-- | lib/kobject.c | 44 | 
1 files changed, 6 insertions, 38 deletions
diff --git a/lib/kobject.c b/lib/kobject.c index 10ae2ebeaf9..e8181d3cec3 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -44,11 +44,11 @@ static int populate_dir(struct kobject * kobj)  	return error;  } -static int create_dir(struct kobject *kobj, struct sysfs_dirent *shadow_parent) +static int create_dir(struct kobject * kobj)  {  	int error = 0;  	if (kobject_name(kobj)) { -		error = sysfs_create_dir(kobj, shadow_parent); +		error = sysfs_create_dir(kobj);  		if (!error) {  			if ((error = populate_dir(kobj)))  				sysfs_remove_dir(kobj); @@ -157,12 +157,11 @@ static void unlink(struct kobject * kobj)  }  /** - *	kobject_shadow_add - add an object to the hierarchy. + *	kobject_add - add an object to the hierarchy.   *	@kobj:	object. - *	@shadow_parent: sysfs directory to add to.   */ -int kobject_shadow_add(struct kobject *kobj, struct sysfs_dirent *shadow_parent) +int kobject_add(struct kobject * kobj)  {  	int error = 0;  	struct kobject * parent; @@ -194,7 +193,7 @@ int kobject_shadow_add(struct kobject *kobj, struct sysfs_dirent *shadow_parent)  		kobj->parent = parent;  	} -	error = create_dir(kobj, shadow_parent); +	error = create_dir(kobj);  	if (error) {  		/* unlink does the kobject_put() for us */  		unlink(kobj); @@ -216,16 +215,6 @@ int kobject_shadow_add(struct kobject *kobj, struct sysfs_dirent *shadow_parent)  }  /** - *	kobject_add - add an object to the hierarchy. - *	@kobj:	object. - */ -int kobject_add(struct kobject * kobj) -{ -	return kobject_shadow_add(kobj, NULL); -} - - -/**   *	kobject_register - initialize and add an object.   *	@kobj:	object in question.   */ @@ -334,7 +323,7 @@ int kobject_rename(struct kobject * kobj, const char *new_name)  	/* Note : if we want to send the new name alone, not the full path,  	 * we could probably use kobject_name(kobj); */ -	error = sysfs_rename_dir(kobj, kobj->parent->sd, new_name); +	error = sysfs_rename_dir(kobj, new_name);  	/* This function is mostly/only used for network interface.  	 * Some hotplug package track interfaces by their name and @@ -351,27 +340,6 @@ out:  }  /** - *	kobject_rename - change the name of an object - *	@kobj:	object in question. - *	@new_parent: object's new parent - *	@new_name: object's new name - */ - -int kobject_shadow_rename(struct kobject *kobj, -			  struct sysfs_dirent *new_parent, const char *new_name) -{ -	int error = 0; - -	kobj = kobject_get(kobj); -	if (!kobj) -		return -EINVAL; -	error = sysfs_rename_dir(kobj, new_parent, new_name); -	kobject_put(kobj); - -	return error; -} - -/**   *	kobject_move - move object to another parent   *	@kobj:	object in question.   *	@new_parent: object's new parent (can be NULL)  |