Input: make input_class constant
authorRicardo B. Marliere <ricardo@marliere.net>
Sun, 10 Mar 2024 05:10:08 +0000 (21:10 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 10 Mar 2024 21:38:04 +0000 (14:38 -0700)
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 input_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>
Link: https://lore.kernel.org/r/20240305-class_cleanup-input-v1-1-0c3d950c25db@marliere.net
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/input.c
include/linux/input.h

index de7884a5be39bc60c1b70fea90eb87e528120d8d..7114854375678a71a007a4b06d0413a1dda275c6 100644 (file)
@@ -1918,7 +1918,7 @@ static char *input_devnode(const struct device *dev, umode_t *mode)
        return kasprintf(GFP_KERNEL, "input/%s", dev_name(dev));
 }
 
-struct class input_class = {
+const struct class input_class = {
        .name           = "input",
        .devnode        = input_devnode,
 };
index de6503c0edb8efcf86e0565a52b81e7a4e378014..c22ac465254bae06b148824651383e2cefb869f3 100644 (file)
@@ -514,7 +514,7 @@ void input_enable_softrepeat(struct input_dev *dev, int delay, int period);
 
 bool input_device_enabled(struct input_dev *dev);
 
-extern struct class input_class;
+extern const struct class input_class;
 
 /**
  * struct ff_device - force-feedback part of an input device