2022-03-06 09:37:38

by Lianjie Zhang

[permalink] [raw]
Subject: [PATCH] bonding: helper macro __ATTR_RO to make code more clear

Signed-off-by: Lianjie Zhang <[email protected]>

diff --git a/drivers/net/bonding/bond_sysfs_slave.c b/drivers/net/bonding/bond_sysfs_slave.c
index 6a6cdd0bb258..69b0a3751dff 100644
--- a/drivers/net/bonding/bond_sysfs_slave.c
+++ b/drivers/net/bonding/bond_sysfs_slave.c
@@ -15,14 +15,8 @@ struct slave_attribute {
ssize_t (*show)(struct slave *, char *);
};

-#define SLAVE_ATTR(_name, _mode, _show) \
-const struct slave_attribute slave_attr_##_name = { \
- .attr = {.name = __stringify(_name), \
- .mode = _mode }, \
- .show = _show, \
-};
#define SLAVE_ATTR_RO(_name) \
- SLAVE_ATTR(_name, 0444, _name##_show)
+const struct slave_attribute slave_attr_##_name = __ATTR_RO(_name)

static ssize_t state_show(struct slave *slave, char *buf)
{
--
2.20.1




2022-03-07 09:33:48

by Jay Vosburgh

[permalink] [raw]
Subject: Re: [PATCH] bonding: helper macro __ATTR_RO to make code more clear

Lianjie Zhang <[email protected]> wrote:

>Signed-off-by: Lianjie Zhang <[email protected]>

I'm ok with the change, but this needs a sentence or two in the
commit log message to explain what's going on, so that future readers of
the log don't have to read the diff to figure out why this change makes
sense.

-J

>diff --git a/drivers/net/bonding/bond_sysfs_slave.c b/drivers/net/bonding/bond_sysfs_slave.c
>index 6a6cdd0bb258..69b0a3751dff 100644
>--- a/drivers/net/bonding/bond_sysfs_slave.c
>+++ b/drivers/net/bonding/bond_sysfs_slave.c
>@@ -15,14 +15,8 @@ struct slave_attribute {
> ssize_t (*show)(struct slave *, char *);
> };
>
>-#define SLAVE_ATTR(_name, _mode, _show) \
>-const struct slave_attribute slave_attr_##_name = { \
>- .attr = {.name = __stringify(_name), \
>- .mode = _mode }, \
>- .show = _show, \
>-};
> #define SLAVE_ATTR_RO(_name) \
>- SLAVE_ATTR(_name, 0444, _name##_show)
>+const struct slave_attribute slave_attr_##_name = __ATTR_RO(_name)
>
> static ssize_t state_show(struct slave *slave, char *buf)
> {
>--
>2.20.1

---
-Jay Vosburgh, [email protected]