macintosh/adb: make adb_dev_class constant
authorRicardo B. Marliere <ricardo@marliere.net>
Tue, 5 Mar 2024 20:13:48 +0000 (17:13 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 6 Mar 2024 13:13:28 +0000 (00:13 +1100)
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 adb_dev_class structure to be declared
at build time placing it into read-only memory, instead of having to
be dynamically allocated at boot time.

Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: "Ricardo B. Marliere" <ricardo@marliere.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240305-macintosh-v1-1-9c3f4f882045@marliere.net
drivers/macintosh/adb.c

index 057b0221f695a06d26f00baf17fe77ee46da5da2..b0407c5fadb2a94d65347ac05452253f3717a49a 100644 (file)
@@ -74,7 +74,9 @@ static struct adb_driver *adb_driver_list[] = {
        NULL
 };
 
-static struct class *adb_dev_class;
+static const struct class adb_dev_class = {
+       .name = "adb",
+};
 
 static struct adb_driver *adb_controller;
 BLOCKING_NOTIFIER_HEAD(adb_client_list);
@@ -888,10 +890,10 @@ adbdev_init(void)
                return;
        }
 
-       adb_dev_class = class_create("adb");
-       if (IS_ERR(adb_dev_class))
+       if (class_register(&adb_dev_class))
                return;
-       device_create(adb_dev_class, NULL, MKDEV(ADB_MAJOR, 0), NULL, "adb");
+
+       device_create(&adb_dev_class, NULL, MKDEV(ADB_MAJOR, 0), NULL, "adb");
 
        platform_device_register(&adb_pfdev);
        platform_driver_probe(&adb_pfdrv, adb_dummy_probe);