* [PATCH 0/8] drivers/mfd: Constify static struct resource @ 2020-09-22 19:26 Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn ` (7 more replies) 0 siblings, 8 replies; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones Cc: linux-kernel, Rikard Falkeborn, support.opensource, Andy Shevchenko, Tony Lindgren, linux-omap, patches, Milo Kim, Maxime Coquelin, Alexandre Torgue, linux-stm32, linux-arm-kernel, Maxime Ripard, Chen-Yu Tsai Constify a number of static struct resource to allow the compiler to put them in read-only memory. Typically, the only usage of these is to assign their address to the resources field in the mfd_cell struct, which is a const pointer (a few drivers also read the value of the start field). I went through the rest of the static instances of struct resource in drivers/mfd and all of them are either directly modified by the driver or has its address passed to mfd_add_devices() which takes a non-const pointer. The series is compile-tested only. I split this into patches per maintainer, I'll happily split it (or squash it) some other way if that's preferable. Rikard Falkeborn (8): mfd: da: Constify static struct resource mfd: intel: Constify static struct resource mfd: Constify static struct resource in OMAP2+ drivers mfd: wm: Constify static struct resource mfd: lp8788: Constify static struct resource mfd: stmpe: Constify static struct resource mfd: sun4i-gpadc: Constify static struct resource mfd: Constify static struct resource drivers/mfd/88pm800.c | 2 +- drivers/mfd/88pm860x-core.c | 50 ++++++++++++------------ drivers/mfd/da9055-core.c | 8 ++-- drivers/mfd/da9062-core.c | 24 ++++++------ drivers/mfd/da9063-core.c | 8 ++-- drivers/mfd/da9150-core.c | 6 +-- drivers/mfd/hi655x-pmic.c | 2 +- drivers/mfd/intel_msic.c | 18 ++++----- drivers/mfd/intel_quark_i2c_gpio.c | 4 +- drivers/mfd/intel_soc_pmic_bxtwc.c | 14 +++---- drivers/mfd/intel_soc_pmic_chtdc_ti.c | 10 ++--- drivers/mfd/intel_soc_pmic_chtwc.c | 4 +- drivers/mfd/intel_soc_pmic_crc.c | 10 ++--- drivers/mfd/ioc3.c | 16 ++++---- drivers/mfd/lp8788.c | 4 +- drivers/mfd/max8925-core.c | 56 +++++++++++++-------------- drivers/mfd/rdc321x-southbridge.c | 4 +- drivers/mfd/retu-mfd.c | 4 +- drivers/mfd/rk808.c | 8 ++-- drivers/mfd/stmpe.c | 10 ++--- drivers/mfd/sun4i-gpadc.c | 2 +- drivers/mfd/tc3589x.c | 4 +- drivers/mfd/tc6387xb.c | 2 +- drivers/mfd/tc6393xb.c | 6 +-- drivers/mfd/tps65090.c | 2 +- drivers/mfd/tps65217.c | 4 +- drivers/mfd/tps6586x.c | 2 +- drivers/mfd/tps65910.c | 2 +- drivers/mfd/tps80031.c | 2 +- drivers/mfd/wm831x-core.c | 52 ++++++++++++------------- drivers/mfd/wm8994-core.c | 4 +- 31 files changed, 172 insertions(+), 172 deletions(-) -- 2.28.0 ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 1/8] mfd: da: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-09-24 8:51 ` Adam Thomson 2020-11-04 10:56 ` Lee Jones 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn ` (6 subsequent siblings) 7 siblings, 2 replies; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn, support.opensource Constify a number of static struct resource. The only usage of the structs are to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/da9055-core.c | 8 ++++---- drivers/mfd/da9062-core.c | 24 ++++++++++++------------ drivers/mfd/da9063-core.c | 8 ++++---- drivers/mfd/da9150-core.c | 6 +++--- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/drivers/mfd/da9055-core.c b/drivers/mfd/da9055-core.c index 6d0af8486269..d074d213e661 100644 --- a/drivers/mfd/da9055-core.c +++ b/drivers/mfd/da9055-core.c @@ -254,14 +254,14 @@ const struct regmap_config da9055_regmap_config = { }; EXPORT_SYMBOL_GPL(da9055_regmap_config); -static struct resource da9055_onkey_resource = { +static const struct resource da9055_onkey_resource = { .name = "ONKEY", .start = DA9055_IRQ_NONKEY, .end = DA9055_IRQ_NONKEY, .flags = IORESOURCE_IRQ, }; -static struct resource da9055_rtc_resource[] = { +static const struct resource da9055_rtc_resource[] = { { .name = "ALM", .start = DA9055_IRQ_ALARM, @@ -276,14 +276,14 @@ static struct resource da9055_rtc_resource[] = { }, }; -static struct resource da9055_hwmon_resource = { +static const struct resource da9055_hwmon_resource = { .name = "HWMON", .start = DA9055_IRQ_HWMON, .end = DA9055_IRQ_HWMON, .flags = IORESOURCE_IRQ, }; -static struct resource da9055_ld05_6_resource = { +static const struct resource da9055_ld05_6_resource = { .name = "REGULATOR", .start = DA9055_IRQ_REGULATOR, .end = DA9055_IRQ_REGULATOR, diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c index fc30726e2e27..9583a98d3aae 100644 --- a/drivers/mfd/da9062-core.c +++ b/drivers/mfd/da9062-core.c @@ -160,23 +160,23 @@ static struct regmap_irq_chip da9062_irq_chip = { .ack_base = DA9062AA_EVENT_A, }; -static struct resource da9061_core_resources[] = { +static const struct resource da9061_core_resources[] = { DEFINE_RES_IRQ_NAMED(DA9061_IRQ_VDD_WARN, "VDD_WARN"), }; -static struct resource da9061_regulators_resources[] = { +static const struct resource da9061_regulators_resources[] = { DEFINE_RES_IRQ_NAMED(DA9061_IRQ_LDO_LIM, "LDO_LIM"), }; -static struct resource da9061_thermal_resources[] = { +static const struct resource da9061_thermal_resources[] = { DEFINE_RES_IRQ_NAMED(DA9061_IRQ_TEMP, "THERMAL"), }; -static struct resource da9061_wdt_resources[] = { +static const struct resource da9061_wdt_resources[] = { DEFINE_RES_IRQ_NAMED(DA9061_IRQ_WDG_WARN, "WD_WARN"), }; -static struct resource da9061_onkey_resources[] = { +static const struct resource da9061_onkey_resources[] = { DEFINE_RES_IRQ_NAMED(DA9061_IRQ_ONKEY, "ONKEY"), }; @@ -211,32 +211,32 @@ static const struct mfd_cell da9061_devs[] = { }, }; -static struct resource da9062_core_resources[] = { +static const struct resource da9062_core_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_VDD_WARN, 1, "VDD_WARN", IORESOURCE_IRQ), }; -static struct resource da9062_regulators_resources[] = { +static const struct resource da9062_regulators_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_LDO_LIM, 1, "LDO_LIM", IORESOURCE_IRQ), }; -static struct resource da9062_thermal_resources[] = { +static const struct resource da9062_thermal_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_TEMP, 1, "THERMAL", IORESOURCE_IRQ), }; -static struct resource da9062_wdt_resources[] = { +static const struct resource da9062_wdt_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_WDG_WARN, 1, "WD_WARN", IORESOURCE_IRQ), }; -static struct resource da9062_rtc_resources[] = { +static const struct resource da9062_rtc_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_ALARM, 1, "ALARM", IORESOURCE_IRQ), DEFINE_RES_NAMED(DA9062_IRQ_TICK, 1, "TICK", IORESOURCE_IRQ), }; -static struct resource da9062_onkey_resources[] = { +static const struct resource da9062_onkey_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_ONKEY, 1, "ONKEY", IORESOURCE_IRQ), }; -static struct resource da9062_gpio_resources[] = { +static const struct resource da9062_gpio_resources[] = { DEFINE_RES_NAMED(DA9062_IRQ_GPI0, 1, "GPI0", IORESOURCE_IRQ), DEFINE_RES_NAMED(DA9062_IRQ_GPI1, 1, "GPI1", IORESOURCE_IRQ), DEFINE_RES_NAMED(DA9062_IRQ_GPI2, 1, "GPI2", IORESOURCE_IRQ), diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c index a353d52210a9..df407c3afce3 100644 --- a/drivers/mfd/da9063-core.c +++ b/drivers/mfd/da9063-core.c @@ -29,7 +29,7 @@ #include <linux/uaccess.h> -static struct resource da9063_regulators_resources[] = { +static const struct resource da9063_regulators_resources[] = { { .name = "LDO_LIM", .start = DA9063_IRQ_LDO_LIM, @@ -38,7 +38,7 @@ static struct resource da9063_regulators_resources[] = { }, }; -static struct resource da9063_rtc_resources[] = { +static const struct resource da9063_rtc_resources[] = { { .name = "ALARM", .start = DA9063_IRQ_ALARM, @@ -53,7 +53,7 @@ static struct resource da9063_rtc_resources[] = { } }; -static struct resource da9063_onkey_resources[] = { +static const struct resource da9063_onkey_resources[] = { { .name = "ONKEY", .start = DA9063_IRQ_ONKEY, @@ -62,7 +62,7 @@ static struct resource da9063_onkey_resources[] = { }, }; -static struct resource da9063_hwmon_resources[] = { +static const struct resource da9063_hwmon_resources[] = { { .start = DA9063_IRQ_ADC_RDY, .end = DA9063_IRQ_ADC_RDY, diff --git a/drivers/mfd/da9150-core.c b/drivers/mfd/da9150-core.c index 7f0aa1e8db96..d8b0cde48589 100644 --- a/drivers/mfd/da9150-core.c +++ b/drivers/mfd/da9150-core.c @@ -350,18 +350,18 @@ static const struct regmap_irq_chip da9150_regmap_irq_chip = { .num_irqs = ARRAY_SIZE(da9150_irqs), }; -static struct resource da9150_gpadc_resources[] = { +static const struct resource da9150_gpadc_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_GPADC, "GPADC"), }; -static struct resource da9150_charger_resources[] = { +static const struct resource da9150_charger_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_CHG, "CHG_STATUS"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_TJUNC, "CHG_TJUNC"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_VFAULT, "CHG_VFAULT"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_VBUS, "CHG_VBUS"), }; -static struct resource da9150_fg_resources[] = { +static const struct resource da9150_fg_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_FG, "FG"), }; -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* RE: [PATCH 1/8] mfd: da: Constify static struct resource 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn @ 2020-09-24 8:51 ` Adam Thomson 2020-11-04 10:56 ` Lee Jones 1 sibling, 0 replies; 22+ messages in thread From: Adam Thomson @ 2020-09-24 8:51 UTC (permalink / raw) To: Rikard Falkeborn, Lee Jones; +Cc: linux-kernel, Support Opensource On 22 September 2020 20:27, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 1/8] mfd: da: Constify static struct resource 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn 2020-09-24 8:51 ` Adam Thomson @ 2020-11-04 10:56 ` Lee Jones 1 sibling, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:56 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel, support.opensource On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/da9055-core.c | 8 ++++---- > drivers/mfd/da9062-core.c | 24 ++++++++++++------------ > drivers/mfd/da9063-core.c | 8 ++++---- > drivers/mfd/da9150-core.c | 6 +++--- > 4 files changed, 23 insertions(+), 23 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 2/8] mfd: intel: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-09-22 21:31 ` Andy Shevchenko ` (2 more replies) 2020-09-22 19:26 ` [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers Rikard Falkeborn ` (5 subsequent siblings) 7 siblings, 3 replies; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn, Andy Shevchenko Constify a number of static struct resource. The only usage of the structs are to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/intel_msic.c | 18 +++++++++--------- drivers/mfd/intel_soc_pmic_bxtwc.c | 14 +++++++------- drivers/mfd/intel_soc_pmic_chtdc_ti.c | 10 +++++----- drivers/mfd/intel_soc_pmic_chtwc.c | 4 ++-- drivers/mfd/intel_soc_pmic_crc.c | 10 +++++----- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/mfd/intel_msic.c b/drivers/mfd/intel_msic.c index bb24c2a07900..daa772f8146b 100644 --- a/drivers/mfd/intel_msic.c +++ b/drivers/mfd/intel_msic.c @@ -50,23 +50,23 @@ struct intel_msic { void __iomem *irq_base; }; -static struct resource msic_touch_resources[] = { +static const struct resource msic_touch_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_adc_resources[] = { +static const struct resource msic_adc_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_battery_resources[] = { +static const struct resource msic_battery_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_gpio_resources[] = { +static const struct resource msic_gpio_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_audio_resources[] = { +static const struct resource msic_audio_resources[] = { DEFINE_RES_IRQ_NAMED(0, "IRQ"), /* * We will pass IRQ_BASE to the driver now but this can be removed @@ -75,19 +75,19 @@ static struct resource msic_audio_resources[] = { DEFINE_RES_MEM_NAMED(MSIC_IRQ_STATUS_ACCDET, 1, "IRQ_BASE"), }; -static struct resource msic_hdmi_resources[] = { +static const struct resource msic_hdmi_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_thermal_resources[] = { +static const struct resource msic_thermal_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_power_btn_resources[] = { +static const struct resource msic_power_btn_resources[] = { DEFINE_RES_IRQ(0), }; -static struct resource msic_ocd_resources[] = { +static const struct resource msic_ocd_resources[] = { DEFINE_RES_IRQ(0), }; diff --git a/drivers/mfd/intel_soc_pmic_bxtwc.c b/drivers/mfd/intel_soc_pmic_bxtwc.c index eba89780dbe7..47d0d3a69a58 100644 --- a/drivers/mfd/intel_soc_pmic_bxtwc.c +++ b/drivers/mfd/intel_soc_pmic_bxtwc.c @@ -200,32 +200,32 @@ static struct regmap_irq_chip bxtwc_regmap_irq_chip_crit = { .num_regs = 1, }; -static struct resource gpio_resources[] = { +static const struct resource gpio_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_GPIO_LVL1_IRQ, "GPIO"), }; -static struct resource adc_resources[] = { +static const struct resource adc_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_ADC_IRQ, "ADC"), }; -static struct resource usbc_resources[] = { +static const struct resource usbc_resources[] = { DEFINE_RES_IRQ(BXTWC_USBC_IRQ), }; -static struct resource charger_resources[] = { +static const struct resource charger_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_CHGR0_IRQ, "CHARGER"), DEFINE_RES_IRQ_NAMED(BXTWC_CHGR1_IRQ, "CHARGER1"), }; -static struct resource thermal_resources[] = { +static const struct resource thermal_resources[] = { DEFINE_RES_IRQ(BXTWC_THRM_LVL1_IRQ), }; -static struct resource bcu_resources[] = { +static const struct resource bcu_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_BCU_IRQ, "BCU"), }; -static struct resource tmu_resources[] = { +static const struct resource tmu_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_TMU_IRQ, "TMU"), }; diff --git a/drivers/mfd/intel_soc_pmic_chtdc_ti.c b/drivers/mfd/intel_soc_pmic_chtdc_ti.c index 64b5c3cc30e7..1c7577b881ff 100644 --- a/drivers/mfd/intel_soc_pmic_chtdc_ti.c +++ b/drivers/mfd/intel_soc_pmic_chtdc_ti.c @@ -32,23 +32,23 @@ enum { CHTDC_TI_CCEOCAL = 7, /* battery */ }; -static struct resource power_button_resources[] = { +static const struct resource power_button_resources[] = { DEFINE_RES_IRQ(CHTDC_TI_PWRBTN), }; -static struct resource thermal_resources[] = { +static const struct resource thermal_resources[] = { DEFINE_RES_IRQ(CHTDC_TI_DIETMPWARN), }; -static struct resource adc_resources[] = { +static const struct resource adc_resources[] = { DEFINE_RES_IRQ(CHTDC_TI_ADCCMPL), }; -static struct resource pwrsrc_resources[] = { +static const struct resource pwrsrc_resources[] = { DEFINE_RES_IRQ(CHTDC_TI_VBUSDET), }; -static struct resource battery_resources[] = { +static const struct resource battery_resources[] = { DEFINE_RES_IRQ(CHTDC_TI_VBATLOW), DEFINE_RES_IRQ(CHTDC_TI_CCEOCAL), }; diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c index be84bb2aa837..49c5f71664bc 100644 --- a/drivers/mfd/intel_soc_pmic_chtwc.c +++ b/drivers/mfd/intel_soc_pmic_chtwc.c @@ -41,11 +41,11 @@ enum { CHT_WC_CRIT_IRQ = 7, }; -static struct resource cht_wc_pwrsrc_resources[] = { +static const struct resource cht_wc_pwrsrc_resources[] = { DEFINE_RES_IRQ(CHT_WC_PWRSRC_IRQ), }; -static struct resource cht_wc_ext_charger_resources[] = { +static const struct resource cht_wc_ext_charger_resources[] = { DEFINE_RES_IRQ(CHT_WC_EXT_CHGR_IRQ), }; diff --git a/drivers/mfd/intel_soc_pmic_crc.c b/drivers/mfd/intel_soc_pmic_crc.c index 429efa1f8e55..38acb20e2d60 100644 --- a/drivers/mfd/intel_soc_pmic_crc.c +++ b/drivers/mfd/intel_soc_pmic_crc.c @@ -28,23 +28,23 @@ #define CRYSTAL_COVE_IRQ_GPIO 5 #define CRYSTAL_COVE_IRQ_VHDMIOCP 6 -static struct resource gpio_resources[] = { +static const struct resource gpio_resources[] = { DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_GPIO, "GPIO"), }; -static struct resource pwrsrc_resources[] = { +static const struct resource pwrsrc_resources[] = { DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_PWRSRC, "PWRSRC"), }; -static struct resource adc_resources[] = { +static const struct resource adc_resources[] = { DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_ADC, "ADC"), }; -static struct resource thermal_resources[] = { +static const struct resource thermal_resources[] = { DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_THRM, "THERMAL"), }; -static struct resource bcu_resources[] = { +static const struct resource bcu_resources[] = { DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_BCU, "BCU"), }; -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 2/8] mfd: intel: Constify static struct resource 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn @ 2020-09-22 21:31 ` Andy Shevchenko 2020-09-22 22:00 ` Rikard Falkeborn 2020-09-23 9:56 ` Andy Shevchenko 2020-11-04 10:56 ` Lee Jones 2 siblings, 1 reply; 22+ messages in thread From: Andy Shevchenko @ 2020-09-22 21:31 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: Lee Jones, Linux Kernel Mailing List, Andy Shevchenko On Tue, Sep 22, 2020 at 10:32 PM Rikard Falkeborn <rikard.falkeborn@gmail.com> wrote: > > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. How had you tested this? -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 2/8] mfd: intel: Constify static struct resource 2020-09-22 21:31 ` Andy Shevchenko @ 2020-09-22 22:00 ` Rikard Falkeborn 0 siblings, 0 replies; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 22:00 UTC (permalink / raw) To: Andy Shevchenko Cc: Rikard Falkeborn, Lee Jones, Linux Kernel Mailing List, Andy Shevchenko On Wed, Sep 23, 2020 at 12:31:28AM +0300, Andy Shevchenko wrote: > On Tue, Sep 22, 2020 at 10:32 PM Rikard Falkeborn > <rikard.falkeborn@gmail.com> wrote: > > > > Constify a number of static struct resource. The only usage of the > > structs are to assign their address to the resources field in the > > mfd_cell struct. This allows the compiler to put them in read-only > > memory. Done with the help of Coccinelle. > > How had you tested this? > It's compile-tested only. Rikard ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 2/8] mfd: intel: Constify static struct resource 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn 2020-09-22 21:31 ` Andy Shevchenko @ 2020-09-23 9:56 ` Andy Shevchenko 2020-11-04 10:56 ` Lee Jones 2 siblings, 0 replies; 22+ messages in thread From: Andy Shevchenko @ 2020-09-23 9:56 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: Lee Jones, Linux Kernel Mailing List, Andy Shevchenko On Tue, Sep 22, 2020 at 10:32 PM Rikard Falkeborn <rikard.falkeborn@gmail.com> wrote: > > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. Okay, I have briefly checked the code and the patch seems correct (we don't use those structures to update data in them). FWIW, Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/intel_msic.c | 18 +++++++++--------- > drivers/mfd/intel_soc_pmic_bxtwc.c | 14 +++++++------- > drivers/mfd/intel_soc_pmic_chtdc_ti.c | 10 +++++----- > drivers/mfd/intel_soc_pmic_chtwc.c | 4 ++-- > drivers/mfd/intel_soc_pmic_crc.c | 10 +++++----- > 5 files changed, 28 insertions(+), 28 deletions(-) > > diff --git a/drivers/mfd/intel_msic.c b/drivers/mfd/intel_msic.c > index bb24c2a07900..daa772f8146b 100644 > --- a/drivers/mfd/intel_msic.c > +++ b/drivers/mfd/intel_msic.c > @@ -50,23 +50,23 @@ struct intel_msic { > void __iomem *irq_base; > }; > > -static struct resource msic_touch_resources[] = { > +static const struct resource msic_touch_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_adc_resources[] = { > +static const struct resource msic_adc_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_battery_resources[] = { > +static const struct resource msic_battery_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_gpio_resources[] = { > +static const struct resource msic_gpio_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_audio_resources[] = { > +static const struct resource msic_audio_resources[] = { > DEFINE_RES_IRQ_NAMED(0, "IRQ"), > /* > * We will pass IRQ_BASE to the driver now but this can be removed > @@ -75,19 +75,19 @@ static struct resource msic_audio_resources[] = { > DEFINE_RES_MEM_NAMED(MSIC_IRQ_STATUS_ACCDET, 1, "IRQ_BASE"), > }; > > -static struct resource msic_hdmi_resources[] = { > +static const struct resource msic_hdmi_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_thermal_resources[] = { > +static const struct resource msic_thermal_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_power_btn_resources[] = { > +static const struct resource msic_power_btn_resources[] = { > DEFINE_RES_IRQ(0), > }; > > -static struct resource msic_ocd_resources[] = { > +static const struct resource msic_ocd_resources[] = { > DEFINE_RES_IRQ(0), > }; > > diff --git a/drivers/mfd/intel_soc_pmic_bxtwc.c b/drivers/mfd/intel_soc_pmic_bxtwc.c > index eba89780dbe7..47d0d3a69a58 100644 > --- a/drivers/mfd/intel_soc_pmic_bxtwc.c > +++ b/drivers/mfd/intel_soc_pmic_bxtwc.c > @@ -200,32 +200,32 @@ static struct regmap_irq_chip bxtwc_regmap_irq_chip_crit = { > .num_regs = 1, > }; > > -static struct resource gpio_resources[] = { > +static const struct resource gpio_resources[] = { > DEFINE_RES_IRQ_NAMED(BXTWC_GPIO_LVL1_IRQ, "GPIO"), > }; > > -static struct resource adc_resources[] = { > +static const struct resource adc_resources[] = { > DEFINE_RES_IRQ_NAMED(BXTWC_ADC_IRQ, "ADC"), > }; > > -static struct resource usbc_resources[] = { > +static const struct resource usbc_resources[] = { > DEFINE_RES_IRQ(BXTWC_USBC_IRQ), > }; > > -static struct resource charger_resources[] = { > +static const struct resource charger_resources[] = { > DEFINE_RES_IRQ_NAMED(BXTWC_CHGR0_IRQ, "CHARGER"), > DEFINE_RES_IRQ_NAMED(BXTWC_CHGR1_IRQ, "CHARGER1"), > }; > > -static struct resource thermal_resources[] = { > +static const struct resource thermal_resources[] = { > DEFINE_RES_IRQ(BXTWC_THRM_LVL1_IRQ), > }; > > -static struct resource bcu_resources[] = { > +static const struct resource bcu_resources[] = { > DEFINE_RES_IRQ_NAMED(BXTWC_BCU_IRQ, "BCU"), > }; > > -static struct resource tmu_resources[] = { > +static const struct resource tmu_resources[] = { > DEFINE_RES_IRQ_NAMED(BXTWC_TMU_IRQ, "TMU"), > }; > > diff --git a/drivers/mfd/intel_soc_pmic_chtdc_ti.c b/drivers/mfd/intel_soc_pmic_chtdc_ti.c > index 64b5c3cc30e7..1c7577b881ff 100644 > --- a/drivers/mfd/intel_soc_pmic_chtdc_ti.c > +++ b/drivers/mfd/intel_soc_pmic_chtdc_ti.c > @@ -32,23 +32,23 @@ enum { > CHTDC_TI_CCEOCAL = 7, /* battery */ > }; > > -static struct resource power_button_resources[] = { > +static const struct resource power_button_resources[] = { > DEFINE_RES_IRQ(CHTDC_TI_PWRBTN), > }; > > -static struct resource thermal_resources[] = { > +static const struct resource thermal_resources[] = { > DEFINE_RES_IRQ(CHTDC_TI_DIETMPWARN), > }; > > -static struct resource adc_resources[] = { > +static const struct resource adc_resources[] = { > DEFINE_RES_IRQ(CHTDC_TI_ADCCMPL), > }; > > -static struct resource pwrsrc_resources[] = { > +static const struct resource pwrsrc_resources[] = { > DEFINE_RES_IRQ(CHTDC_TI_VBUSDET), > }; > > -static struct resource battery_resources[] = { > +static const struct resource battery_resources[] = { > DEFINE_RES_IRQ(CHTDC_TI_VBATLOW), > DEFINE_RES_IRQ(CHTDC_TI_CCEOCAL), > }; > diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c > index be84bb2aa837..49c5f71664bc 100644 > --- a/drivers/mfd/intel_soc_pmic_chtwc.c > +++ b/drivers/mfd/intel_soc_pmic_chtwc.c > @@ -41,11 +41,11 @@ enum { > CHT_WC_CRIT_IRQ = 7, > }; > > -static struct resource cht_wc_pwrsrc_resources[] = { > +static const struct resource cht_wc_pwrsrc_resources[] = { > DEFINE_RES_IRQ(CHT_WC_PWRSRC_IRQ), > }; > > -static struct resource cht_wc_ext_charger_resources[] = { > +static const struct resource cht_wc_ext_charger_resources[] = { > DEFINE_RES_IRQ(CHT_WC_EXT_CHGR_IRQ), > }; > > diff --git a/drivers/mfd/intel_soc_pmic_crc.c b/drivers/mfd/intel_soc_pmic_crc.c > index 429efa1f8e55..38acb20e2d60 100644 > --- a/drivers/mfd/intel_soc_pmic_crc.c > +++ b/drivers/mfd/intel_soc_pmic_crc.c > @@ -28,23 +28,23 @@ > #define CRYSTAL_COVE_IRQ_GPIO 5 > #define CRYSTAL_COVE_IRQ_VHDMIOCP 6 > > -static struct resource gpio_resources[] = { > +static const struct resource gpio_resources[] = { > DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_GPIO, "GPIO"), > }; > > -static struct resource pwrsrc_resources[] = { > +static const struct resource pwrsrc_resources[] = { > DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_PWRSRC, "PWRSRC"), > }; > > -static struct resource adc_resources[] = { > +static const struct resource adc_resources[] = { > DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_ADC, "ADC"), > }; > > -static struct resource thermal_resources[] = { > +static const struct resource thermal_resources[] = { > DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_THRM, "THERMAL"), > }; > > -static struct resource bcu_resources[] = { > +static const struct resource bcu_resources[] = { > DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_BCU, "BCU"), > }; > > -- > 2.28.0 > -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 2/8] mfd: intel: Constify static struct resource 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn 2020-09-22 21:31 ` Andy Shevchenko 2020-09-23 9:56 ` Andy Shevchenko @ 2020-11-04 10:56 ` Lee Jones 2 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:56 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel, Andy Shevchenko On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/intel_msic.c | 18 +++++++++--------- > drivers/mfd/intel_soc_pmic_bxtwc.c | 14 +++++++------- > drivers/mfd/intel_soc_pmic_chtdc_ti.c | 10 +++++----- > drivers/mfd/intel_soc_pmic_chtwc.c | 4 ++-- > drivers/mfd/intel_soc_pmic_crc.c | 10 +++++----- > 5 files changed, 28 insertions(+), 28 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-11-04 10:57 ` Lee Jones 2020-09-22 19:26 ` [PATCH 4/8] mfd: wm: Constify static struct resource Rikard Falkeborn ` (4 subsequent siblings) 7 siblings, 1 reply; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn, Tony Lindgren, linux-omap Constify a number of static struct resource. The only usage of the structs are to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/tps65217.c | 4 ++-- drivers/mfd/tps65910.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/tps65217.c b/drivers/mfd/tps65217.c index 2d9c282ec917..8027b0a9e14f 100644 --- a/drivers/mfd/tps65217.c +++ b/drivers/mfd/tps65217.c @@ -33,12 +33,12 @@ #include <linux/mfd/core.h> #include <linux/mfd/tps65217.h> -static struct resource charger_resources[] = { +static const struct resource charger_resources[] = { DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_AC, "AC"), DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_USB, "USB"), }; -static struct resource pb_resources[] = { +static const struct resource pb_resources[] = { DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_PB, "PB"), }; diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c index 11959021b50a..a6c28df7aa38 100644 --- a/drivers/mfd/tps65910.c +++ b/drivers/mfd/tps65910.c @@ -21,7 +21,7 @@ #include <linux/of.h> #include <linux/of_device.h> -static struct resource rtc_resources[] = { +static const struct resource rtc_resources[] = { { .start = TPS65910_IRQ_RTC_ALARM, .end = TPS65910_IRQ_RTC_ALARM, -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers 2020-09-22 19:26 ` [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers Rikard Falkeborn @ 2020-11-04 10:57 ` Lee Jones 0 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:57 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel, Tony Lindgren, linux-omap On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/tps65217.c | 4 ++-- > drivers/mfd/tps65910.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 4/8] mfd: wm: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn ` (2 preceding siblings ...) 2020-09-22 19:26 ` [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-09-24 15:54 ` Charles Keepax 2020-11-04 10:57 ` Lee Jones 2020-09-22 19:26 ` [PATCH 5/8] mfd: lp8788: " Rikard Falkeborn ` (3 subsequent siblings) 7 siblings, 2 replies; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn, patches Constify a number of static struct resource. The only usage of the structs are to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/wm831x-core.c | 52 +++++++++++++++++++-------------------- drivers/mfd/wm8994-core.c | 4 +-- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/drivers/mfd/wm831x-core.c b/drivers/mfd/wm831x-core.c index b0344e5353e4..bcef08f58fb3 100644 --- a/drivers/mfd/wm831x-core.c +++ b/drivers/mfd/wm831x-core.c @@ -616,7 +616,7 @@ int wm831x_set_bits(struct wm831x *wm831x, unsigned short reg, } EXPORT_SYMBOL_GPL(wm831x_set_bits); -static struct resource wm831x_dcdc1_resources[] = { +static const struct resource wm831x_dcdc1_resources[] = { { .start = WM831X_DC1_CONTROL_1, .end = WM831X_DC1_DVS_CONTROL, @@ -637,7 +637,7 @@ static struct resource wm831x_dcdc1_resources[] = { }; -static struct resource wm831x_dcdc2_resources[] = { +static const struct resource wm831x_dcdc2_resources[] = { { .start = WM831X_DC2_CONTROL_1, .end = WM831X_DC2_DVS_CONTROL, @@ -657,7 +657,7 @@ static struct resource wm831x_dcdc2_resources[] = { }, }; -static struct resource wm831x_dcdc3_resources[] = { +static const struct resource wm831x_dcdc3_resources[] = { { .start = WM831X_DC3_CONTROL_1, .end = WM831X_DC3_SLEEP_CONTROL, @@ -671,7 +671,7 @@ static struct resource wm831x_dcdc3_resources[] = { }, }; -static struct resource wm831x_dcdc4_resources[] = { +static const struct resource wm831x_dcdc4_resources[] = { { .start = WM831X_DC4_CONTROL, .end = WM831X_DC4_SLEEP_CONTROL, @@ -685,7 +685,7 @@ static struct resource wm831x_dcdc4_resources[] = { }, }; -static struct resource wm8320_dcdc4_buck_resources[] = { +static const struct resource wm8320_dcdc4_buck_resources[] = { { .start = WM831X_DC4_CONTROL, .end = WM832X_DC4_SLEEP_CONTROL, @@ -699,7 +699,7 @@ static struct resource wm8320_dcdc4_buck_resources[] = { }, }; -static struct resource wm831x_gpio_resources[] = { +static const struct resource wm831x_gpio_resources[] = { { .start = WM831X_IRQ_GPIO_1, .end = WM831X_IRQ_GPIO_16, @@ -707,7 +707,7 @@ static struct resource wm831x_gpio_resources[] = { }, }; -static struct resource wm831x_isink1_resources[] = { +static const struct resource wm831x_isink1_resources[] = { { .start = WM831X_CURRENT_SINK_1, .end = WM831X_CURRENT_SINK_1, @@ -720,7 +720,7 @@ static struct resource wm831x_isink1_resources[] = { }, }; -static struct resource wm831x_isink2_resources[] = { +static const struct resource wm831x_isink2_resources[] = { { .start = WM831X_CURRENT_SINK_2, .end = WM831X_CURRENT_SINK_2, @@ -733,7 +733,7 @@ static struct resource wm831x_isink2_resources[] = { }, }; -static struct resource wm831x_ldo1_resources[] = { +static const struct resource wm831x_ldo1_resources[] = { { .start = WM831X_LDO1_CONTROL, .end = WM831X_LDO1_SLEEP_CONTROL, @@ -747,7 +747,7 @@ static struct resource wm831x_ldo1_resources[] = { }, }; -static struct resource wm831x_ldo2_resources[] = { +static const struct resource wm831x_ldo2_resources[] = { { .start = WM831X_LDO2_CONTROL, .end = WM831X_LDO2_SLEEP_CONTROL, @@ -761,7 +761,7 @@ static struct resource wm831x_ldo2_resources[] = { }, }; -static struct resource wm831x_ldo3_resources[] = { +static const struct resource wm831x_ldo3_resources[] = { { .start = WM831X_LDO3_CONTROL, .end = WM831X_LDO3_SLEEP_CONTROL, @@ -775,7 +775,7 @@ static struct resource wm831x_ldo3_resources[] = { }, }; -static struct resource wm831x_ldo4_resources[] = { +static const struct resource wm831x_ldo4_resources[] = { { .start = WM831X_LDO4_CONTROL, .end = WM831X_LDO4_SLEEP_CONTROL, @@ -789,7 +789,7 @@ static struct resource wm831x_ldo4_resources[] = { }, }; -static struct resource wm831x_ldo5_resources[] = { +static const struct resource wm831x_ldo5_resources[] = { { .start = WM831X_LDO5_CONTROL, .end = WM831X_LDO5_SLEEP_CONTROL, @@ -803,7 +803,7 @@ static struct resource wm831x_ldo5_resources[] = { }, }; -static struct resource wm831x_ldo6_resources[] = { +static const struct resource wm831x_ldo6_resources[] = { { .start = WM831X_LDO6_CONTROL, .end = WM831X_LDO6_SLEEP_CONTROL, @@ -817,7 +817,7 @@ static struct resource wm831x_ldo6_resources[] = { }, }; -static struct resource wm831x_ldo7_resources[] = { +static const struct resource wm831x_ldo7_resources[] = { { .start = WM831X_LDO7_CONTROL, .end = WM831X_LDO7_SLEEP_CONTROL, @@ -831,7 +831,7 @@ static struct resource wm831x_ldo7_resources[] = { }, }; -static struct resource wm831x_ldo8_resources[] = { +static const struct resource wm831x_ldo8_resources[] = { { .start = WM831X_LDO8_CONTROL, .end = WM831X_LDO8_SLEEP_CONTROL, @@ -845,7 +845,7 @@ static struct resource wm831x_ldo8_resources[] = { }, }; -static struct resource wm831x_ldo9_resources[] = { +static const struct resource wm831x_ldo9_resources[] = { { .start = WM831X_LDO9_CONTROL, .end = WM831X_LDO9_SLEEP_CONTROL, @@ -859,7 +859,7 @@ static struct resource wm831x_ldo9_resources[] = { }, }; -static struct resource wm831x_ldo10_resources[] = { +static const struct resource wm831x_ldo10_resources[] = { { .start = WM831X_LDO10_CONTROL, .end = WM831X_LDO10_SLEEP_CONTROL, @@ -873,7 +873,7 @@ static struct resource wm831x_ldo10_resources[] = { }, }; -static struct resource wm831x_ldo11_resources[] = { +static const struct resource wm831x_ldo11_resources[] = { { .start = WM831X_LDO11_ON_CONTROL, .end = WM831X_LDO11_SLEEP_CONTROL, @@ -881,7 +881,7 @@ static struct resource wm831x_ldo11_resources[] = { }, }; -static struct resource wm831x_on_resources[] = { +static const struct resource wm831x_on_resources[] = { { .start = WM831X_IRQ_ON, .end = WM831X_IRQ_ON, @@ -890,7 +890,7 @@ static struct resource wm831x_on_resources[] = { }; -static struct resource wm831x_power_resources[] = { +static const struct resource wm831x_power_resources[] = { { .name = "SYSLO", .start = WM831X_IRQ_PPM_SYSLO, @@ -959,7 +959,7 @@ static struct resource wm831x_power_resources[] = { }, }; -static struct resource wm831x_rtc_resources[] = { +static const struct resource wm831x_rtc_resources[] = { { .name = "PER", .start = WM831X_IRQ_RTC_PER, @@ -974,7 +974,7 @@ static struct resource wm831x_rtc_resources[] = { }, }; -static struct resource wm831x_status1_resources[] = { +static const struct resource wm831x_status1_resources[] = { { .start = WM831X_STATUS_LED_1, .end = WM831X_STATUS_LED_1, @@ -982,7 +982,7 @@ static struct resource wm831x_status1_resources[] = { }, }; -static struct resource wm831x_status2_resources[] = { +static const struct resource wm831x_status2_resources[] = { { .start = WM831X_STATUS_LED_2, .end = WM831X_STATUS_LED_2, @@ -990,7 +990,7 @@ static struct resource wm831x_status2_resources[] = { }, }; -static struct resource wm831x_touch_resources[] = { +static const struct resource wm831x_touch_resources[] = { { .name = "TCHPD", .start = WM831X_IRQ_TCHPD, @@ -1005,7 +1005,7 @@ static struct resource wm831x_touch_resources[] = { }, }; -static struct resource wm831x_wdt_resources[] = { +static const struct resource wm831x_wdt_resources[] = { { .start = WM831X_IRQ_WDOG_TO, .end = WM831X_IRQ_WDOG_TO, diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 3b2b93c5bbcb..e6d2319f15b6 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -40,7 +40,7 @@ static const struct mfd_cell wm8994_regulator_devs[] = { }, }; -static struct resource wm8994_codec_resources[] = { +static const struct resource wm8994_codec_resources[] = { { .start = WM8994_IRQ_TEMP_SHUT, .end = WM8994_IRQ_TEMP_WARN, @@ -48,7 +48,7 @@ static struct resource wm8994_codec_resources[] = { }, }; -static struct resource wm8994_gpio_resources[] = { +static const struct resource wm8994_gpio_resources[] = { { .start = WM8994_IRQ_GPIO(1), .end = WM8994_IRQ_GPIO(11), -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 4/8] mfd: wm: Constify static struct resource 2020-09-22 19:26 ` [PATCH 4/8] mfd: wm: Constify static struct resource Rikard Falkeborn @ 2020-09-24 15:54 ` Charles Keepax 2020-11-04 10:57 ` Lee Jones 1 sibling, 0 replies; 22+ messages in thread From: Charles Keepax @ 2020-09-24 15:54 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: Lee Jones, linux-kernel, patches On Tue, Sep 22, 2020 at 09:26:55PM +0200, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 4/8] mfd: wm: Constify static struct resource 2020-09-22 19:26 ` [PATCH 4/8] mfd: wm: Constify static struct resource Rikard Falkeborn 2020-09-24 15:54 ` Charles Keepax @ 2020-11-04 10:57 ` Lee Jones 1 sibling, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:57 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel, patches On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/wm831x-core.c | 52 +++++++++++++++++++-------------------- > drivers/mfd/wm8994-core.c | 4 +-- > 2 files changed, 28 insertions(+), 28 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 5/8] mfd: lp8788: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn ` (3 preceding siblings ...) 2020-09-22 19:26 ` [PATCH 4/8] mfd: wm: Constify static struct resource Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-11-04 10:58 ` Lee Jones 2020-09-22 19:26 ` [PATCH 6/8] mfd: stmpe: " Rikard Falkeborn ` (2 subsequent siblings) 7 siblings, 1 reply; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn, Milo Kim Constify a couple of static struct resource. The only usage of the structs is to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/lp8788.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mfd/lp8788.c b/drivers/mfd/lp8788.c index 768d556b3fe9..c223d2c6a363 100644 --- a/drivers/mfd/lp8788.c +++ b/drivers/mfd/lp8788.c @@ -34,7 +34,7 @@ .num_resources = num_resource, \ } -static struct resource chg_irqs[] = { +static const struct resource chg_irqs[] = { /* Charger Interrupts */ { .start = LP8788_INT_CHG_INPUT_STATE, @@ -58,7 +58,7 @@ static struct resource chg_irqs[] = { }, }; -static struct resource rtc_irqs[] = { +static const struct resource rtc_irqs[] = { { .start = LP8788_INT_RTC_ALARM1, .end = LP8788_INT_RTC_ALARM2, -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 5/8] mfd: lp8788: Constify static struct resource 2020-09-22 19:26 ` [PATCH 5/8] mfd: lp8788: " Rikard Falkeborn @ 2020-11-04 10:58 ` Lee Jones 0 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:58 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel, Milo Kim On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a couple of static struct resource. The only usage of the > structs is to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/lp8788.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 6/8] mfd: stmpe: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn ` (4 preceding siblings ...) 2020-09-22 19:26 ` [PATCH 5/8] mfd: lp8788: " Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-11-04 10:58 ` Lee Jones 2020-09-22 19:26 ` [PATCH 7/8] mfd: sun4i-gpadc: " Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 8/8] mfd: " Rikard Falkeborn 7 siblings, 1 reply; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones Cc: linux-kernel, Rikard Falkeborn, Maxime Coquelin, Alexandre Torgue, linux-stm32, linux-arm-kernel Constify a couple of static struct resource. The only usage of the structs is to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/stmpe.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c index 1aee3b3253fc..90f3292230c9 100644 --- a/drivers/mfd/stmpe.c +++ b/drivers/mfd/stmpe.c @@ -312,7 +312,7 @@ EXPORT_SYMBOL_GPL(stmpe_set_altfunc); * GPIO (all variants) */ -static struct resource stmpe_gpio_resources[] = { +static const struct resource stmpe_gpio_resources[] = { /* Start and end filled dynamically */ { .flags = IORESOURCE_IRQ, @@ -336,7 +336,7 @@ static const struct mfd_cell stmpe_gpio_cell_noirq = { * Keypad (1601, 2401, 2403) */ -static struct resource stmpe_keypad_resources[] = { +static const struct resource stmpe_keypad_resources[] = { { .name = "KEYPAD", .flags = IORESOURCE_IRQ, @@ -357,7 +357,7 @@ static const struct mfd_cell stmpe_keypad_cell = { /* * PWM (1601, 2401, 2403) */ -static struct resource stmpe_pwm_resources[] = { +static const struct resource stmpe_pwm_resources[] = { { .name = "PWM0", .flags = IORESOURCE_IRQ, @@ -445,7 +445,7 @@ static struct stmpe_variant_info stmpe801_noirq = { * Touchscreen (STMPE811 or STMPE610) */ -static struct resource stmpe_ts_resources[] = { +static const struct resource stmpe_ts_resources[] = { { .name = "TOUCH_DET", .flags = IORESOURCE_IRQ, @@ -467,7 +467,7 @@ static const struct mfd_cell stmpe_ts_cell = { * ADC (STMPE811) */ -static struct resource stmpe_adc_resources[] = { +static const struct resource stmpe_adc_resources[] = { { .name = "STMPE_TEMP_SENS", .flags = IORESOURCE_IRQ, -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 6/8] mfd: stmpe: Constify static struct resource 2020-09-22 19:26 ` [PATCH 6/8] mfd: stmpe: " Rikard Falkeborn @ 2020-11-04 10:58 ` Lee Jones 0 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:58 UTC (permalink / raw) To: Rikard Falkeborn Cc: linux-kernel, Maxime Coquelin, Alexandre Torgue, linux-stm32, linux-arm-kernel On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a couple of static struct resource. The only usage of the > structs is to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/stmpe.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 7/8] mfd: sun4i-gpadc: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn ` (5 preceding siblings ...) 2020-09-22 19:26 ` [PATCH 6/8] mfd: stmpe: " Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-11-04 10:59 ` Lee Jones 2020-09-22 19:26 ` [PATCH 8/8] mfd: " Rikard Falkeborn 7 siblings, 1 reply; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones Cc: linux-kernel, Rikard Falkeborn, Maxime Ripard, Chen-Yu Tsai, linux-arm-kernel Constify adc_resources[]. The only usage is to assign its address to the resources field of the mfd_cell struct. This allows the compiler to put it in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/sun4i-gpadc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/sun4i-gpadc.c b/drivers/mfd/sun4i-gpadc.c index b346fbce3c01..aaa233d916b2 100644 --- a/drivers/mfd/sun4i-gpadc.c +++ b/drivers/mfd/sun4i-gpadc.c @@ -18,7 +18,7 @@ #define ARCH_SUN5I_A13 1 #define ARCH_SUN6I_A31 2 -static struct resource adc_resources[] = { +static const struct resource adc_resources[] = { DEFINE_RES_IRQ_NAMED(SUN4I_GPADC_IRQ_FIFO_DATA, "FIFO_DATA_PENDING"), DEFINE_RES_IRQ_NAMED(SUN4I_GPADC_IRQ_TEMP_DATA, "TEMP_DATA_PENDING"), }; -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 7/8] mfd: sun4i-gpadc: Constify static struct resource 2020-09-22 19:26 ` [PATCH 7/8] mfd: sun4i-gpadc: " Rikard Falkeborn @ 2020-11-04 10:59 ` Lee Jones 0 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 10:59 UTC (permalink / raw) To: Rikard Falkeborn Cc: linux-kernel, Maxime Ripard, Chen-Yu Tsai, linux-arm-kernel On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify adc_resources[]. The only usage is to assign its address to the > resources field of the mfd_cell struct. This allows the compiler to put > it in read-only memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/sun4i-gpadc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 8/8] mfd: Constify static struct resource 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn ` (6 preceding siblings ...) 2020-09-22 19:26 ` [PATCH 7/8] mfd: sun4i-gpadc: " Rikard Falkeborn @ 2020-09-22 19:26 ` Rikard Falkeborn 2020-11-04 11:04 ` Lee Jones 7 siblings, 1 reply; 22+ messages in thread From: Rikard Falkeborn @ 2020-09-22 19:26 UTC (permalink / raw) To: Lee Jones; +Cc: linux-kernel, Rikard Falkeborn Constify a number of static struct resource. The only usage of the structs are to assign their address to the resources field in the mfd_cell struct. This allows the compiler to put them in read-only memory. Done with the help of Coccinelle. Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> --- drivers/mfd/88pm800.c | 2 +- drivers/mfd/88pm860x-core.c | 50 +++++++++++++------------- drivers/mfd/hi655x-pmic.c | 2 +- drivers/mfd/intel_quark_i2c_gpio.c | 4 +-- drivers/mfd/ioc3.c | 16 ++++----- drivers/mfd/max8925-core.c | 56 +++++++++++++++--------------- drivers/mfd/rdc321x-southbridge.c | 4 +-- drivers/mfd/retu-mfd.c | 4 +-- drivers/mfd/rk808.c | 8 ++--- drivers/mfd/tc3589x.c | 4 +-- drivers/mfd/tc6387xb.c | 2 +- drivers/mfd/tc6393xb.c | 6 ++-- drivers/mfd/tps65090.c | 2 +- drivers/mfd/tps6586x.c | 2 +- drivers/mfd/tps80031.c | 2 +- 15 files changed, 82 insertions(+), 82 deletions(-) diff --git a/drivers/mfd/88pm800.c b/drivers/mfd/88pm800.c index 4e8d0d6b9b5c..c7f964996a91 100644 --- a/drivers/mfd/88pm800.c +++ b/drivers/mfd/88pm800.c @@ -121,7 +121,7 @@ static const struct i2c_device_id pm80x_id_table[] = { }; MODULE_DEVICE_TABLE(i2c, pm80x_id_table); -static struct resource rtc_resources[] = { +static const struct resource rtc_resources[] = { { .name = "88pm80x-rtc", .start = PM800_IRQ_RTC, diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index c9bae71f643a..b1e829ea909b 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c @@ -26,99 +26,99 @@ #define INT_STATUS_NUM 3 -static struct resource bk0_resources[] = { +static const struct resource bk0_resources[] = { {2, 2, "duty cycle", IORESOURCE_REG, }, {3, 3, "always on", IORESOURCE_REG, }, {3, 3, "current", IORESOURCE_REG, }, }; -static struct resource bk1_resources[] = { +static const struct resource bk1_resources[] = { {4, 4, "duty cycle", IORESOURCE_REG, }, {5, 5, "always on", IORESOURCE_REG, }, {5, 5, "current", IORESOURCE_REG, }, }; -static struct resource bk2_resources[] = { +static const struct resource bk2_resources[] = { {6, 6, "duty cycle", IORESOURCE_REG, }, {7, 7, "always on", IORESOURCE_REG, }, {5, 5, "current", IORESOURCE_REG, }, }; -static struct resource led0_resources[] = { +static const struct resource led0_resources[] = { /* RGB1 Red LED */ {0xd, 0xd, "control", IORESOURCE_REG, }, {0xc, 0xc, "blink", IORESOURCE_REG, }, }; -static struct resource led1_resources[] = { +static const struct resource led1_resources[] = { /* RGB1 Green LED */ {0xe, 0xe, "control", IORESOURCE_REG, }, {0xc, 0xc, "blink", IORESOURCE_REG, }, }; -static struct resource led2_resources[] = { +static const struct resource led2_resources[] = { /* RGB1 Blue LED */ {0xf, 0xf, "control", IORESOURCE_REG, }, {0xc, 0xc, "blink", IORESOURCE_REG, }, }; -static struct resource led3_resources[] = { +static const struct resource led3_resources[] = { /* RGB2 Red LED */ {0x9, 0x9, "control", IORESOURCE_REG, }, {0x8, 0x8, "blink", IORESOURCE_REG, }, }; -static struct resource led4_resources[] = { +static const struct resource led4_resources[] = { /* RGB2 Green LED */ {0xa, 0xa, "control", IORESOURCE_REG, }, {0x8, 0x8, "blink", IORESOURCE_REG, }, }; -static struct resource led5_resources[] = { +static const struct resource led5_resources[] = { /* RGB2 Blue LED */ {0xb, 0xb, "control", IORESOURCE_REG, }, {0x8, 0x8, "blink", IORESOURCE_REG, }, }; -static struct resource buck1_resources[] = { +static const struct resource buck1_resources[] = { {0x24, 0x24, "buck set", IORESOURCE_REG, }, }; -static struct resource buck2_resources[] = { +static const struct resource buck2_resources[] = { {0x25, 0x25, "buck set", IORESOURCE_REG, }, }; -static struct resource buck3_resources[] = { +static const struct resource buck3_resources[] = { {0x26, 0x26, "buck set", IORESOURCE_REG, }, }; -static struct resource ldo1_resources[] = { +static const struct resource ldo1_resources[] = { {0x10, 0x10, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo2_resources[] = { +static const struct resource ldo2_resources[] = { {0x11, 0x11, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo3_resources[] = { +static const struct resource ldo3_resources[] = { {0x12, 0x12, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo4_resources[] = { +static const struct resource ldo4_resources[] = { {0x13, 0x13, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo5_resources[] = { +static const struct resource ldo5_resources[] = { {0x14, 0x14, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo6_resources[] = { +static const struct resource ldo6_resources[] = { {0x15, 0x15, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo7_resources[] = { +static const struct resource ldo7_resources[] = { {0x16, 0x16, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo8_resources[] = { +static const struct resource ldo8_resources[] = { {0x17, 0x17, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo9_resources[] = { +static const struct resource ldo9_resources[] = { {0x18, 0x18, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo10_resources[] = { +static const struct resource ldo10_resources[] = { {0x19, 0x19, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo12_resources[] = { +static const struct resource ldo12_resources[] = { {0x1a, 0x1a, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo_vibrator_resources[] = { +static const struct resource ldo_vibrator_resources[] = { {0x28, 0x28, "ldo set", IORESOURCE_REG, }, }; -static struct resource ldo14_resources[] = { +static const struct resource ldo14_resources[] = { {0x1b, 0x1b, "ldo set", IORESOURCE_REG, }, }; diff --git a/drivers/mfd/hi655x-pmic.c b/drivers/mfd/hi655x-pmic.c index 7e3959aaa285..d3c86a7a3805 100644 --- a/drivers/mfd/hi655x-pmic.c +++ b/drivers/mfd/hi655x-pmic.c @@ -49,7 +49,7 @@ static struct regmap_config hi655x_regmap_config = { .max_register = HI655X_BUS_ADDR(0x400) - HI655X_STRIDE, }; -static struct resource pwrkey_resources[] = { +static const struct resource pwrkey_resources[] = { { .name = "down", .start = PWRON_D20R_INT, diff --git a/drivers/mfd/intel_quark_i2c_gpio.c b/drivers/mfd/intel_quark_i2c_gpio.c index 84ca7902e1df..fe8ca945f367 100644 --- a/drivers/mfd/intel_quark_i2c_gpio.c +++ b/drivers/mfd/intel_quark_i2c_gpio.c @@ -72,7 +72,7 @@ static const struct dmi_system_id dmi_platform_info[] = { {} }; -static struct resource intel_quark_i2c_res[] = { +static const struct resource intel_quark_i2c_res[] = { [INTEL_QUARK_IORES_MEM] = { .flags = IORESOURCE_MEM, }, @@ -85,7 +85,7 @@ static struct mfd_cell_acpi_match intel_quark_acpi_match_i2c = { .adr = MFD_ACPI_MATCH_I2C, }; -static struct resource intel_quark_gpio_res[] = { +static const struct resource intel_quark_gpio_res[] = { [INTEL_QUARK_IORES_MEM] = { .flags = IORESOURCE_MEM, }, diff --git a/drivers/mfd/ioc3.c b/drivers/mfd/ioc3.c index d939ccc46509..c73ec78f255b 100644 --- a/drivers/mfd/ioc3.c +++ b/drivers/mfd/ioc3.c @@ -158,13 +158,13 @@ static int ioc3_irq_domain_setup(struct ioc3_priv_data *ipd, int irq) return -ENOMEM; } -static struct resource ioc3_uarta_resources[] = { +static const struct resource ioc3_uarta_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, sregs.uarta), sizeof_field(struct ioc3, sregs.uarta)), DEFINE_RES_IRQ(IOC3_IRQ_SERIAL_A) }; -static struct resource ioc3_uartb_resources[] = { +static const struct resource ioc3_uartb_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, sregs.uartb), sizeof_field(struct ioc3, sregs.uartb)), DEFINE_RES_IRQ(IOC3_IRQ_SERIAL_B) @@ -213,7 +213,7 @@ static int ioc3_serial_setup(struct ioc3_priv_data *ipd) return 0; } -static struct resource ioc3_kbd_resources[] = { +static const struct resource ioc3_kbd_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, serio), sizeof_field(struct ioc3, serio)), DEFINE_RES_IRQ(IOC3_IRQ_KBD) @@ -242,7 +242,7 @@ static int ioc3_kbd_setup(struct ioc3_priv_data *ipd) return 0; } -static struct resource ioc3_eth_resources[] = { +static const struct resource ioc3_eth_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, eth), sizeof_field(struct ioc3, eth)), DEFINE_RES_MEM(offsetof(struct ioc3, ssram), @@ -250,7 +250,7 @@ static struct resource ioc3_eth_resources[] = { DEFINE_RES_IRQ(0) }; -static struct resource ioc3_w1_resources[] = { +static const struct resource ioc3_w1_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, mcr), sizeof_field(struct ioc3, mcr)), }; @@ -294,7 +294,7 @@ static int ioc3_eth_setup(struct ioc3_priv_data *ipd) return 0; } -static struct resource ioc3_m48t35_resources[] = { +static const struct resource ioc3_m48t35_resources[] = { DEFINE_RES_MEM(IOC3_BYTEBUS_DEV0, M48T35_REG_SIZE) }; @@ -326,7 +326,7 @@ static struct ds1685_rtc_platform_data ip30_rtc_platform_data = { .access_type = ds1685_reg_indirect, }; -static struct resource ioc3_rtc_ds1685_resources[] = { +static const struct resource ioc3_rtc_ds1685_resources[] = { DEFINE_RES_MEM(IOC3_BYTEBUS_DEV1, 1), DEFINE_RES_MEM(IOC3_BYTEBUS_DEV2, 1), DEFINE_RES_IRQ(0) @@ -359,7 +359,7 @@ static int ioc3_ds1685_setup(struct ioc3_priv_data *ipd) }; -static struct resource ioc3_leds_resources[] = { +static const struct resource ioc3_leds_resources[] = { DEFINE_RES_MEM(offsetof(struct ioc3, gppr[0]), sizeof_field(struct ioc3, gppr[0])), DEFINE_RES_MEM(offsetof(struct ioc3, gppr[1]), diff --git a/drivers/mfd/max8925-core.c b/drivers/mfd/max8925-core.c index 0af6833b4080..eb3f061c8ee6 100644 --- a/drivers/mfd/max8925-core.c +++ b/drivers/mfd/max8925-core.c @@ -19,7 +19,7 @@ #include <linux/of.h> #include <linux/of_platform.h> -static struct resource bk_resources[] = { +static const struct resource bk_resources[] = { { 0x84, 0x84, "mode control", IORESOURCE_REG, }, { 0x85, 0x85, "control", IORESOURCE_REG, }, }; @@ -33,7 +33,7 @@ static struct mfd_cell bk_devs[] = { }, }; -static struct resource touch_resources[] = { +static const struct resource touch_resources[] = { { .name = "max8925-tsc", .start = MAX8925_TSC_IRQ, @@ -51,7 +51,7 @@ static const struct mfd_cell touch_devs[] = { }, }; -static struct resource power_supply_resources[] = { +static const struct resource power_supply_resources[] = { { .name = "max8925-power", .start = MAX8925_CHG_IRQ1, @@ -69,7 +69,7 @@ static const struct mfd_cell power_devs[] = { }, }; -static struct resource rtc_resources[] = { +static const struct resource rtc_resources[] = { { .name = "max8925-rtc", .start = MAX8925_IRQ_RTC_ALARM0, @@ -87,7 +87,7 @@ static const struct mfd_cell rtc_devs[] = { }, }; -static struct resource onkey_resources[] = { +static const struct resource onkey_resources[] = { { .name = "max8925-onkey", .start = MAX8925_IRQ_GPM_SW_R, @@ -110,95 +110,95 @@ static const struct mfd_cell onkey_devs[] = { }, }; -static struct resource sd1_resources[] = { +static const struct resource sd1_resources[] = { {0x06, 0x06, "sdv", IORESOURCE_REG, }, }; -static struct resource sd2_resources[] = { +static const struct resource sd2_resources[] = { {0x09, 0x09, "sdv", IORESOURCE_REG, }, }; -static struct resource sd3_resources[] = { +static const struct resource sd3_resources[] = { {0x0c, 0x0c, "sdv", IORESOURCE_REG, }, }; -static struct resource ldo1_resources[] = { +static const struct resource ldo1_resources[] = { {0x1a, 0x1a, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo2_resources[] = { +static const struct resource ldo2_resources[] = { {0x1e, 0x1e, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo3_resources[] = { +static const struct resource ldo3_resources[] = { {0x22, 0x22, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo4_resources[] = { +static const struct resource ldo4_resources[] = { {0x26, 0x26, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo5_resources[] = { +static const struct resource ldo5_resources[] = { {0x2a, 0x2a, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo6_resources[] = { +static const struct resource ldo6_resources[] = { {0x2e, 0x2e, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo7_resources[] = { +static const struct resource ldo7_resources[] = { {0x32, 0x32, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo8_resources[] = { +static const struct resource ldo8_resources[] = { {0x36, 0x36, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo9_resources[] = { +static const struct resource ldo9_resources[] = { {0x3a, 0x3a, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo10_resources[] = { +static const struct resource ldo10_resources[] = { {0x3e, 0x3e, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo11_resources[] = { +static const struct resource ldo11_resources[] = { {0x42, 0x42, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo12_resources[] = { +static const struct resource ldo12_resources[] = { {0x46, 0x46, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo13_resources[] = { +static const struct resource ldo13_resources[] = { {0x4a, 0x4a, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo14_resources[] = { +static const struct resource ldo14_resources[] = { {0x4e, 0x4e, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo15_resources[] = { +static const struct resource ldo15_resources[] = { {0x52, 0x52, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo16_resources[] = { +static const struct resource ldo16_resources[] = { {0x12, 0x12, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo17_resources[] = { +static const struct resource ldo17_resources[] = { {0x16, 0x16, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo18_resources[] = { +static const struct resource ldo18_resources[] = { {0x74, 0x74, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo19_resources[] = { +static const struct resource ldo19_resources[] = { {0x5e, 0x5e, "ldov", IORESOURCE_REG, }, }; -static struct resource ldo20_resources[] = { +static const struct resource ldo20_resources[] = { {0x9e, 0x9e, "ldov", IORESOURCE_REG, }, }; diff --git a/drivers/mfd/rdc321x-southbridge.c b/drivers/mfd/rdc321x-southbridge.c index fbb1faf95e27..c44a76285147 100644 --- a/drivers/mfd/rdc321x-southbridge.c +++ b/drivers/mfd/rdc321x-southbridge.c @@ -14,7 +14,7 @@ static struct rdc321x_wdt_pdata rdc321x_wdt_pdata; -static struct resource rdc321x_wdt_resource[] = { +static const struct resource rdc321x_wdt_resource[] = { { .name = "wdt-reg", .start = RDC321X_WDT_CTRL, @@ -27,7 +27,7 @@ static struct rdc321x_gpio_pdata rdc321x_gpio_pdata = { .max_gpios = RDC321X_NUM_GPIO, }; -static struct resource rdc321x_gpio_resources[] = { +static const struct resource rdc321x_gpio_resources[] = { { .name = "gpio-reg1", .start = RDC321X_GPIO_CTRL_REG1, diff --git a/drivers/mfd/retu-mfd.c b/drivers/mfd/retu-mfd.c index e7d27b7861c1..c748fd29a220 100644 --- a/drivers/mfd/retu-mfd.c +++ b/drivers/mfd/retu-mfd.c @@ -45,7 +45,7 @@ struct retu_dev { struct regmap_irq_chip_data *irq_data; }; -static struct resource retu_pwrbutton_res[] = { +static const struct resource retu_pwrbutton_res[] = { { .name = "retu-pwrbutton", .start = RETU_INT_PWR, @@ -84,7 +84,7 @@ static struct regmap_irq_chip retu_irq_chip = { /* Retu device registered for the power off. */ static struct retu_dev *retu_pm_power_off; -static struct resource tahvo_usb_res[] = { +static const struct resource tahvo_usb_res[] = { { .name = "tahvo-usb", .start = TAHVO_INT_VBUS, diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c index d109b9f14407..ad923dd4e007 100644 --- a/drivers/mfd/rk808.c +++ b/drivers/mfd/rk808.c @@ -107,20 +107,20 @@ static const struct regmap_config rk817_regmap_config = { .volatile_reg = rk817_is_volatile_reg, }; -static struct resource rtc_resources[] = { +static const struct resource rtc_resources[] = { DEFINE_RES_IRQ(RK808_IRQ_RTC_ALARM), }; -static struct resource rk817_rtc_resources[] = { +static const struct resource rk817_rtc_resources[] = { DEFINE_RES_IRQ(RK817_IRQ_RTC_ALARM), }; -static struct resource rk805_key_resources[] = { +static const struct resource rk805_key_resources[] = { DEFINE_RES_IRQ(RK805_IRQ_PWRON_RISE), DEFINE_RES_IRQ(RK805_IRQ_PWRON_FALL), }; -static struct resource rk817_pwrkey_resources[] = { +static const struct resource rk817_pwrkey_resources[] = { DEFINE_RES_IRQ(RK817_IRQ_PWRON_RISE), DEFINE_RES_IRQ(RK817_IRQ_PWRON_FALL), }; diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c index 7882a37ffc35..7614f8fe0e91 100644 --- a/drivers/mfd/tc3589x.c +++ b/drivers/mfd/tc3589x.c @@ -141,7 +141,7 @@ int tc3589x_set_bits(struct tc3589x *tc3589x, u8 reg, u8 mask, u8 val) } EXPORT_SYMBOL_GPL(tc3589x_set_bits); -static struct resource gpio_resources[] = { +static const struct resource gpio_resources[] = { { .start = TC3589x_INT_GPIIRQ, .end = TC3589x_INT_GPIIRQ, @@ -149,7 +149,7 @@ static struct resource gpio_resources[] = { }, }; -static struct resource keypad_resources[] = { +static const struct resource keypad_resources[] = { { .start = TC3589x_INT_KBDIRQ, .end = TC3589x_INT_KBDIRQ, diff --git a/drivers/mfd/tc6387xb.c b/drivers/mfd/tc6387xb.c index c66a701ab21c..e846e4d26b6e 100644 --- a/drivers/mfd/tc6387xb.c +++ b/drivers/mfd/tc6387xb.c @@ -25,7 +25,7 @@ struct tc6387xb { struct resource rscr; }; -static struct resource tc6387xb_mmc_resources[] = { +static const struct resource tc6387xb_mmc_resources[] = { { .start = 0x800, .end = 0x9ff, diff --git a/drivers/mfd/tc6393xb.c b/drivers/mfd/tc6393xb.c index 05d5059ca203..3d5b14c60e20 100644 --- a/drivers/mfd/tc6393xb.c +++ b/drivers/mfd/tc6393xb.c @@ -133,7 +133,7 @@ static int tc6393xb_nand_enable(struct platform_device *nand) return 0; } -static struct resource tc6393xb_nand_resources[] = { +static const struct resource tc6393xb_nand_resources[] = { { .start = 0x1000, .end = 0x1007, @@ -151,7 +151,7 @@ static struct resource tc6393xb_nand_resources[] = { }, }; -static struct resource tc6393xb_mmc_resources[] = { +static const struct resource tc6393xb_mmc_resources[] = { { .start = 0x800, .end = 0x9ff, @@ -192,7 +192,7 @@ static const struct resource tc6393xb_ohci_resources[] = { }, }; -static struct resource tc6393xb_fb_resources[] = { +static const struct resource tc6393xb_fb_resources[] = { { .start = 0x5000, .end = 0x51ff, diff --git a/drivers/mfd/tps65090.c b/drivers/mfd/tps65090.c index 6cdf6c315034..bd6235308c6b 100644 --- a/drivers/mfd/tps65090.c +++ b/drivers/mfd/tps65090.c @@ -38,7 +38,7 @@ #define TPS65090_INT2_MASK_OVERLOAD_FET6 6 #define TPS65090_INT2_MASK_OVERLOAD_FET7 7 -static struct resource charger_resources[] = { +static const struct resource charger_resources[] = { { .start = TPS65090_IRQ_VAC_STATUS_CHANGE, .end = TPS65090_IRQ_VAC_STATUS_CHANGE, diff --git a/drivers/mfd/tps6586x.c b/drivers/mfd/tps6586x.c index c36597797ddd..c9303d3d6602 100644 --- a/drivers/mfd/tps6586x.c +++ b/drivers/mfd/tps6586x.c @@ -92,7 +92,7 @@ static const struct tps6586x_irq_data tps6586x_irqs[] = { [TPS6586X_INT_RTC_ALM2] = TPS6586X_IRQ(TPS6586X_INT_MASK4, 1 << 1), }; -static struct resource tps6586x_rtc_resources[] = { +static const struct resource tps6586x_rtc_resources[] = { { .start = TPS6586X_INT_RTC_ALM1, .end = TPS6586X_INT_RTC_ALM1, diff --git a/drivers/mfd/tps80031.c b/drivers/mfd/tps80031.c index 907452b86e32..902e33548dd0 100644 --- a/drivers/mfd/tps80031.c +++ b/drivers/mfd/tps80031.c @@ -34,7 +34,7 @@ #include <linux/regmap.h> #include <linux/slab.h> -static struct resource tps80031_rtc_resources[] = { +static const struct resource tps80031_rtc_resources[] = { { .start = TPS80031_INT_RTC_ALARM, .end = TPS80031_INT_RTC_ALARM, -- 2.28.0 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 8/8] mfd: Constify static struct resource 2020-09-22 19:26 ` [PATCH 8/8] mfd: " Rikard Falkeborn @ 2020-11-04 11:04 ` Lee Jones 0 siblings, 0 replies; 22+ messages in thread From: Lee Jones @ 2020-11-04 11:04 UTC (permalink / raw) To: Rikard Falkeborn; +Cc: linux-kernel On Tue, 22 Sep 2020, Rikard Falkeborn wrote: > Constify a number of static struct resource. The only usage of the > structs are to assign their address to the resources field in the > mfd_cell struct. This allows the compiler to put them in read-only > memory. Done with the help of Coccinelle. > > Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com> > --- > drivers/mfd/88pm800.c | 2 +- > drivers/mfd/88pm860x-core.c | 50 +++++++++++++------------- > drivers/mfd/hi655x-pmic.c | 2 +- > drivers/mfd/intel_quark_i2c_gpio.c | 4 +-- > drivers/mfd/ioc3.c | 16 ++++----- > drivers/mfd/max8925-core.c | 56 +++++++++++++++--------------- > drivers/mfd/rdc321x-southbridge.c | 4 +-- > drivers/mfd/retu-mfd.c | 4 +-- > drivers/mfd/rk808.c | 8 ++--- > drivers/mfd/tc3589x.c | 4 +-- > drivers/mfd/tc6387xb.c | 2 +- > drivers/mfd/tc6393xb.c | 6 ++-- > drivers/mfd/tps65090.c | 2 +- > drivers/mfd/tps6586x.c | 2 +- > drivers/mfd/tps80031.c | 2 +- > 15 files changed, 82 insertions(+), 82 deletions(-) Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2020-11-04 11:05 UTC | newest] Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-09-22 19:26 [PATCH 0/8] drivers/mfd: Constify static struct resource Rikard Falkeborn 2020-09-22 19:26 ` [PATCH 1/8] mfd: da: " Rikard Falkeborn 2020-09-24 8:51 ` Adam Thomson 2020-11-04 10:56 ` Lee Jones 2020-09-22 19:26 ` [PATCH 2/8] mfd: intel: " Rikard Falkeborn 2020-09-22 21:31 ` Andy Shevchenko 2020-09-22 22:00 ` Rikard Falkeborn 2020-09-23 9:56 ` Andy Shevchenko 2020-11-04 10:56 ` Lee Jones 2020-09-22 19:26 ` [PATCH 3/8] mfd: Constify static struct resource in OMAP2+ drivers Rikard Falkeborn 2020-11-04 10:57 ` Lee Jones 2020-09-22 19:26 ` [PATCH 4/8] mfd: wm: Constify static struct resource Rikard Falkeborn 2020-09-24 15:54 ` Charles Keepax 2020-11-04 10:57 ` Lee Jones 2020-09-22 19:26 ` [PATCH 5/8] mfd: lp8788: " Rikard Falkeborn 2020-11-04 10:58 ` Lee Jones 2020-09-22 19:26 ` [PATCH 6/8] mfd: stmpe: " Rikard Falkeborn 2020-11-04 10:58 ` Lee Jones 2020-09-22 19:26 ` [PATCH 7/8] mfd: sun4i-gpadc: " Rikard Falkeborn 2020-11-04 10:59 ` Lee Jones 2020-09-22 19:26 ` [PATCH 8/8] mfd: " Rikard Falkeborn 2020-11-04 11:04 ` Lee Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).