lkml.org 
[lkml]   [2008]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 066/196] kset: convert /sys/devices/system to use kset_create
    Date
    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 | 27 +++++++++++----------------
    1 files changed, 11 insertions(+), 16 deletions(-)

    diff --git a/drivers/base/sys.c b/drivers/base/sys.c
    index 7693c95..29eadc6 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,10 @@ 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_add("system", NULL, &devices_kset->kobj);
    + if (!system_kset)
    + return -ENOMEM;
    + return 0;
    }

    EXPORT_SYMBOL_GPL(sysdev_register);
    --
    1.5.3.8


    \
     
     \ /
      Last update: 2008-01-25 08:41    [W:4.072 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site