]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mfd: rohm-bd71828: Constify some structures
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 21 Jun 2025 10:28:38 +0000 (12:28 +0200)
committerLee Jones <lee@kernel.org>
Thu, 24 Jul 2025 10:27:06 +0000 (11:27 +0100)
Several structures are not modified in this driver. Constifying them moves
some data to a read-only section, so increases overall security, especially
when the structure holds some function pointers. This is the case for
'gpio_keys_platform_data' and 'mfd_cell'.

On a x86_64, with allmodconfig:
Before:
======
   text    data     bss     dec     hex filename
  18321   13952     192   32465    7ed1 drivers/mfd/rohm-bd71828.o

After:
=====
   text    data     bss     dec     hex filename
  22897    9376     192   32465    7ed1 drivers/mfd/rohm-bd71828.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/037e28e587ae899da9acdb45c606d75ec61f858b.1750501700.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/rohm-bd71828.c

index 47e574a57077633a38b774ee6e56f549c8cbf125..a14b7aa69c3c61d51f2aeeae9afdf222310d63e3 100644 (file)
@@ -25,7 +25,7 @@ static struct gpio_keys_button button = {
        .type = EV_KEY,
 };
 
-static struct gpio_keys_platform_data bd71828_powerkey_data = {
+static const struct gpio_keys_platform_data bd71828_powerkey_data = {
        .buttons = &button,
        .nbuttons = 1,
        .name = "bd71828-pwrkey",
@@ -43,7 +43,7 @@ static const struct resource bd71828_rtc_irqs[] = {
        DEFINE_RES_IRQ_NAMED(BD71828_INT_RTC2, "bd70528-rtc-alm-2"),
 };
 
-static struct resource bd71815_power_irqs[] = {
+static const struct resource bd71815_power_irqs[] = {
        DEFINE_RES_IRQ_NAMED(BD71815_INT_DCIN_RMV, "bd71815-dcin-rmv"),
        DEFINE_RES_IRQ_NAMED(BD71815_INT_CLPS_OUT, "bd71815-clps-out"),
        DEFINE_RES_IRQ_NAMED(BD71815_INT_CLPS_IN, "bd71815-clps-in"),
@@ -93,7 +93,7 @@ static struct resource bd71815_power_irqs[] = {
        DEFINE_RES_IRQ_NAMED(BD71815_INT_TEMP_BAT_HI_DET, "bd71815-bat-hi-det"),
 };
 
-static struct mfd_cell bd71815_mfd_cells[] = {
+static const struct mfd_cell bd71815_mfd_cells[] = {
        { .name = "bd71815-pmic", },
        { .name = "bd71815-clk", },
        { .name = "bd71815-gpo", },
@@ -109,7 +109,7 @@ static struct mfd_cell bd71815_mfd_cells[] = {
        },
 };
 
-static struct mfd_cell bd71828_mfd_cells[] = {
+static const struct mfd_cell bd71828_mfd_cells[] = {
        { .name = "bd71828-pmic", },
        { .name = "bd71828-gpio", },
        { .name = "bd71828-led", .of_compatible = "rohm,bd71828-leds" },
@@ -493,7 +493,7 @@ static int bd71828_i2c_probe(struct i2c_client *i2c)
        const struct regmap_config *regmap_config;
        const struct regmap_irq_chip *irqchip;
        unsigned int chip_type;
-       struct mfd_cell *mfd;
+       const struct mfd_cell *mfd;
        int cells;
        int button_irq;
        int clkmode_reg;