From: Bart Van Assche <bvanassche@acm.org>
To: "Martin K . Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>,
Steffen Maier <maier@linux.ibm.com>,
Benjamin Block <bblock@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>
Subject: [PATCH v4 06/46] scsi: zfcp: Switch to attribute groups
Date: Tue, 12 Oct 2021 16:35:18 -0700 [thread overview]
Message-ID: <20211012233558.4066756-7-bvanassche@acm.org> (raw)
In-Reply-To: <20211012233558.4066756-1-bvanassche@acm.org>
struct device supports attribute groups directly but does not support
struct device_attribute directly. Hence switch to attribute groups.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/s390/scsi/zfcp_ext.h | 4 +--
drivers/s390/scsi/zfcp_scsi.c | 4 +--
drivers/s390/scsi/zfcp_sysfs.c | 52 +++++++++++++++++++++++-----------
3 files changed, 39 insertions(+), 21 deletions(-)
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index 6bc96d70254d..c302cbb18a55 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -184,8 +184,8 @@ extern const struct attribute_group *zfcp_sysfs_adapter_attr_groups[];
extern const struct attribute_group *zfcp_unit_attr_groups[];
extern const struct attribute_group *zfcp_port_attr_groups[];
extern struct mutex zfcp_sysfs_port_units_mutex;
-extern struct device_attribute *zfcp_sysfs_sdev_attrs[];
-extern struct device_attribute *zfcp_sysfs_shost_attrs[];
+extern const struct attribute_group *zfcp_sysfs_sdev_attr_groups[];
+extern const struct attribute_group *zfcp_sysfs_shost_attr_groups[];
bool zfcp_sysfs_port_is_removing(const struct zfcp_port *const port);
/* zfcp_unit.c */
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c
index 9da9b2b2a580..709fea7c1380 100644
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -444,8 +444,8 @@ static struct scsi_host_template zfcp_scsi_host_template = {
/* report size limit per scatter-gather segment */
.max_segment_size = ZFCP_QDIO_SBALE_LEN,
.dma_boundary = ZFCP_QDIO_SBALE_LEN - 1,
- .shost_attrs = zfcp_sysfs_shost_attrs,
- .sdev_attrs = zfcp_sysfs_sdev_attrs,
+ .shost_groups = zfcp_sysfs_shost_attr_groups,
+ .sdev_groups = zfcp_sysfs_sdev_attr_groups,
.track_queue_depth = 1,
.supported_mode = MODE_INITIATOR,
};
diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c
index b8cd75a872ee..dbf3e50444e6 100644
--- a/drivers/s390/scsi/zfcp_sysfs.c
+++ b/drivers/s390/scsi/zfcp_sysfs.c
@@ -672,17 +672,26 @@ ZFCP_DEFINE_SCSI_ATTR(zfcp_in_recovery, "%d\n",
ZFCP_DEFINE_SCSI_ATTR(zfcp_status, "0x%08x\n",
atomic_read(&zfcp_sdev->status));
-struct device_attribute *zfcp_sysfs_sdev_attrs[] = {
- &dev_attr_fcp_lun,
- &dev_attr_wwpn,
- &dev_attr_hba_id,
- &dev_attr_read_latency,
- &dev_attr_write_latency,
- &dev_attr_cmd_latency,
- &dev_attr_zfcp_access_denied,
- &dev_attr_zfcp_failed,
- &dev_attr_zfcp_in_recovery,
- &dev_attr_zfcp_status,
+struct attribute *zfcp_sdev_attrs[] = {
+ &dev_attr_fcp_lun.attr,
+ &dev_attr_wwpn.attr,
+ &dev_attr_hba_id.attr,
+ &dev_attr_read_latency.attr,
+ &dev_attr_write_latency.attr,
+ &dev_attr_cmd_latency.attr,
+ &dev_attr_zfcp_access_denied.attr,
+ &dev_attr_zfcp_failed.attr,
+ &dev_attr_zfcp_in_recovery.attr,
+ &dev_attr_zfcp_status.attr,
+ NULL
+};
+
+static const struct attribute_group zfcp_sysfs_sdev_attr_group = {
+ .attrs = zfcp_sdev_attrs
+};
+
+const struct attribute_group *zfcp_sysfs_sdev_attr_groups[] = {
+ &zfcp_sysfs_sdev_attr_group,
NULL
};
@@ -783,12 +792,21 @@ static ssize_t zfcp_sysfs_adapter_q_full_show(struct device *dev,
}
static DEVICE_ATTR(queue_full, S_IRUGO, zfcp_sysfs_adapter_q_full_show, NULL);
-struct device_attribute *zfcp_sysfs_shost_attrs[] = {
- &dev_attr_utilization,
- &dev_attr_requests,
- &dev_attr_megabytes,
- &dev_attr_seconds_active,
- &dev_attr_queue_full,
+static struct attribute *zfcp_sysfs_shost_attrs[] = {
+ &dev_attr_utilization.attr,
+ &dev_attr_requests.attr,
+ &dev_attr_megabytes.attr,
+ &dev_attr_seconds_active.attr,
+ &dev_attr_queue_full.attr,
+ NULL
+};
+
+static const struct attribute_group zfcp_sysfs_shost_attr_group = {
+ .attrs = zfcp_sysfs_shost_attrs
+};
+
+const struct attribute_group *zfcp_sysfs_shost_attr_groups[] = {
+ &zfcp_sysfs_shost_attr_group,
NULL
};
next prev parent reply other threads:[~2021-10-12 23:36 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-12 23:35 [PATCH v4 00/46] Register SCSI sysfs attributes earlier Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 01/46] scsi: core: Register " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 02/46] ata: Switch to attribute groups Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 03/46] firewire: sbp2: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 04/46] RDMA/srp: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 05/46] scsi: message: fusion: " Bart Van Assche
2021-10-12 23:35 ` Bart Van Assche [this message]
2021-10-13 17:34 ` [PATCH v4 06/46] scsi: zfcp: " Benjamin Block
2021-10-12 23:35 ` [PATCH v4 07/46] scsi: 3w-9xxx: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 08/46] scsi: 3w-sas: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 09/46] scsi: 3w-xxxx: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 10/46] scsi: 53c700: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 11/46] scsi: aacraid: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 12/46] scsi: arcmsr: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 13/46] scsi: be2iscsi: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 14/46] scsi: bfa: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 15/46] scsi: bnx2fc: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 16/46] scsi: bnx2i: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 17/46] scsi: csiostor: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 18/46] scsi: cxlflash: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 19/46] scsi: fnic: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 20/46] scsi: hisi_sas: " Bart Van Assche
2021-10-13 8:22 ` John Garry
2021-10-12 23:35 ` [PATCH v4 21/46] scsi: hpsa: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 22/46] scsi: hptiop: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 23/46] scsi: ibmvscsi: " Bart Van Assche
2021-10-14 18:30 ` Tyrel Datwyler
2021-10-12 23:35 ` [PATCH v4 24/46] scsi: ibmvfc: " Bart Van Assche
2021-10-14 18:31 ` Tyrel Datwyler
2021-10-12 23:35 ` [PATCH v4 25/46] scsi: ipr: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 26/46] scsi: isci: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 27/46] scsi: lpfc: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 28/46] scsi: megaraid: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 29/46] scsi: mpt3sas: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 30/46] scsi: mvsas: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 31/46] scsi: myrb: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 32/46] scsi: myrs: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 33/46] scsi: ncr53c8xx: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 34/46] scsi: sym53c500_cs: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 35/46] scsi: pm8001: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 36/46] scsi: pmcraid: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 37/46] scsi: qedf: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 38/46] scsi: qedi: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 39/46] scsi: qla2xxx: Remove a declaration Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 40/46] scsi: qla2xxx: Switch to attribute groups Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 41/46] scsi: qla4xxx: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 42/46] scsi: smartpqi: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 43/46] scsi: snic: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 44/46] scsi: unisys: Remove the shost_attrs member Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 45/46] scsi: usb: Switch to attribute groups Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 46/46] scsi: core: Remove two host template members that are no longer used Bart Van Assche
2021-10-17 1:48 ` [PATCH v4 00/46] Register SCSI sysfs attributes earlier Martin K. Petersen
2021-10-21 3:42 ` Martin K. Petersen
2021-10-23 20:54 ` Missing driver-specific sysfs attributes of scsi_device [was: Re: [PATCH v4 00/46] Register SCSI sysfs attributes earlier] Steffen Maier
2021-10-24 0:39 ` Steffen Maier
2021-10-24 2:55 ` Bart Van Assche
2021-10-24 11:18 ` [PATCH] scsi: core: Fix early registration of sysfs attributes for scsi_device Steffen Maier
2021-10-24 21:25 ` Bart Van Assche
2021-10-24 22:16 ` [PATCH v2] " Steffen Maier
2021-10-25 9:23 ` Julian Wiedmann
2021-10-25 16:00 ` Bart Van Assche
2021-10-26 1:42 ` [PATCH v3] " Steffen Maier
2021-10-26 10:00 ` Benjamin Block
2021-10-26 21:48 ` Bart Van Assche
2021-10-29 17:55 ` Benjamin Block
2021-10-26 18:31 ` Bart Van Assche
2021-10-29 17:56 ` Benjamin Block
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211012233558.4066756-7-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=bblock@linux.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=maier@linux.ibm.com \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).