From: Len Bao Date: Sat, 16 May 2026 10:57:34 +0000 (+0000) Subject: gpiolib: Mark gpio_devt, gpiolib_initialized and gpio_stub_drv as __ro_after_init X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b12e12ee4138e30d786eda02223e87044c989bb1;p=thirdparty%2Fkernel%2Flinux.git gpiolib: Mark gpio_devt, gpiolib_initialized and gpio_stub_drv as __ro_after_init The 'gpio_devt' and 'gpiolib_initialized' variables are initialized only during the init phase in the 'gpiolib_dev_init' function and never changed. So, mark these as __ro_after_init. The 'gpio_stub_drv' variable is initialized only in the declaration and never changed. So, this variable could be 'const', but using the 'driver_register' and 'driver_unregister' functions discards the 'const' qualifier. Therefore, as an alternative, mark it as a __ro_after_init. Signed-off-by: Len Bao Reviewed-by: Linus Walleij Link: https://patch.msgid.link/20260516105737.45174-1-len.bao@gmx.us Signed-off-by: Bartosz Golaszewski --- diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 69743d6deeaf8..9643af18e8abd 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -55,7 +55,7 @@ /* Device and char device-related information */ static DEFINE_IDA(gpio_ida); -static dev_t gpio_devt; +static dev_t gpio_devt __ro_after_init; #define GPIO_DEV_MAX 256 /* 256 GPIO chip devices supported */ static int gpio_bus_match(struct device *dev, const struct device_driver *drv) @@ -114,7 +114,7 @@ static int gpiochip_irqchip_init_hw(struct gpio_chip *gc); static int gpiochip_irqchip_init_valid_mask(struct gpio_chip *gc); static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gc); -static bool gpiolib_initialized; +static bool gpiolib_initialized __ro_after_init; const char *gpiod_get_label(struct gpio_desc *desc) { @@ -5362,7 +5362,7 @@ EXPORT_SYMBOL_GPL(gpiod_put_array); * gpio_device of the GPIO chip with the firmware node and then simply * bind it to this stub driver. */ -static struct device_driver gpio_stub_drv = { +static struct device_driver gpio_stub_drv __ro_after_init = { .name = "gpio_stub_drv", .bus = &gpio_bus_type, };