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:
YueHaibing
2021-05-27 22:11:05 +08:00
committed by Thomas Gleixner
parent 11bc021d1f
commit 1782dc87b2
+23 -27
View File
@@ -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,