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>,
Doug Ledford <dledford@redhat.com>,
Jason Gunthorpe <jgg@ziepe.ca>
Subject: [PATCH v4 04/46] RDMA/srp: Switch to attribute groups
Date: Tue, 12 Oct 2021 16:35:16 -0700 [thread overview]
Message-ID: <20211012233558.4066756-5-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/infiniband/ulp/srp/ib_srp.c | 51 +++++++++++++++++------------
1 file changed, 30 insertions(+), 21 deletions(-)
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 71eda91e810c..089e09bfe002 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1026,10 +1026,17 @@ static int srp_init_cmd_priv(struct Scsi_Host *shost, struct scsi_cmnd *cmd)
*/
static void srp_del_scsi_host_attr(struct Scsi_Host *shost)
{
- struct device_attribute **attr;
+ const struct attribute_group **g;
+ struct attribute **attr;
- for (attr = shost->hostt->shost_attrs; attr && *attr; ++attr)
- device_remove_file(&shost->shost_dev, *attr);
+ for (g = shost->hostt->shost_groups; *g; ++g) {
+ for (attr = (*g)->attrs; *attr; ++attr) {
+ struct device_attribute *dev_attr =
+ container_of(*attr, typeof(*dev_attr), attr);
+
+ device_remove_file(&shost->shost_dev, dev_attr);
+ }
+ }
}
static void srp_remove_target(struct srp_target_port *target)
@@ -3050,26 +3057,28 @@ static ssize_t allow_ext_sg_show(struct device *dev,
static DEVICE_ATTR_RO(allow_ext_sg);
-static struct device_attribute *srp_host_attrs[] = {
- &dev_attr_id_ext,
- &dev_attr_ioc_guid,
- &dev_attr_service_id,
- &dev_attr_pkey,
- &dev_attr_sgid,
- &dev_attr_dgid,
- &dev_attr_orig_dgid,
- &dev_attr_req_lim,
- &dev_attr_zero_req_lim,
- &dev_attr_local_ib_port,
- &dev_attr_local_ib_device,
- &dev_attr_ch_count,
- &dev_attr_comp_vector,
- &dev_attr_tl_retry_count,
- &dev_attr_cmd_sg_entries,
- &dev_attr_allow_ext_sg,
+static struct attribute *srp_host_attrs[] = {
+ &dev_attr_id_ext.attr,
+ &dev_attr_ioc_guid.attr,
+ &dev_attr_service_id.attr,
+ &dev_attr_pkey.attr,
+ &dev_attr_sgid.attr,
+ &dev_attr_dgid.attr,
+ &dev_attr_orig_dgid.attr,
+ &dev_attr_req_lim.attr,
+ &dev_attr_zero_req_lim.attr,
+ &dev_attr_local_ib_port.attr,
+ &dev_attr_local_ib_device.attr,
+ &dev_attr_ch_count.attr,
+ &dev_attr_comp_vector.attr,
+ &dev_attr_tl_retry_count.attr,
+ &dev_attr_cmd_sg_entries.attr,
+ &dev_attr_allow_ext_sg.attr,
NULL
};
+ATTRIBUTE_GROUPS(srp_host);
+
static struct scsi_host_template srp_template = {
.module = THIS_MODULE,
.name = "InfiniBand SRP initiator",
@@ -3090,7 +3099,7 @@ static struct scsi_host_template srp_template = {
.can_queue = SRP_DEFAULT_CMD_SQ_SIZE,
.this_id = -1,
.cmd_per_lun = SRP_DEFAULT_CMD_SQ_SIZE,
- .shost_attrs = srp_host_attrs,
+ .shost_groups = srp_host_groups,
.track_queue_depth = 1,
.cmd_size = sizeof(struct srp_request),
};
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 ` Bart Van Assche [this message]
2021-10-12 23:35 ` [PATCH v4 05/46] scsi: message: fusion: " Bart Van Assche
2021-10-12 23:35 ` [PATCH v4 06/46] scsi: zfcp: " Bart Van Assche
2021-10-13 17:34 ` 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-5-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=dledford@redhat.com \
--cc=jgg@ziepe.ca \
--cc=linux-scsi@vger.kernel.org \
--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).