• Daniel Lezcano's avatar
    cpuidle: Make cpuidle's sysfs directory dynamically allocated · 728ce22b
    Daniel Lezcano authored
    
    
    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: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    728ce22b