All of lore.kernel.org
 help / color / mirror / Atom feed
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>,
	Jack Wang <jinpu.wang@cloud.ionos.com>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>
Subject: [PATCH v2 35/46] scsi: pm8001: Switch to attribute groups
Date: Thu,  7 Oct 2021 14:18:41 -0700	[thread overview]
Message-ID: <20211007211852.256007-36-bvanassche@acm.org> (raw)
In-Reply-To: <20211007211852.256007-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/scsi/pm8001/pm8001_ctl.c  | 64 +++++++++++++++++--------------
 drivers/scsi/pm8001/pm8001_init.c |  2 +-
 drivers/scsi/pm8001/pm8001_sas.h  |  2 +-
 3 files changed, 38 insertions(+), 30 deletions(-)

diff --git a/drivers/scsi/pm8001/pm8001_ctl.c b/drivers/scsi/pm8001/pm8001_ctl.c
index b25e447aa3bd..916a95211b03 100644
--- a/drivers/scsi/pm8001/pm8001_ctl.c
+++ b/drivers/scsi/pm8001/pm8001_ctl.c
@@ -1002,34 +1002,42 @@ static ssize_t ctl_iop1_count_show(struct device *cdev,
 }
 static DEVICE_ATTR_RO(ctl_iop1_count);
 
-struct device_attribute *pm8001_host_attrs[] = {
-	&dev_attr_interface_rev,
-	&dev_attr_controller_fatal_error,
-	&dev_attr_fw_version,
-	&dev_attr_update_fw,
-	&dev_attr_aap_log,
-	&dev_attr_iop_log,
-	&dev_attr_fatal_log,
-	&dev_attr_non_fatal_log,
-	&dev_attr_non_fatal_count,
-	&dev_attr_gsm_log,
-	&dev_attr_max_out_io,
-	&dev_attr_max_devices,
-	&dev_attr_max_sg_list,
-	&dev_attr_sas_spec_support,
-	&dev_attr_logging_level,
-	&dev_attr_event_log_size,
-	&dev_attr_host_sas_address,
-	&dev_attr_bios_version,
-	&dev_attr_ib_log,
-	&dev_attr_ob_log,
-	&dev_attr_ila_version,
-	&dev_attr_inc_fw_ver,
-	&dev_attr_ctl_mpi_state,
-	&dev_attr_ctl_hmi_error,
-	&dev_attr_ctl_raae_count,
-	&dev_attr_ctl_iop0_count,
-	&dev_attr_ctl_iop1_count,
+static struct attribute *pm8001_host_attrs[] = {
+	&dev_attr_interface_rev.attr,
+	&dev_attr_controller_fatal_error.attr,
+	&dev_attr_fw_version.attr,
+	&dev_attr_update_fw.attr,
+	&dev_attr_aap_log.attr,
+	&dev_attr_iop_log.attr,
+	&dev_attr_fatal_log.attr,
+	&dev_attr_non_fatal_log.attr,
+	&dev_attr_non_fatal_count.attr,
+	&dev_attr_gsm_log.attr,
+	&dev_attr_max_out_io.attr,
+	&dev_attr_max_devices.attr,
+	&dev_attr_max_sg_list.attr,
+	&dev_attr_sas_spec_support.attr,
+	&dev_attr_logging_level.attr,
+	&dev_attr_event_log_size.attr,
+	&dev_attr_host_sas_address.attr,
+	&dev_attr_bios_version.attr,
+	&dev_attr_ib_log.attr,
+	&dev_attr_ob_log.attr,
+	&dev_attr_ila_version.attr,
+	&dev_attr_inc_fw_ver.attr,
+	&dev_attr_ctl_mpi_state.attr,
+	&dev_attr_ctl_hmi_error.attr,
+	&dev_attr_ctl_raae_count.attr,
+	&dev_attr_ctl_iop0_count.attr,
+	&dev_attr_ctl_iop1_count.attr,
 	NULL,
 };
 
+static const struct attribute_group pm8001_host_attr_group = {
+	.attrs = pm8001_host_attrs
+};
+
+const struct attribute_group *pm8001_host_attr_groups[] = {
+	&pm8001_host_attr_group,
+	NULL
+};
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index 7082fecf7ce8..6c48bf6ce370 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -107,7 +107,7 @@ static struct scsi_host_template pm8001_sht = {
 #ifdef CONFIG_COMPAT
 	.compat_ioctl		= sas_ioctl,
 #endif
-	.shost_attrs		= pm8001_host_attrs,
+	.shost_groups		= pm8001_host_attr_groups,
 	.track_queue_depth	= 1,
 };
 
diff --git a/drivers/scsi/pm8001/pm8001_sas.h b/drivers/scsi/pm8001/pm8001_sas.h
index 7e999768bfd2..b43dedc5c9d9 100644
--- a/drivers/scsi/pm8001/pm8001_sas.h
+++ b/drivers/scsi/pm8001/pm8001_sas.h
@@ -733,7 +733,7 @@ ssize_t pm8001_get_gsm_dump(struct device *cdev, u32, char *buf);
 int pm80xx_fatal_errors(struct pm8001_hba_info *pm8001_ha);
 void pm8001_free_dev(struct pm8001_device *pm8001_dev);
 /* ctl shared API */
-extern struct device_attribute *pm8001_host_attrs[];
+extern const struct attribute_group *pm8001_host_attr_groups[];
 
 static inline void
 pm8001_ccb_task_free_done(struct pm8001_hba_info *pm8001_ha,

  parent reply	other threads:[~2021-10-07 21:20 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-07 21:18 [PATCH v2 00/46] Register SCSI sysfs attributes earlier Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 01/46] scsi: core: Register " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 02/46] ata: Switch to attribute groups Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 03/46] firewire: sbp2: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 04/46] RDMA/srp: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 05/46] scsi: message: fusion: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 06/46] scsi: zfcp: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 07/46] scsi: 3w-9xxx: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 08/46] scsi: 3w-sas: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 09/46] scsi: 3w-xxxx: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 10/46] scsi: 53c700: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 11/46] scsi: aacraid: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 12/46] scsi: arcmsr: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 13/46] scsi: be2iscsi: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 14/46] scsi: bfa: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 15/46] scsi: bnx2fc: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 16/46] scsi: bnx2i: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 17/46] scsi: csiostor: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 18/46] scsi: cxlflash: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 19/46] scsi: fnic: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 20/46] scsi: hisi_sas: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 21/46] scsi: hpsa: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 22/46] scsi: hptiop: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 23/46] scsi: ibmvscsi: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 24/46] scsi: ibmvfc: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 25/46] scsi: ipr: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 26/46] scsi: isci: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 27/46] scsi: lpfc: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 28/46] scsi: megaraid: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 29/46] scsi: mpt3sas: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 30/46] scsi: mvsas: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 31/46] scsi: myrb: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 32/46] scsi: myrs: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 33/46] scsi: ncr53c8xx: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 34/46] scsi: sym53c500_cs: " Bart Van Assche
2021-10-07 21:18 ` Bart Van Assche [this message]
2021-10-07 21:18 ` [PATCH v2 36/46] scsi: pmcraid: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 37/46] scsi: qedf: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 38/46] scsi: qedi: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 39/46] scsi: qla2xxx: Remove a declaration Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 40/46] scsi: qla2xxx: Switch to attribute groups Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 41/46] scsi: qla4xxx: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 42/46] scsi: smartpqi: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 43/46] scsi: snic: " Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 44/46] scsi: unisys: Remove the shost_attrs member Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 45/46] scsi: usb: Switch to attribute groups Bart Van Assche
2021-10-08  5:39   ` Greg Kroah-Hartman
2021-10-08 20:19     ` Bart Van Assche
2021-10-07 21:18 ` [PATCH v2 46/46] scsi: core: Remove two host template members that are no longer used Bart Van Assche

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=20211007211852.256007-36-bvanassche@acm.org \
    --to=bvanassche@acm.org \
    --cc=jejb@linux.ibm.com \
    --cc=jinpu.wang@cloud.ionos.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.