[PATCH 22/54] kset: convert /sys/devices/system to use kset_create

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <linux-kernel@...>
Cc: Greg Kroah-Hartman <gregkh@...>, Kay Sievers <kay.sievers@...>
Date: Friday, November 2, 2007 - 7:59 pm

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/base/sys.c |   28 ++++++++++++----------------
 1 files changed, 12 insertions(+), 16 deletions(-)

diff --git a/drivers/base/sys.c b/drivers/base/sys.c
index 7693c95..600db58 100644
--- a/drivers/base/sys.c
+++ b/drivers/base/sys.c
@@ -126,19 +126,16 @@ void sysdev_class_remove_file(struct sysdev_class *c,
 }
 EXPORT_SYMBOL_GPL(sysdev_class_remove_file);
 
-/*
- * declare system_subsys
- */
-static decl_subsys(system, NULL);
+static struct kset *system_kset;
 
 int sysdev_class_register(struct sysdev_class * cls)
 {
 	pr_debug("Registering sysdev class '%s'\n",
 		 kobject_name(&cls->kset.kobj));
 	INIT_LIST_HEAD(&cls->drivers);
-	cls->kset.kobj.parent = &system_subsys.kobj;
+	cls->kset.kobj.parent = &system_kset->kobj;
 	cls->kset.kobj.ktype = &ktype_sysdev_class;
-	cls->kset.kobj.kset = &system_subsys;
+	cls->kset.kobj.kset = system_kset;
 	return kset_register(&cls->kset);
 }
 
@@ -297,8 +294,7 @@ void sysdev_shutdown(void)
 	pr_debug("Shutting Down System Devices\n");
 
 	mutex_lock(&sysdev_drivers_lock);
-	list_for_each_entry_reverse(cls, &system_subsys.list,
-				    kset.kobj.entry) {
+	list_for_each_entry_reverse(cls, &system_kset->list, kset.kobj.entry) {
 		struct sys_device * sysdev;
 
 		pr_debug("Shutting down type '%s':\n",
@@ -360,9 +356,7 @@ int sysdev_suspend(pm_message_t state)
 
 	pr_debug("Suspending System Devices\n");
 
-	list_for_each_entry_reverse(cls, &system_subsys.list,
-				    kset.kobj.entry) {
-
+	list_for_each_entry_reverse(cls, &system_kset->list, kset.kobj.entry) {
 		pr_debug("Suspending type '%s':\n",
 			 kobject_name(&cls->kset.kobj));
 
@@ -413,8 +407,7 @@ aux_driver:
 	}
 
 	/* resume other classes */
-	list_for_each_entry_continue(cls, &system_subsys.list,
-					kset.kobj.entry) {
+	list_for_each_entry_continue(cls, &system_kset->list, kset.kobj.entry) {
 		list_for_each_entry(err_dev, &cls->kset.list, kobj.entry) {
 			pr_debug(" %s\n", kobject_name(&err_dev->kobj));
 			__sysdev_resume(err_dev);
@@ -439,7 +432,7 @@ int sysdev_resume(void)
 
 	pr_debug("Resuming System Devices\n");
 
-	list_for_each_entry(cls, &system_subsys.list, kset.kobj.entry) {
+	list_for_each_entry(cls, &system_kset->list, kset.kobj.entry) {
 		struct sys_device * sysdev;
 
 		pr_debug("Resuming type '%s':\n",
@@ -457,8 +450,11 @@ int sysdev_resume(void)
 
 int __init system_bus_init(void)
 {
-	system_subsys.kobj.parent = &devices_kset->kobj;
-	return subsystem_register(&system_subsys);
+	system_kset = kset_create_and_register("system", NULL,
+					       NULL, devices_kset);
+	if (IS_ERR(system_kset))
+		return PTR_ERR(system_kset);
+	return 0;
 }
 
 EXPORT_SYMBOL_GPL(sysdev_register);
-- 
1.5.3.4

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [RFC] kobject and kset core changes and cleanups, Andrew Morton, (Tue Nov 6, 4:04 am)
Re: [RFC] kobject and kset core changes and cleanups, Andrew Morton, (Tue Nov 6, 3:11 am)
Re: [RFC] kobject and kset core changes and cleanups, Stephane Eranian, (Tue Nov 6, 4:14 am)
Re: [RFC] kobject and kset core changes and cleanups, Stephane Eranian, (Tue Nov 6, 5:33 pm)
Re: [RFC] kobject and kset core changes and cleanups, Andrew Morton, (Tue Nov 6, 2:25 am)
[PATCH 54/54] kset: remove decl_subsys macro, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 53/54] kset: convert ocfs2 to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 47/54] kobject: convert parisc/pdc_stable to kobj_att..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 52/54] firmware: remove firmware_(un)register(), Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 51/54] kset: convert acpi to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 50/54] kset: convert edd to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 48/54] kset: convert parisc/pdc_stable.c to use kset_..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 49/54] Driver Core: kill subsys_attribute and default..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 46/54] kset: convert s390 ipl.c to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 45/54] kobject: convert s390 ipl.c to kobj_attr inter..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 42/54] kset: convert efivars to use kset_create for t..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 44/54] kobject: convert pseries/power.c to kobj_attr ..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 38/54] efivars: remove new_var and del_var files from..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 43/54] kobject: convert arm/mach-omap1/pm.c to kobj_a..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 40/54] firmware: export firmware_kset so that people ..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 41/54] kset: convert efivars to use kset_create for t..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 39/54] kobject: convert efivars to kobj_attr interface, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 37/54] ecryptfs: remove version_str file from sysfs, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 33/54] driver core: remove fields from struct bus_type, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 35/54] Driver Core: switch all dynamic ksets to kobj_..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 36/54] fix struct user_info export's sysfs interaction, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 34/54] Driver Core: add kobj_attribute handling, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 31/54] driver core: add way to get to bus kset, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 32/54] driver core: add way to get to bus device klist, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 30/54] driver core: remove owner field from struct bu..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 28/54] kset: convert struct bus_device-&gt;devices to..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 29/54] kset: convert struct bus_device-&gt;drivers to..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 27/54] kset: convert s390 hypervisor kset to use kset..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 26/54] kset: convert /sys/power to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 25/54] kset: convert /sys/module to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 22/54] kset: convert /sys/devices/system to use kset_..., Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 24/54] kset: move /sys/slab to /sys/kernel/slab, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 23/54] kset: convert slub to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:59 pm)
[PATCH 16/54] kset: convert kernel_subsys to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 20/54] kset: convert /sys/devices to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 21/54] kset: convert /sys/hypervisor to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 19/54] kset: convert drivers/base/firmware.c kset_cre..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 17/54] kset: convert drivers/base/bus.c kset_create_a..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 18/54] kset: convert drivers/base/class.c kset_create..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 15/54] kset: remove decl_subsys_name, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 13/54] kset: convert dlm to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 14/54] kset: convert pci hotplug to use kset_create_a..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 12/54] kset: convert gfs2 dlm to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 11/54] kset: convert gfs2 to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 10/54] kset: convert main fs kset to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 09/54] kset: convert ecryptfs to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 06/54] kset: convert securityfs to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 08/54] kset: convert configfs to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 07/54] kset: convert debugfs to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 05/54] kset: convert fuse to use kset_create, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 04/54] kset: add kset_create_and_register function, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 03/54] KOBJECT: remove kobj_set_kset_s as no one is u..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 02/54] KOBJECT: remove struct kobj_type from struct k..., Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)
[PATCH 01/54] ecryptfs: clean up attribute mess, Greg Kroah-Hartman, (Fri Nov 2, 7:58 pm)