mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] scsi: constify struct class usage
@ 2024-03-02 16:47 Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 1/5] scsi: sg: make sg_sysfs_class constant Ricardo B. Marliere
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

This is a simple and straight forward cleanup series that aims to make the
class structures in scsi constant. This has been possible since 2023 [1].

To: Doug Gilbert <dgilbert@interlog.com>
To: James E.J. Bottomley <jejb@linux.ibm.com>
To: Martin K. Petersen <martin.petersen@oracle.com>
To: Manoj N. Kumar <manoj@linux.ibm.com>
To: Matthew R. Ochs <mrochs@linux.ibm.com>
To: Uma Krishnan <ukrishn@linux.ibm.com>
To: Kai Mäkisara <Kai.Makisara@kolumbus.fi>
Cc: linux-scsi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

[1]: https://lore.kernel.org/all/2023040248-customary-release-4aec@gregkh/

Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
Ricardo B. Marliere (5):
      scsi: sg: make sg_sysfs_class constant
      scsi: pmcraid: make pmcraid_class constant
      scsi: cxlflash: make cxlflash_class constant
      scsi: ch: make ch_sysfs_class constant
      scsi: st: make st_sysfs_class constant

 drivers/scsi/ch.c            | 20 ++++++++++----------
 drivers/scsi/cxlflash/main.c | 17 ++++++++++-------
 drivers/scsi/pmcraid.c       | 20 +++++++++++---------
 drivers/scsi/sg.c            | 18 +++++++++---------
 drivers/scsi/st.c            |  4 ++--
 5 files changed, 42 insertions(+), 37 deletions(-)
---
base-commit: 7b020ab8a0096db229749d6618b64659cf699331
change-id: 20240302-class_cleanup-scsi-f39456b95153

Best regards,
-- 
Ricardo B. Marliere <ricardo@marliere.net>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] scsi: sg: make sg_sysfs_class constant
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
@ 2024-03-02 16:47 ` Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 2/5] scsi: pmcraid: make pmcraid_class constant Ricardo B. Marliere
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the sg_sysfs_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/scsi/sg.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 86210e4dd0d3..6ef6256246df 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1424,7 +1424,9 @@ static const struct file_operations sg_fops = {
 	.llseek = no_llseek,
 };
 
-static struct class *sg_sysfs_class;
+static const struct class sg_sysfs_class = {
+	.name = "scsi_generic"
+};
 
 static int sg_sysfs_valid = 0;
 
@@ -1526,7 +1528,7 @@ sg_add_device(struct device *cl_dev)
 	if (sg_sysfs_valid) {
 		struct device *sg_class_member;
 
-		sg_class_member = device_create(sg_sysfs_class, cl_dev->parent,
+		sg_class_member = device_create(&sg_sysfs_class, cl_dev->parent,
 						MKDEV(SCSI_GENERIC_MAJOR,
 						      sdp->index),
 						sdp, "%s", sdp->name);
@@ -1616,7 +1618,7 @@ sg_remove_device(struct device *cl_dev)
 	read_unlock_irqrestore(&sdp->sfd_lock, iflags);
 
 	sysfs_remove_link(&scsidp->sdev_gendev.kobj, "generic");
-	device_destroy(sg_sysfs_class, MKDEV(SCSI_GENERIC_MAJOR, sdp->index));
+	device_destroy(&sg_sysfs_class, MKDEV(SCSI_GENERIC_MAJOR, sdp->index));
 	cdev_del(sdp->cdev);
 	sdp->cdev = NULL;
 
@@ -1687,11 +1689,9 @@ init_sg(void)
 				    SG_MAX_DEVS, "sg");
 	if (rc)
 		return rc;
-        sg_sysfs_class = class_create("scsi_generic");
-        if ( IS_ERR(sg_sysfs_class) ) {
-		rc = PTR_ERR(sg_sysfs_class);
+	rc = class_register(&sg_sysfs_class);
+	if (rc)
 		goto err_out;
-        }
 	sg_sysfs_valid = 1;
 	rc = scsi_register_interface(&sg_interface);
 	if (0 == rc) {
@@ -1700,7 +1700,7 @@ init_sg(void)
 #endif				/* CONFIG_SCSI_PROC_FS */
 		return 0;
 	}
-	class_destroy(sg_sysfs_class);
+	class_unregister(&sg_sysfs_class);
 	register_sg_sysctls();
 err_out:
 	unregister_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0), SG_MAX_DEVS);
@@ -1715,7 +1715,7 @@ exit_sg(void)
 	remove_proc_subtree("scsi/sg", NULL);
 #endif				/* CONFIG_SCSI_PROC_FS */
 	scsi_unregister_interface(&sg_interface);
-	class_destroy(sg_sysfs_class);
+	class_unregister(&sg_sysfs_class);
 	sg_sysfs_valid = 0;
 	unregister_chrdev_region(MKDEV(SCSI_GENERIC_MAJOR, 0),
 				 SG_MAX_DEVS);

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/5] scsi: pmcraid: make pmcraid_class constant
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 1/5] scsi: sg: make sg_sysfs_class constant Ricardo B. Marliere
@ 2024-03-02 16:47 ` Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 3/5] scsi: cxlflash: make cxlflash_class constant Ricardo B. Marliere
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the pmcraid_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/scsi/pmcraid.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index e8bcc3a88732..0614b7e366b7 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -61,7 +61,9 @@ static atomic_t pmcraid_adapter_count = ATOMIC_INIT(0);
  * pmcraid_minor - minor number(s) to use
  */
 static unsigned int pmcraid_major;
-static struct class *pmcraid_class;
+static const struct class pmcraid_class = {
+	.name = PMCRAID_DEVFILE,
+};
 static DECLARE_BITMAP(pmcraid_minor, PMCRAID_MAX_ADAPTERS);
 
 /*
@@ -4723,7 +4725,7 @@ static int pmcraid_setup_chrdev(struct pmcraid_instance *pinstance)
 	if (error)
 		pmcraid_release_minor(minor);
 	else
-		device_create(pmcraid_class, NULL, MKDEV(pmcraid_major, minor),
+		device_create(&pmcraid_class, NULL, MKDEV(pmcraid_major, minor),
 			      NULL, "%s%u", PMCRAID_DEVFILE, minor);
 	return error;
 }
@@ -4739,7 +4741,7 @@ static int pmcraid_setup_chrdev(struct pmcraid_instance *pinstance)
 static void pmcraid_release_chrdev(struct pmcraid_instance *pinstance)
 {
 	pmcraid_release_minor(MINOR(pinstance->cdev.dev));
-	device_destroy(pmcraid_class,
+	device_destroy(&pmcraid_class,
 		       MKDEV(pmcraid_major, MINOR(pinstance->cdev.dev)));
 	cdev_del(&pinstance->cdev);
 }
@@ -5390,10 +5392,10 @@ static int __init pmcraid_init(void)
 	}
 
 	pmcraid_major = MAJOR(dev);
-	pmcraid_class = class_create(PMCRAID_DEVFILE);
 
-	if (IS_ERR(pmcraid_class)) {
-		error = PTR_ERR(pmcraid_class);
+	error = class_register(&pmcraid_class);
+
+	if (error) {
 		pmcraid_err("failed to register with sysfs, error = %x\n",
 			    error);
 		goto out_unreg_chrdev;
@@ -5402,7 +5404,7 @@ static int __init pmcraid_init(void)
 	error = pmcraid_netlink_init();
 
 	if (error) {
-		class_destroy(pmcraid_class);
+		class_unregister(&pmcraid_class);
 		goto out_unreg_chrdev;
 	}
 
@@ -5413,7 +5415,7 @@ static int __init pmcraid_init(void)
 
 	pmcraid_err("failed to register pmcraid driver, error = %x\n",
 		     error);
-	class_destroy(pmcraid_class);
+	class_unregister(&pmcraid_class);
 	pmcraid_netlink_release();
 
 out_unreg_chrdev:
@@ -5432,7 +5434,7 @@ static void __exit pmcraid_exit(void)
 	unregister_chrdev_region(MKDEV(pmcraid_major, 0),
 				 PMCRAID_MAX_ADAPTERS);
 	pci_unregister_driver(&pmcraid_driver);
-	class_destroy(pmcraid_class);
+	class_unregister(&pmcraid_class);
 }
 
 module_init(pmcraid_init);

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/5] scsi: cxlflash: make cxlflash_class constant
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 1/5] scsi: sg: make sg_sysfs_class constant Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 2/5] scsi: pmcraid: make pmcraid_class constant Ricardo B. Marliere
@ 2024-03-02 16:47 ` Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 4/5] scsi: ch: make ch_sysfs_class constant Ricardo B. Marliere
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the cxlflash_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/scsi/cxlflash/main.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/scsi/cxlflash/main.c b/drivers/scsi/cxlflash/main.c
index debd36974119..e8382cc5cf23 100644
--- a/drivers/scsi/cxlflash/main.c
+++ b/drivers/scsi/cxlflash/main.c
@@ -28,7 +28,12 @@ MODULE_AUTHOR("Manoj N. Kumar <manoj@linux.vnet.ibm.com>");
 MODULE_AUTHOR("Matthew R. Ochs <mrochs@linux.vnet.ibm.com>");
 MODULE_LICENSE("GPL");
 
-static struct class *cxlflash_class;
+static char *cxlflash_devnode(const struct device *dev, umode_t *mode);
+static const struct class cxlflash_class = {
+	.name = "cxlflash",
+	.devnode = cxlflash_devnode,
+};
+
 static u32 cxlflash_major;
 static DECLARE_BITMAP(cxlflash_minor, CXLFLASH_MAX_ADAPTERS);
 
@@ -3602,7 +3607,7 @@ static int init_chrdev(struct cxlflash_cfg *cfg)
 		goto err1;
 	}
 
-	char_dev = device_create(cxlflash_class, NULL, devno,
+	char_dev = device_create(&cxlflash_class, NULL, devno,
 				 NULL, "cxlflash%d", minor);
 	if (IS_ERR(char_dev)) {
 		rc = PTR_ERR(char_dev);
@@ -3880,14 +3885,12 @@ static int cxlflash_class_init(void)
 
 	cxlflash_major = MAJOR(devno);
 
-	cxlflash_class = class_create("cxlflash");
-	if (IS_ERR(cxlflash_class)) {
-		rc = PTR_ERR(cxlflash_class);
+	rc = class_register(&cxlflash_class);
+	if (rc) {
 		pr_err("%s: class_create failed rc=%d\n", __func__, rc);
 		goto err;
 	}
 
-	cxlflash_class->devnode = cxlflash_devnode;
 out:
 	pr_debug("%s: returning rc=%d\n", __func__, rc);
 	return rc;
@@ -3903,7 +3906,7 @@ static void cxlflash_class_exit(void)
 {
 	dev_t devno = MKDEV(cxlflash_major, 0);
 
-	class_destroy(cxlflash_class);
+	class_unregister(&cxlflash_class);
 	unregister_chrdev_region(devno, CXLFLASH_MAX_ADAPTERS);
 }
 

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 4/5] scsi: ch: make ch_sysfs_class constant
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
                   ` (2 preceding siblings ...)
  2024-03-02 16:47 ` [PATCH 3/5] scsi: cxlflash: make cxlflash_class constant Ricardo B. Marliere
@ 2024-03-02 16:47 ` Ricardo B. Marliere
  2024-03-02 16:47 ` [PATCH 5/5] scsi: st: make st_sysfs_class constant Ricardo B. Marliere
  2024-03-10 22:16 ` [PATCH 0/5] scsi: constify struct class usage Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the ch_sysfs_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/scsi/ch.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c
index 1befcd5b2a0f..fa07a6f54003 100644
--- a/drivers/scsi/ch.c
+++ b/drivers/scsi/ch.c
@@ -102,7 +102,9 @@ do {									\
 
 #define MAX_RETRIES   1
 
-static struct class * ch_sysfs_class;
+static const struct class ch_sysfs_class = {
+	.name = "scsi_changer",
+};
 
 typedef struct {
 	struct kref         ref;
@@ -930,7 +932,7 @@ static int ch_probe(struct device *dev)
 	mutex_init(&ch->lock);
 	kref_init(&ch->ref);
 	ch->device = sd;
-	class_dev = device_create(ch_sysfs_class, dev,
+	class_dev = device_create(&ch_sysfs_class, dev,
 				  MKDEV(SCSI_CHANGER_MAJOR, ch->minor), ch,
 				  "s%s", ch->name);
 	if (IS_ERR(class_dev)) {
@@ -955,7 +957,7 @@ static int ch_probe(struct device *dev)
 
 	return 0;
 destroy_dev:
-	device_destroy(ch_sysfs_class, MKDEV(SCSI_CHANGER_MAJOR, ch->minor));
+	device_destroy(&ch_sysfs_class, MKDEV(SCSI_CHANGER_MAJOR, ch->minor));
 put_device:
 	scsi_device_put(sd);
 remove_idr:
@@ -974,7 +976,7 @@ static int ch_remove(struct device *dev)
 	dev_set_drvdata(dev, NULL);
 	spin_unlock(&ch_index_lock);
 
-	device_destroy(ch_sysfs_class, MKDEV(SCSI_CHANGER_MAJOR,ch->minor));
+	device_destroy(&ch_sysfs_class, MKDEV(SCSI_CHANGER_MAJOR, ch->minor));
 	scsi_device_put(ch->device);
 	kref_put(&ch->ref, ch_destroy);
 	return 0;
@@ -1003,11 +1005,9 @@ static int __init init_ch_module(void)
 	int rc;
 
 	printk(KERN_INFO "SCSI Media Changer driver v" VERSION " \n");
-        ch_sysfs_class = class_create("scsi_changer");
-        if (IS_ERR(ch_sysfs_class)) {
-		rc = PTR_ERR(ch_sysfs_class);
+	rc = class_register(&ch_sysfs_class);
+	if (rc)
 		return rc;
-        }
 	rc = register_chrdev(SCSI_CHANGER_MAJOR,"ch",&changer_fops);
 	if (rc < 0) {
 		printk("Unable to get major %d for SCSI-Changer\n",
@@ -1022,7 +1022,7 @@ static int __init init_ch_module(void)
  fail2:
 	unregister_chrdev(SCSI_CHANGER_MAJOR, "ch");
  fail1:
-	class_destroy(ch_sysfs_class);
+	class_unregister(&ch_sysfs_class);
 	return rc;
 }
 
@@ -1030,7 +1030,7 @@ static void __exit exit_ch_module(void)
 {
 	scsi_unregister_driver(&ch_template.gendrv);
 	unregister_chrdev(SCSI_CHANGER_MAJOR, "ch");
-	class_destroy(ch_sysfs_class);
+	class_unregister(&ch_sysfs_class);
 	idr_destroy(&ch_index_idr);
 }
 

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 5/5] scsi: st: make st_sysfs_class constant
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
                   ` (3 preceding siblings ...)
  2024-03-02 16:47 ` [PATCH 4/5] scsi: ch: make ch_sysfs_class constant Ricardo B. Marliere
@ 2024-03-02 16:47 ` Ricardo B. Marliere
  2024-03-10 22:16 ` [PATCH 0/5] scsi: constify struct class usage Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Ricardo B. Marliere @ 2024-03-02 16:47 UTC (permalink / raw)
  To: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara
  Cc: linux-scsi, linux-kernel, Greg Kroah-Hartman, Ricardo B. Marliere

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the st_sysfs_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
---
 drivers/scsi/st.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 338aa8c42968..5a9bcf8e0792 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -87,7 +87,7 @@ static int try_rdio = 1;
 static int try_wdio = 1;
 static int debug_flag;
 
-static struct class st_sysfs_class;
+static const struct class st_sysfs_class;
 static const struct attribute_group *st_dev_groups[];
 static const struct attribute_group *st_drv_groups[];
 
@@ -4438,7 +4438,7 @@ static void scsi_tape_release(struct kref *kref)
 	return;
 }
 
-static struct class st_sysfs_class = {
+static const struct class st_sysfs_class = {
 	.name = "scsi_tape",
 	.dev_groups = st_dev_groups,
 };

-- 
2.43.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/5] scsi: constify struct class usage
  2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
                   ` (4 preceding siblings ...)
  2024-03-02 16:47 ` [PATCH 5/5] scsi: st: make st_sysfs_class constant Ricardo B. Marliere
@ 2024-03-10 22:16 ` Martin K. Petersen
  5 siblings, 0 replies; 7+ messages in thread
From: Martin K. Petersen @ 2024-03-10 22:16 UTC (permalink / raw)
  To: Ricardo B. Marliere
  Cc: Doug Gilbert, James E.J. Bottomley, Martin K. Petersen,
	Manoj N. Kumar, Matthew R. Ochs, Uma Krishnan, Kai Mäkisara,
	linux-scsi, linux-kernel, Greg Kroah-Hartman


Ricardo,

> This is a simple and straight forward cleanup series that aims to make
> the class structures in scsi constant. This has been possible since
> 2023 [1].

Applied to 6.9/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-03-10 22:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-02 16:47 [PATCH 0/5] scsi: constify struct class usage Ricardo B. Marliere
2024-03-02 16:47 ` [PATCH 1/5] scsi: sg: make sg_sysfs_class constant Ricardo B. Marliere
2024-03-02 16:47 ` [PATCH 2/5] scsi: pmcraid: make pmcraid_class constant Ricardo B. Marliere
2024-03-02 16:47 ` [PATCH 3/5] scsi: cxlflash: make cxlflash_class constant Ricardo B. Marliere
2024-03-02 16:47 ` [PATCH 4/5] scsi: ch: make ch_sysfs_class constant Ricardo B. Marliere
2024-03-02 16:47 ` [PATCH 5/5] scsi: st: make st_sysfs_class constant Ricardo B. Marliere
2024-03-10 22:16 ` [PATCH 0/5] scsi: constify struct class usage Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®