kset: convert /sys/power to use kset_create

Dynamically create the kset instead of declaring it statically.  We also
rename power_subsys to power_kset to catch all users of the variable and
we properly export it so that people don't have to guess that it really
is present in the system.

The pseries code is wierd, why is it createing /sys/power if CONFIG_PM
is disabled?  Oh well, stupid big boxes ignoring config options...

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Šī revīzija ir iekļauta:
Greg Kroah-Hartman
2007-11-01 10:39:50 -07:00
vecāks 7405c1e15e
revīzija 039a5dcd2f
6 mainīti faili ar 15 papildinājumiem un 19 dzēšanām

Parādīt failu

@@ -57,7 +57,7 @@ static struct subsys_attribute auto_poweron_attr = {
};
#ifndef CONFIG_PM
decl_subsys(power, NULL);
struct kset *power_kset;
static struct attribute *g[] = {
&auto_poweron_attr.attr,
@@ -70,18 +70,16 @@ static struct attribute_group attr_group = {
static int __init pm_init(void)
{
int error = subsystem_register(&power_subsys);
if (!error)
error = sysfs_create_group(&power_subsys.kobj, &attr_group);
return error;
power_kset = kset_create_and_add("power", NULL, NULL);
if (!power_kset)
return -ENOMEM;
return sysfs_create_group(&power_kset->kobj, &attr_group);
}
core_initcall(pm_init);
#else
extern struct kset power_subsys;
static int __init apo_pm_init(void)
{
return (subsys_create_file(&power_subsys, &auto_poweron_attr));
return (subsys_create_file(power_kset, &auto_poweron_attr));
}
__initcall(apo_pm_init);
#endif