Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a839c5af authored by Mark Fasheh's avatar Mark Fasheh
Browse files

sysfs: Allow removal of symlinks in the sysfs root



Allow callers of sysfs_remove_link() to pass a NULL kobj, in which case
sysfs_root will be used as the parent directory. This allows us to tear down
top level symlinks created via sysfs_create_link(), which already has
similar handling of a NULL parent object.

Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 5cc3bf27
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -87,7 +87,14 @@ int sysfs_create_link(struct kobject * kobj, struct kobject * target, const char

void sysfs_remove_link(struct kobject * kobj, const char * name)
{
	sysfs_hash_and_remove(kobj->sd, name);
	struct sysfs_dirent *parent_sd = NULL;

	if (!kobj)
		parent_sd = &sysfs_root;
	else
		parent_sd = kobj->sd;

	sysfs_hash_and_remove(parent_sd, name);
}

static int sysfs_get_target_path(struct sysfs_dirent *parent_sd,