|
@@ -218,16 +218,23 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
|
|
return sprintf(buf, "%u\n", state->_name);\
|
|
return sprintf(buf, "%u\n", state->_name);\
|
|
}
|
|
}
|
|
|
|
|
|
-static ssize_t show_state_name(struct cpuidle_state *state, char *buf)
|
|
|
|
-{
|
|
|
|
- return sprintf(buf, "%s\n", state->name);
|
|
|
|
|
|
+#define define_show_state_str_function(_name) \
|
|
|
|
+static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
|
|
|
|
+{ \
|
|
|
|
+ if (state->_name[0] == '\0')\
|
|
|
|
+ return sprintf(buf, "<null>\n");\
|
|
|
|
+ return sprintf(buf, "%s\n", state->_name);\
|
|
}
|
|
}
|
|
|
|
|
|
define_show_state_function(exit_latency)
|
|
define_show_state_function(exit_latency)
|
|
define_show_state_function(power_usage)
|
|
define_show_state_function(power_usage)
|
|
define_show_state_function(usage)
|
|
define_show_state_function(usage)
|
|
define_show_state_function(time)
|
|
define_show_state_function(time)
|
|
|
|
+define_show_state_str_function(name)
|
|
|
|
+define_show_state_str_function(desc)
|
|
|
|
+
|
|
define_one_state_ro(name, show_state_name);
|
|
define_one_state_ro(name, show_state_name);
|
|
|
|
+define_one_state_ro(desc, show_state_desc);
|
|
define_one_state_ro(latency, show_state_exit_latency);
|
|
define_one_state_ro(latency, show_state_exit_latency);
|
|
define_one_state_ro(power, show_state_power_usage);
|
|
define_one_state_ro(power, show_state_power_usage);
|
|
define_one_state_ro(usage, show_state_usage);
|
|
define_one_state_ro(usage, show_state_usage);
|
|
@@ -235,6 +242,7 @@ define_one_state_ro(time, show_state_time);
|
|
|
|
|
|
static struct attribute *cpuidle_state_default_attrs[] = {
|
|
static struct attribute *cpuidle_state_default_attrs[] = {
|
|
&attr_name.attr,
|
|
&attr_name.attr,
|
|
|
|
+ &attr_desc.attr,
|
|
&attr_latency.attr,
|
|
&attr_latency.attr,
|
|
&attr_power.attr,
|
|
&attr_power.attr,
|
|
&attr_usage.attr,
|
|
&attr_usage.attr,
|