cpuidle: Make cpuidle's sysfs directory dynamically allocated
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 12 Jun 2013 13:08:51 +0000 (15:08 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 15 Jul 2013 00:09:47 +0000 (02:09 +0200)
commit728ce22b696f9f1404a74d7b2279a65933553a1b
tree29b441b10a0e67d937b88f82a1b789ae194f4f20
parentf89ae89e2790341587f7132f0552c941342115e9
cpuidle: Make cpuidle's sysfs directory dynamically allocated

The cpuidle sysfs code is designed to have a single instance of per
CPU cpuidle directory.  It is not possible to remove the sysfs entry
and create it again.  This is not a problem with the current code but
future changes will add CPU hotplug support to enable/disable the
device, so it will need to remove the sysfs entry like other
subsystems do.  That won't be possible without this change, because
the kobj is a static object which can't be reused for
kobj_init_and_add().

Add cpuidle_device_kobj to be allocated dynamically when
adding/removing a sysfs entry which is consistent with the other
cpuidle's sysfs entries.

An added benefit is that the sysfs code is now more self-contained
and the includes needed for sysfs can be moved from cpuidle.h
directly into sysfs.c so as to reduce the total number of headers
dragged along with cpuidle.h.

[rjw: Changelog]
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/sysfs.c
include/linux/cpuidle.h