summaryrefslogtreecommitdiff
path: root/drivers/s390/char/raw3270.c
diff options
context:
space:
mode:
authorRicardo B. Marliere <ricardo@marliere.net>2024-03-05 14:25:24 +0300
committerHeiko Carstens <hca@linux.ibm.com>2024-03-13 11:23:50 +0300
commit69460c5e6be063a85bb144845422776e0ffe8faa (patch)
tree9806e5770eb3343b52421fdb69b7354742e7464f /drivers/s390/char/raw3270.c
parentc8fba0c11f180418c9e4e89353c7f29d7c9e1915 (diff)
downloadlinux-69460c5e6be063a85bb144845422776e0ffe8faa.tar.xz
s390/raw3270: make class3270 constant
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 class3270 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> Link: https://lore.kernel.org/r/20240305-class_cleanup-s390-v1-6-c4ff1ec49ffd@marliere.net Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'drivers/s390/char/raw3270.c')
-rw-r--r--drivers/s390/char/raw3270.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index 899e86e5a689..37173cb0f5f5 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -29,7 +29,9 @@
#include <linux/device.h>
#include <linux/mutex.h>
-struct class *class3270;
+const struct class class3270 = {
+ .name = "3270",
+};
EXPORT_SYMBOL(class3270);
/* The main 3270 data structure. */
@@ -1318,9 +1320,9 @@ static int raw3270_init(void)
rc = ccw_driver_register(&raw3270_ccw_driver);
if (rc)
return rc;
- class3270 = class_create("3270");
- if (IS_ERR(class3270))
- return PTR_ERR(class3270);
+ rc = class_register(&class3270);
+ if (rc)
+ return rc;
/* Create attributes for early (= console) device. */
mutex_lock(&raw3270_mutex);
list_for_each_entry(rp, &raw3270_devices, list) {
@@ -1334,7 +1336,7 @@ static int raw3270_init(void)
static void raw3270_exit(void)
{
ccw_driver_unregister(&raw3270_ccw_driver);
- class_destroy(class3270);
+ class_unregister(&class3270);
}
MODULE_LICENSE("GPL");