The next patchset providing the multiple drivers support
will add to the per cpu sysfs driver.

In order to prepare the place this patch creates a single
entry function when a cpuidle device is added or removed.

Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
---
 drivers/cpuidle/cpuidle.c |    7 ++++---
 drivers/cpuidle/cpuidle.h |    4 ++--
 drivers/cpuidle/sysfs.c   |   26 ++++++++++++++++++++++----
 3 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index 7cf8388..847500b 100644
--- a/drivers/cpuidle/cpuidle.c
+++ b/drivers/cpuidle/cpuidle.c
@@ -331,7 +331,8 @@ int cpuidle_enable_device(struct cpuidle_device *dev)
 
        poll_idle_init(drv);
 
-       if ((ret = cpuidle_add_state_sysfs(dev)))
+       ret = cpuidle_add_device_sysfs(dev);
+       if (ret)
                return ret;
 
        if (cpuidle_curr_governor->enable &&
@@ -352,7 +353,7 @@ int cpuidle_enable_device(struct cpuidle_device *dev)
        return 0;
 
 fail_sysfs:
-       cpuidle_remove_state_sysfs(dev);
+       cpuidle_remove_device_sysfs(dev);
 
        return ret;
 }
@@ -378,7 +379,7 @@ void cpuidle_disable_device(struct cpuidle_device *dev)
        if (cpuidle_curr_governor->disable)
                cpuidle_curr_governor->disable(cpuidle_get_driver(), dev);
 
-       cpuidle_remove_state_sysfs(dev);
+       cpuidle_remove_device_sysfs(dev);
        enabled_devices--;
 }
 
diff --git a/drivers/cpuidle/cpuidle.h b/drivers/cpuidle/cpuidle.h
index a5bbd1c..1ba1168 100644
--- a/drivers/cpuidle/cpuidle.h
+++ b/drivers/cpuidle/cpuidle.h
@@ -25,8 +25,8 @@ extern int cpuidle_switch_governor(struct cpuidle_governor 
*gov);
 /* sysfs */
 extern int cpuidle_add_interface(struct device *dev);
 extern void cpuidle_remove_interface(struct device *dev);
-extern int cpuidle_add_state_sysfs(struct cpuidle_device *device);
-extern void cpuidle_remove_state_sysfs(struct cpuidle_device *device);
+extern int cpuidle_add_device_sysfs(struct cpuidle_device *device);
+extern void cpuidle_remove_device_sysfs(struct cpuidle_device *device);
 extern int cpuidle_add_sysfs(struct cpuidle_device *dev);
 extern void cpuidle_remove_sysfs(struct cpuidle_device *dev);
 
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index ed87399..c25e26e 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers/cpuidle/sysfs.c
@@ -356,10 +356,10 @@ static inline void cpuidle_free_state_kobj(struct 
cpuidle_device *device, int i)
 }
 
 /**
- * cpuidle_add_driver_sysfs - adds driver-specific sysfs attributes
+ * cpuidle_add_state_sysfs - adds cpuidle states sysfs attributes
  * @device: the target device
  */
-int cpuidle_add_state_sysfs(struct cpuidle_device *device)
+static int cpuidle_add_state_sysfs(struct cpuidle_device *device)
 {
        int i, ret = -ENOMEM;
        struct cpuidle_state_kobj *kobj;
@@ -393,10 +393,10 @@ error_state:
 }
 
 /**
- * cpuidle_remove_driver_sysfs - removes driver-specific sysfs attributes
+ * cpuidle_remove_driver_sysfs - removes the cpuidle states sysfs attributes
  * @device: the target device
  */
-void cpuidle_remove_state_sysfs(struct cpuidle_device *device)
+static void cpuidle_remove_state_sysfs(struct cpuidle_device *device)
 {
        int i;
 
@@ -405,6 +405,24 @@ void cpuidle_remove_state_sysfs(struct cpuidle_device 
*device)
 }
 
 /**
+ * cpuidle_add_device_sysfs - adds device specific sysfs attributes
+ * @device: the target device
+ */
+int cpuidle_add_device_sysfs(struct cpuidle_device *device)
+{
+       return cpuidle_add_state_sysfs(device);
+}
+
+/**
+ * cpuidle_remove_device_sysfs : removes device specific sysfs attributes
+ * @device : the target device
+ */
+void cpuidle_remove_device_sysfs(struct cpuidle_device *device)
+{
+       cpuidle_remove_state_sysfs(device);
+}
+
+/**
  * cpuidle_add_sysfs - creates a sysfs instance for the target device
  * @dev: the target device
  */
-- 
1.7.5.4


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to