cpu/hotplug: Use DEVICE_ATTR_*() macro
Use DEVICE_ATTR_*() helper instead of plain DEVICE_ATTR, which makes the code a bit shorter and easier to read. Signed-off-by: YueHaibing <yuehaibing@huawei.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20210527141105.2312-1-yuehaibing@huawei.com
This commit is contained in:
committed by
Thomas Gleixner
parent
11bc021d1f
commit
1782dc87b2
+23
-27
@@ -2249,18 +2249,17 @@ int cpuhp_smt_enable(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_SYSFS) && defined(CONFIG_HOTPLUG_CPU)
|
#if defined(CONFIG_SYSFS) && defined(CONFIG_HOTPLUG_CPU)
|
||||||
static ssize_t show_cpuhp_state(struct device *dev,
|
static ssize_t state_show(struct device *dev,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
||||||
|
|
||||||
return sprintf(buf, "%d\n", st->state);
|
return sprintf(buf, "%d\n", st->state);
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(state, 0444, show_cpuhp_state, NULL);
|
static DEVICE_ATTR_RO(state);
|
||||||
|
|
||||||
static ssize_t write_cpuhp_target(struct device *dev,
|
static ssize_t target_store(struct device *dev, struct device_attribute *attr,
|
||||||
struct device_attribute *attr,
|
const char *buf, size_t count)
|
||||||
const char *buf, size_t count)
|
|
||||||
{
|
{
|
||||||
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
||||||
struct cpuhp_step *sp;
|
struct cpuhp_step *sp;
|
||||||
@@ -2298,19 +2297,17 @@ out:
|
|||||||
return ret ? ret : count;
|
return ret ? ret : count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t show_cpuhp_target(struct device *dev,
|
static ssize_t target_show(struct device *dev,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
||||||
|
|
||||||
return sprintf(buf, "%d\n", st->target);
|
return sprintf(buf, "%d\n", st->target);
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(target, 0644, show_cpuhp_target, write_cpuhp_target);
|
static DEVICE_ATTR_RW(target);
|
||||||
|
|
||||||
|
static ssize_t fail_store(struct device *dev, struct device_attribute *attr,
|
||||||
static ssize_t write_cpuhp_fail(struct device *dev,
|
const char *buf, size_t count)
|
||||||
struct device_attribute *attr,
|
|
||||||
const char *buf, size_t count)
|
|
||||||
{
|
{
|
||||||
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
||||||
struct cpuhp_step *sp;
|
struct cpuhp_step *sp;
|
||||||
@@ -2359,15 +2356,15 @@ static ssize_t write_cpuhp_fail(struct device *dev,
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t show_cpuhp_fail(struct device *dev,
|
static ssize_t fail_show(struct device *dev,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, dev->id);
|
||||||
|
|
||||||
return sprintf(buf, "%d\n", st->fail);
|
return sprintf(buf, "%d\n", st->fail);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(fail, 0644, show_cpuhp_fail, write_cpuhp_fail);
|
static DEVICE_ATTR_RW(fail);
|
||||||
|
|
||||||
static struct attribute *cpuhp_cpu_attrs[] = {
|
static struct attribute *cpuhp_cpu_attrs[] = {
|
||||||
&dev_attr_state.attr,
|
&dev_attr_state.attr,
|
||||||
@@ -2382,7 +2379,7 @@ static const struct attribute_group cpuhp_cpu_attr_group = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static ssize_t show_cpuhp_states(struct device *dev,
|
static ssize_t states_show(struct device *dev,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
ssize_t cur, res = 0;
|
ssize_t cur, res = 0;
|
||||||
@@ -2401,7 +2398,7 @@ static ssize_t show_cpuhp_states(struct device *dev,
|
|||||||
mutex_unlock(&cpuhp_state_mutex);
|
mutex_unlock(&cpuhp_state_mutex);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(states, 0444, show_cpuhp_states, NULL);
|
static DEVICE_ATTR_RO(states);
|
||||||
|
|
||||||
static struct attribute *cpuhp_cpu_root_attrs[] = {
|
static struct attribute *cpuhp_cpu_root_attrs[] = {
|
||||||
&dev_attr_states.attr,
|
&dev_attr_states.attr,
|
||||||
@@ -2474,28 +2471,27 @@ static const char *smt_states[] = {
|
|||||||
[CPU_SMT_NOT_IMPLEMENTED] = "notimplemented",
|
[CPU_SMT_NOT_IMPLEMENTED] = "notimplemented",
|
||||||
};
|
};
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t control_show(struct device *dev,
|
||||||
show_smt_control(struct device *dev, struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
const char *state = smt_states[cpu_smt_control];
|
const char *state = smt_states[cpu_smt_control];
|
||||||
|
|
||||||
return snprintf(buf, PAGE_SIZE - 2, "%s\n", state);
|
return snprintf(buf, PAGE_SIZE - 2, "%s\n", state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t control_store(struct device *dev, struct device_attribute *attr,
|
||||||
store_smt_control(struct device *dev, struct device_attribute *attr,
|
const char *buf, size_t count)
|
||||||
const char *buf, size_t count)
|
|
||||||
{
|
{
|
||||||
return __store_smt_control(dev, attr, buf, count);
|
return __store_smt_control(dev, attr, buf, count);
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(control, 0644, show_smt_control, store_smt_control);
|
static DEVICE_ATTR_RW(control);
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t active_show(struct device *dev,
|
||||||
show_smt_active(struct device *dev, struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return snprintf(buf, PAGE_SIZE - 2, "%d\n", sched_smt_active());
|
return snprintf(buf, PAGE_SIZE - 2, "%d\n", sched_smt_active());
|
||||||
}
|
}
|
||||||
static DEVICE_ATTR(active, 0444, show_smt_active, NULL);
|
static DEVICE_ATTR_RO(active);
|
||||||
|
|
||||||
static struct attribute *cpuhp_smt_attrs[] = {
|
static struct attribute *cpuhp_smt_attrs[] = {
|
||||||
&dev_attr_control.attr,
|
&dev_attr_control.attr,
|
||||||
|
|||||||
Reference in New Issue
Block a user