From: Christophe JAILLET Date: Sat, 21 Jun 2025 10:28:38 +0000 (+0200) Subject: mfd: rohm-bd71828: Constify some structures X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86b0fc4b2b45a78cbdc11873bc596d140eff390c;p=thirdparty%2Flinux.git mfd: rohm-bd71828: Constify some structures 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 Reviewed-by: Matti Vaittinen Link: https://lore.kernel.org/r/037e28e587ae899da9acdb45c606d75ec61f858b.1750501700.git.christophe.jaillet@wanadoo.fr Signed-off-by: Lee Jones --- diff --git a/drivers/mfd/rohm-bd71828.c b/drivers/mfd/rohm-bd71828.c index 47e574a570776..a14b7aa69c3c6 100644 --- a/drivers/mfd/rohm-bd71828.c +++ b/drivers/mfd/rohm-bd71828.c @@ -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;