From: Mike Snitzer <snit...@redhat.com>

Prep for adding dev_attr in addition to subsys_attr for 'mpath_personality'.

Signed-off-by: Mike Snitzer <snit...@redhat.com>
---
 drivers/nvme/host/core.c | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 3a1c70bd9008..7105980dde3f 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -2082,13 +2082,15 @@ static struct nvme_subsystem 
*__nvme_find_get_subsystem(const char *subsysnqn)
        return NULL;
 }
 
-#define SUBSYS_ATTR_RW(_name)                        \
-       struct device_attribute subsys_attr_##_name = \
-               __ATTR_RW(_name)
+#define SUBSYS_ATTR(_name, _mode, _show, _store)               \
+       struct device_attribute subsys_attr_##_name =           \
+               __ATTR(_name, _mode, _show, _store)
 
-#define SUBSYS_ATTR_RO(_name, _mode, _show)                    \
-       struct device_attribute subsys_attr_##_name = \
-               __ATTR(_name, _mode, _show, NULL)
+#define SUBSYS_ATTR_RO(_name, _show)           \
+       SUBSYS_ATTR(_name, 0444, _show, NULL)
+
+#define SUBSYS_ATTR_RW(_name, _show, _store)   \
+       SUBSYS_ATTR(_name, 0644, _show, _store)
 
 static ssize_t nvme_subsys_show_nqn(struct device *dev,
                                    struct device_attribute *attr,
@@ -2099,7 +2101,7 @@ static ssize_t nvme_subsys_show_nqn(struct device *dev,
 
        return snprintf(buf, PAGE_SIZE, "%s\n", subsys->subnqn);
 }
-static SUBSYS_ATTR_RO(subsysnqn, S_IRUGO, nvme_subsys_show_nqn);
+static SUBSYS_ATTR_RO(subsysnqn, nvme_subsys_show_nqn);
 
 #define nvme_subsys_show_str_function(field)                           \
 static ssize_t subsys_##field##_show(struct device *dev,               \
@@ -2110,17 +2112,16 @@ static ssize_t subsys_##field##_show(struct device 
*dev,                \
        return sprintf(buf, "%.*s\n",                                   \
                       (int)sizeof(subsys->field), subsys->field);      \
 }                                                                      \
-static SUBSYS_ATTR_RO(field, S_IRUGO, subsys_##field##_show);
+static SUBSYS_ATTR_RO(field, subsys_##field##_show);
 
 nvme_subsys_show_str_function(model);
 nvme_subsys_show_str_function(serial);
 nvme_subsys_show_str_function(firmware_rev);
 
-
 #ifdef CONFIG_NVME_MULTIPATH
-static ssize_t mpath_personality_show(struct device *dev,
-                                struct device_attribute *attr,
-                                char *buf)
+static ssize_t nvme_subsys_show_mpath_personality(struct device *dev,
+                                                 struct device_attribute *attr,
+                                                 char *buf)
 {
        struct nvme_subsystem *subsys =
                container_of(dev, struct nvme_subsystem, dev);
@@ -2134,9 +2135,9 @@ static ssize_t mpath_personality_show(struct device *dev,
        return ret;
 }
 
-static ssize_t mpath_personality_store(struct device *dev,
-                                 struct device_attribute *attr,
-                                 const char *buf, size_t count)
+static ssize_t nvme_subsys_store_mpath_personality(struct device *dev,
+                                                  struct device_attribute 
*attr,
+                                                  const char *buf, size_t 
count)
 {
        struct nvme_subsystem *subsys =
                container_of(dev, struct nvme_subsystem, dev);
@@ -2161,7 +2162,8 @@ static ssize_t mpath_personality_store(struct device *dev,
 out:
        return ret ? ret : count;
 }
-static SUBSYS_ATTR_RW(mpath_personality);
+static SUBSYS_ATTR_RW(mpath_personality, nvme_subsys_show_mpath_personality,
+                     nvme_subsys_store_mpath_personality);
 #endif
 
 static struct attribute *nvme_subsys_attrs[] = {
-- 
2.16.3

Reply via email to