From nobody Sat Feb 7 17:19:49 2026 Received: from msa.smtpout.orange.fr (msa-211.smtpout.orange.fr [193.252.23.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A29ED1CB32E for ; Wed, 7 Aug 2024 09:31:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.252.23.211 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023081; cv=none; b=nsCdms/v/2mA8sDGTX9jMFzh7Vj8Act2LbsdEwGSjmX4sRLdXYl1nxaNAPueHKqTMSS4eJimJMurKyBObte6uaPHVl4ZBTRYZmvZbVgaz7ZRLa9SZkkS97a/pzATvNgMa8hP+fm+fKz1RDx0fOkurVwqZU0HQM2Iqr0GiBpiAhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023081; c=relaxed/simple; bh=BYgE1GUjRLUnguJec50eXqEvnonDUY2/FawJOSVqWh4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cWIDYCgHihaUj/R6OYo9j771LuhHJBZN2HdUpfRAp22e9Yc+rYZRuyCEXPr3WuDdtV4Uxe/HRwVag5RJ44g+LX9cgkJNfR3Eeww4dG2VbnZ0xksoi2GTUY6OJwqwRNCVb8yGOzJP+IdQ2Wrjy9hLi1TspkQzN2TgCxkgkGSAw7Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=mMuB8wFA; arc=none smtp.client-ip=193.252.23.211 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="mMuB8wFA" Received: from fedora.home ([90.11.132.44]) by smtp.orange.fr with ESMTPA id bd0dsp4BgEfqMbd0gsKOn2; Wed, 07 Aug 2024 11:31:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1723023070; bh=564hBimGk2DDlvujlmab4Dw5OpWEdelZ/sCpuI9a0Gc=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=mMuB8wFAKvFx5syV9wGy9kKdAfKqcHJ1X0j5Jbl4UP8YjbF374MpGMkwlP+GHzwQ3 LFuN1zvabOdePyYNA9JH8udA6foPlTabN0DuwtOtsDEny61Tv2zoRs+ssezWQv4TBS Oabun2ZlyLQhOtlyIOKFqfeFHXKGTqhgpOpEDQvA7uOk0C0nm9cwsFCjZhfnDpGMdR 0D9zyLO36m8WBvgXTHPcJ9wdbfZ/sjw4v1v9+Mkenpoj1vQu0xg5ZjqPK9BDW06oqP DBgfi6A4tuWyerM3UaGookV5SNp7E4xpiqg+FIbv6Oec2vv/60WcmIRLxHCdB9ejjJ zNUbAd0NGMpgQ== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Wed, 07 Aug 2024 11:31:10 +0200 X-ME-IP: 90.11.132.44 From: Christophe JAILLET To: linus.walleij@linaro.org, neil.armstrong@linaro.org, khilman@baylibre.com, jbrunet@baylibre.com, martin.blumenstingl@googlemail.com Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH 1/3] pinctrl: meson: Constify struct meson_pmx_group and meson_pmx_func Date: Wed, 7 Aug 2024 11:30:55 +0200 Message-ID: <18676f51c891782c9c13bd469ec57041e9a6e0ff.1723022467.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 'struct meson_pmx_group' and 'struct meson_pmx_func' are not modified in these drivers. Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: =3D=3D=3D=3D=3D=3D text data bss dec hex filename 10818 11696 0 22514 57f2 drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 17198 17680 0 34878 883e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 14161 11200 0 25361 6311 drivers/pinctrl/meson/pinctrl-meson= 8b.o 17348 12512 0 29860 74a4 drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 9317 9648 0 18965 4a15 drivers/pinctrl/meson/pinctrl-meson= -a1.o 12115 11664 0 23779 5ce3 drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 15125 15224 0 30349 768d drivers/pinctrl/meson/pinctrl-meson= -g12a.o 13800 10160 0 23960 5d98 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 13040 9648 0 22688 58a0 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 12212 12880 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson= -s4.o After: =3D=3D=3D=3D=3D text data bss dec hex filename 21410 1096 0 22506 57ea drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 33358 1552 0 34910 885e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 24049 1336 0 25385 6329 drivers/pinctrl/meson/pinctrl-meson= 8b.o 28804 1048 0 29852 749c drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 18085 888 0 18973 4a1d drivers/pinctrl/meson/pinctrl-meson= -a1.o 22675 1112 0 23787 5ceb drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 29045 1320 0 30365 769d drivers/pinctrl/meson/pinctrl-meson= -g12a.o 22824 1136 0 23960 5d98 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 21616 1064 0 22680 5898 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 23924 1168 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson= -s4.o Signed-off-by: Christophe JAILLET Reviewed-by: Jerome Brunet Tested-by: Jerome Brunet --- Compile tested-only. --- drivers/pinctrl/meson/pinctrl-amlogic-c3.c | 4 ++-- drivers/pinctrl/meson/pinctrl-amlogic-t7.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-a1.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-axg.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson-g12a.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson-s4.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson.c | 2 +- drivers/pinctrl/meson/pinctrl-meson.h | 4 ++-- drivers/pinctrl/meson/pinctrl-meson8-pmx.c | 6 +++--- drivers/pinctrl/meson/pinctrl-meson8.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson8b.c | 8 ++++---- 14 files changed, 40 insertions(+), 40 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-c3.c index 04f1e87bae99..9c14a8781680 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-c3.c @@ -375,7 +375,7 @@ static const unsigned int spi_a_mosi_a_pins[] =3D { GP= IOA_3 }; static const unsigned int gen_clk_a4_pins[] =3D { GPIOA_4 }; static const unsigned int clk12_24_a_pins[] =3D { GPIOA_5 }; =20 -static struct meson_pmx_group c3_periphs_groups[] =3D { +static const struct meson_pmx_group c3_periphs_groups[] =3D { GPIO_GROUP(GPIOE_0), GPIO_GROUP(GPIOE_1), GPIO_GROUP(GPIOE_2), @@ -987,7 +987,7 @@ static const char * const lcd_groups[] =3D { "lcd_clk_a", "lcd_clk_x", "lcd_hs", "lcd_vs", }; =20 -static struct meson_pmx_func c3_periphs_functions[] =3D { +static const struct meson_pmx_func c3_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(uart_a), FUNCTION(uart_b), diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-t7.c index 0aed5de3f068..121158cce4f7 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-t7.c @@ -535,7 +535,7 @@ static const unsigned int i2c0_sck_h_pins[] =3D { GPIO= H_7 }; /* Bank H func3 */ static const unsigned int pcieck_reqn_h_pins[] =3D { GPIOH_2 }; =20 -static struct meson_pmx_group t7_periphs_groups[] =3D { +static const struct meson_pmx_group t7_periphs_groups[] =3D { GPIO_GROUP(GPIOB_0), GPIO_GROUP(GPIOB_1), GPIO_GROUP(GPIOB_2), @@ -1443,7 +1443,7 @@ static const char * const mic_mute_groups[] =3D { "mic_mute_key", "mic_mute_led", }; =20 -static struct meson_pmx_func t7_periphs_functions[] =3D { +static const struct meson_pmx_func t7_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(emmc), FUNCTION(nor), diff --git a/drivers/pinctrl/meson/pinctrl-meson-a1.c b/drivers/pinctrl/mes= on/pinctrl-meson-a1.c index d2ac9ca72a3e..11368ee01452 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-a1.c +++ b/drivers/pinctrl/meson/pinctrl-meson-a1.c @@ -339,7 +339,7 @@ static const unsigned int tst_out11_pins[] =3D { GPIOA= _11 }; static const unsigned int mute_key_pins[] =3D { GPIOA_4 }; static const unsigned int mute_en_pins[] =3D { GPIOA_5 }; =20 -static struct meson_pmx_group meson_a1_periphs_groups[] =3D { +static const struct meson_pmx_group meson_a1_periphs_groups[] =3D { GPIO_GROUP(GPIOP_0), GPIO_GROUP(GPIOP_1), GPIO_GROUP(GPIOP_2), @@ -832,7 +832,7 @@ static const char * const mute_groups[] =3D { "mute_key", "mute_en", }; =20 -static struct meson_pmx_func meson_a1_periphs_functions[] =3D { +static const struct meson_pmx_func meson_a1_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(psram), FUNCTION(pwm_a), diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c b/drivers/pinctr= l/meson/pinctrl-meson-axg-pmx.c index cad411d90727..2ae802ee8241 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c +++ b/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c @@ -82,8 +82,8 @@ static int meson_axg_pmx_set_mux(struct pinctrl_dev *pcde= v, int i; int ret; struct meson_pinctrl *pc =3D pinctrl_dev_get_drvdata(pcdev); - struct meson_pmx_func *func =3D &pc->data->funcs[func_num]; - struct meson_pmx_group *group =3D &pc->data->groups[group_num]; + const struct meson_pmx_func *func =3D &pc->data->funcs[func_num]; + const struct meson_pmx_group *group =3D &pc->data->groups[group_num]; struct meson_pmx_axg_data *pmx_data =3D (struct meson_pmx_axg_data *)group->data; =20 diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg.c b/drivers/pinctrl/me= son/pinctrl-meson-axg.c index 8f4e7154b73f..9fb99af8a348 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg.c +++ b/drivers/pinctrl/meson/pinctrl-meson-axg.c @@ -352,7 +352,7 @@ static const unsigned int tdmb_dout2_pins[] =3D {GPIOA_= 12}; static const unsigned int tdmb_din3_pins[] =3D {GPIOA_13}; static const unsigned int tdmb_dout3_pins[] =3D {GPIOA_13}; =20 -static struct meson_pmx_group meson_axg_periphs_groups[] =3D { +static const struct meson_pmx_group meson_axg_periphs_groups[] =3D { GPIO_GROUP(GPIOZ_0), GPIO_GROUP(GPIOZ_1), GPIO_GROUP(GPIOZ_2), @@ -675,7 +675,7 @@ static const unsigned int jtag_ao_tms_pins[] =3D {GPIOA= O_7}; /* gen_clk */ static const unsigned int gen_clk_ee_pins[] =3D {GPIOAO_13}; =20 -static struct meson_pmx_group meson_axg_aobus_groups[] =3D { +static const struct meson_pmx_group meson_axg_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -955,7 +955,7 @@ static const char * const gen_clk_ee_groups[] =3D { "gen_clk_ee", }; =20 -static struct meson_pmx_func meson_axg_periphs_functions[] =3D { +static const struct meson_pmx_func meson_axg_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(emmc), FUNCTION(nor), @@ -987,7 +987,7 @@ static struct meson_pmx_func meson_axg_periphs_function= s[] =3D { FUNCTION(tdmc), }; =20 -static struct meson_pmx_func meson_axg_aobus_functions[] =3D { +static const struct meson_pmx_func meson_axg_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao_a), FUNCTION(uart_ao_b), diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/m= eson/pinctrl-meson-g12a.c index 32830269a5b4..28a3a06e40e3 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c @@ -436,7 +436,7 @@ static const unsigned int tdm_c_dout1_z_pins[] =3D { G= PIOZ_3 }; static const unsigned int tdm_c_dout2_z_pins[] =3D { GPIOZ_4 }; static const unsigned int tdm_c_dout3_z_pins[] =3D { GPIOZ_5 }; =20 -static struct meson_pmx_group meson_g12a_periphs_groups[] =3D { +static const struct meson_pmx_group meson_g12a_periphs_groups[] =3D { GPIO_GROUP(GPIOZ_0), GPIO_GROUP(GPIOZ_1), GPIO_GROUP(GPIOZ_2), @@ -860,7 +860,7 @@ static const unsigned int tdm_ao_b_dout2_pins[] =3D { = GPIOAO_6 }; /* mclk0_ao */ static const unsigned int mclk0_ao_pins[] =3D { GPIOAO_9 }; =20 -static struct meson_pmx_group meson_g12a_aobus_groups[] =3D { +static const struct meson_pmx_group meson_g12a_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -1253,7 +1253,7 @@ static const char * const mclk0_ao_groups[] =3D { "mclk0_ao", }; =20 -static struct meson_pmx_func meson_g12a_periphs_functions[] =3D { +static const struct meson_pmx_func meson_g12a_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(emmc), FUNCTION(nor), @@ -1295,7 +1295,7 @@ static struct meson_pmx_func meson_g12a_periphs_funct= ions[] =3D { FUNCTION(tdm_c), }; =20 -static struct meson_pmx_func meson_g12a_aobus_functions[] =3D { +static const struct meson_pmx_func meson_g12a_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao_a), FUNCTION(uart_ao_b), diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/m= eson/pinctrl-meson-gxbb.c index 2867f397fec6..64f43f4bddb2 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c @@ -307,7 +307,7 @@ static const unsigned int spdif_out_ao_13_pins[] =3D { = GPIOAO_13 }; static const unsigned int ao_cec_pins[] =3D { GPIOAO_12 }; static const unsigned int ee_cec_pins[] =3D { GPIOAO_12 }; =20 -static struct meson_pmx_group meson_gxbb_periphs_groups[] =3D { +static const struct meson_pmx_group meson_gxbb_periphs_groups[] =3D { GPIO_GROUP(GPIOZ_0), GPIO_GROUP(GPIOZ_1), GPIO_GROUP(GPIOZ_2), @@ -541,7 +541,7 @@ static struct meson_pmx_group meson_gxbb_periphs_groups= [] =3D { GROUP(sdcard_clk, 2, 11), }; =20 -static struct meson_pmx_group meson_gxbb_aobus_groups[] =3D { +static const struct meson_pmx_group meson_gxbb_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -798,7 +798,7 @@ static const char * const cec_ao_groups[] =3D { "ao_cec", "ee_cec", }; =20 -static struct meson_pmx_func meson_gxbb_periphs_functions[] =3D { +static const struct meson_pmx_func meson_gxbb_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(emmc), FUNCTION(nor), @@ -829,7 +829,7 @@ static struct meson_pmx_func meson_gxbb_periphs_functio= ns[] =3D { FUNCTION(tsin_b), }; =20 -static struct meson_pmx_func meson_gxbb_aobus_functions[] =3D { +static const struct meson_pmx_func meson_gxbb_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao), FUNCTION(uart_ao_b), diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/me= son/pinctrl-meson-gxl.c index a2f25fa02852..f812393e5b2c 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c @@ -301,7 +301,7 @@ static const unsigned int spdif_out_ao_9_pins[] =3D { G= PIOAO_9 }; static const unsigned int ao_cec_pins[] =3D { GPIOAO_8 }; static const unsigned int ee_cec_pins[] =3D { GPIOAO_8 }; =20 -static struct meson_pmx_group meson_gxl_periphs_groups[] =3D { +static const struct meson_pmx_group meson_gxl_periphs_groups[] =3D { GPIO_GROUP(GPIOZ_0), GPIO_GROUP(GPIOZ_1), GPIO_GROUP(GPIOZ_2), @@ -527,7 +527,7 @@ static struct meson_pmx_group meson_gxl_periphs_groups[= ] =3D { GROUP(pwm_f_clk, 8, 30), }; =20 -static struct meson_pmx_group meson_gxl_aobus_groups[] =3D { +static const struct meson_pmx_group meson_gxl_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -763,7 +763,7 @@ static const char * const cec_ao_groups[] =3D { "ao_cec", "ee_cec", }; =20 -static struct meson_pmx_func meson_gxl_periphs_functions[] =3D { +static const struct meson_pmx_func meson_gxl_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(emmc), FUNCTION(nor), @@ -793,7 +793,7 @@ static struct meson_pmx_func meson_gxl_periphs_function= s[] =3D { FUNCTION(tsin_b), }; =20 -static struct meson_pmx_func meson_gxl_aobus_functions[] =3D { +static const struct meson_pmx_func meson_gxl_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao), FUNCTION(uart_ao_b), diff --git a/drivers/pinctrl/meson/pinctrl-meson-s4.c b/drivers/pinctrl/mes= on/pinctrl-meson-s4.c index 60c7d5003e8a..6a6bd767ae0a 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-s4.c +++ b/drivers/pinctrl/meson/pinctrl-meson-s4.c @@ -411,7 +411,7 @@ static const unsigned int s2_demod_gpio0_pins[] =3D { = GPIOZ_12 }; static const unsigned int gen_clk_z9_pins[] =3D { GPIOZ_9 }; static const unsigned int gen_clk_z12_pins[] =3D { GPIOZ_12 }; =20 -static struct meson_pmx_group meson_s4_periphs_groups[] =3D { +static const struct meson_pmx_group meson_s4_periphs_groups[] =3D { GPIO_GROUP(GPIOE_0), GPIO_GROUP(GPIOE_1), =20 @@ -1100,7 +1100,7 @@ static const char * const s2_demod_groups[] =3D { "s2_demod_gpio3", "s2_demod_gpio2", "s2_demod_gpio1", "s2_demod_gpio0", }; =20 -static struct meson_pmx_func meson_s4_periphs_functions[] =3D { +static const struct meson_pmx_func meson_s4_periphs_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(i2c0), FUNCTION(i2c1), diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/= pinctrl-meson.c index ef002b9dd464..1a58f135aca9 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -528,7 +528,7 @@ static int meson_pinconf_group_set(struct pinctrl_dev *= pcdev, unsigned long *configs, unsigned num_configs) { struct meson_pinctrl *pc =3D pinctrl_dev_get_drvdata(pcdev); - struct meson_pmx_group *group =3D &pc->data->groups[num_group]; + const struct meson_pmx_group *group =3D &pc->data->groups[num_group]; int i; =20 dev_dbg(pc->dev, "set pinconf for group %s\n", group->name); diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/= pinctrl-meson.h index 34fc4e8612e4..395362c33d59 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.h +++ b/drivers/pinctrl/meson/pinctrl-meson.h @@ -110,8 +110,8 @@ struct meson_bank { struct meson_pinctrl_data { const char *name; const struct pinctrl_pin_desc *pins; - struct meson_pmx_group *groups; - struct meson_pmx_func *funcs; + const struct meson_pmx_group *groups; + const struct meson_pmx_func *funcs; unsigned int num_pins; unsigned int num_groups; unsigned int num_funcs; diff --git a/drivers/pinctrl/meson/pinctrl-meson8-pmx.c b/drivers/pinctrl/m= eson/pinctrl-meson8-pmx.c index 7f22aa0f8e36..10adf52edda6 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8-pmx.c +++ b/drivers/pinctrl/meson/pinctrl-meson8-pmx.c @@ -32,7 +32,7 @@ static void meson8_pmx_disable_other_groups(struct meson_pinctrl *pc, unsigned int pin, int sel_group) { - struct meson_pmx_group *group; + const struct meson_pmx_group *group; struct meson8_pmx_data *pmx_data; int i, j; =20 @@ -57,8 +57,8 @@ static int meson8_pmx_set_mux(struct pinctrl_dev *pcdev, = unsigned func_num, unsigned group_num) { struct meson_pinctrl *pc =3D pinctrl_dev_get_drvdata(pcdev); - struct meson_pmx_func *func =3D &pc->data->funcs[func_num]; - struct meson_pmx_group *group =3D &pc->data->groups[group_num]; + const struct meson_pmx_func *func =3D &pc->data->funcs[func_num]; + const struct meson_pmx_group *group =3D &pc->data->groups[group_num]; struct meson8_pmx_data *pmx_data =3D (struct meson8_pmx_data *)group->data; int i, ret =3D 0; diff --git a/drivers/pinctrl/meson/pinctrl-meson8.c b/drivers/pinctrl/meson= /pinctrl-meson8.c index dd17100efdcf..af479d4b3e2a 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8.c +++ b/drivers/pinctrl/meson/pinctrl-meson8.c @@ -405,7 +405,7 @@ static const unsigned int i2s_out_ch01_ao_pins[] =3D { = GPIOAO_11 }; =20 static const unsigned int hdmi_cec_ao_pins[] =3D { GPIOAO_12 }; =20 -static struct meson_pmx_group meson8_cbus_groups[] =3D { +static const struct meson_pmx_group meson8_cbus_groups[] =3D { GPIO_GROUP(GPIOX_0), GPIO_GROUP(GPIOX_1), GPIO_GROUP(GPIOX_2), @@ -745,7 +745,7 @@ static struct meson_pmx_group meson8_cbus_groups[] =3D { GROUP(sdxc_cmd_b, 2, 4), }; =20 -static struct meson_pmx_group meson8_aobus_groups[] =3D { +static const struct meson_pmx_group meson8_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -1015,7 +1015,7 @@ static const char * const hdmi_cec_ao_groups[] =3D { "hdmi_cec_ao" }; =20 -static struct meson_pmx_func meson8_cbus_functions[] =3D { +static const struct meson_pmx_func meson8_cbus_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(sd_a), FUNCTION(sdxc_a), @@ -1051,7 +1051,7 @@ static struct meson_pmx_func meson8_cbus_functions[] = =3D { FUNCTION(spdif), }; =20 -static struct meson_pmx_func meson8_aobus_functions[] =3D { +static const struct meson_pmx_func meson8_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao), FUNCTION(remote), diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meso= n/pinctrl-meson8b.c index 6cd4b3ec1b40..f1a8950d0bde 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8b.c +++ b/drivers/pinctrl/meson/pinctrl-meson8b.c @@ -349,7 +349,7 @@ static const unsigned int eth_ref_clk_pins[] =3D { DIF_= 3_N }; static const unsigned int eth_mdc_pins[] =3D { DIF_4_P }; static const unsigned int eth_mdio_en_pins[] =3D { DIF_4_N }; =20 -static struct meson_pmx_group meson8b_cbus_groups[] =3D { +static const struct meson_pmx_group meson8b_cbus_groups[] =3D { GPIO_GROUP(GPIOX_0), GPIO_GROUP(GPIOX_1), GPIO_GROUP(GPIOX_2), @@ -603,7 +603,7 @@ static struct meson_pmx_group meson8b_cbus_groups[] =3D= { GROUP(eth_rxd2, 7, 23), }; =20 -static struct meson_pmx_group meson8b_aobus_groups[] =3D { +static const struct meson_pmx_group meson8b_aobus_groups[] =3D { GPIO_GROUP(GPIOAO_0), GPIO_GROUP(GPIOAO_1), GPIO_GROUP(GPIOAO_2), @@ -869,7 +869,7 @@ static const char * const tsin_b_groups[] =3D { "tsin_d0_b", "tsin_clk_b", "tsin_sop_b", "tsin_d_valid_b" }; =20 -static struct meson_pmx_func meson8b_cbus_functions[] =3D { +static const struct meson_pmx_func meson8b_cbus_functions[] =3D { FUNCTION(gpio_periphs), FUNCTION(sd_a), FUNCTION(sdxc_a), @@ -903,7 +903,7 @@ static struct meson_pmx_func meson8b_cbus_functions[] = =3D { FUNCTION(clk_24m), }; =20 -static struct meson_pmx_func meson8b_aobus_functions[] =3D { +static const struct meson_pmx_func meson8b_aobus_functions[] =3D { FUNCTION(gpio_aobus), FUNCTION(uart_ao), FUNCTION(uart_ao_b), --=20 2.45.2 From nobody Sat Feb 7 17:19:49 2026 Received: from smtp.smtpout.orange.fr (smtp-17.smtpout.orange.fr [80.12.242.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 892981AE87B for ; Wed, 7 Aug 2024 09:32:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023141; cv=none; b=tl6lCF4vKCC2hCyOzxFIFXqADqAi4Tngze6zUxGVtv2SFNYqi+p2fSQ0Lw/5tIu0Rgn8O3A+xTCs76mHQOI8FW/t+W9MGg7yELwFWIWKyMZFPmkEhIauTHFyG6eJikZ+ykJrJysU9KijuDMgO1Zo7/NewdqTspSGpsiHXxTpieQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023141; c=relaxed/simple; bh=MHs5eZc9xHTNYyTHCGC6sET1uRc3FKADsedYYLneOGk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=laMB+eZA0dnlfuGfIknQagl+bhlKP4aX4em40R4ZsNgUNXI9rYd0RGbFetW6WymqsAjCTsAY7Dv5P7fww5mCJx6Cb7IldF8cHhhgfBR+grQn/4d8mpuG3ChQ0ZldF+tLmjRTy1VMeAY5EY9ygyZKLjbwoGv5ZTWEXKdaKrDwTGc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=MeACkENj; arc=none smtp.client-ip=80.12.242.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="MeACkENj" Received: from fedora.home ([90.11.132.44]) by smtp.orange.fr with ESMTPA id bd0dsp4BgEfqMbd0ksKOqu; Wed, 07 Aug 2024 11:31:18 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1723023078; bh=bsI1qKNELC3ZAxwyF5BnU/06ie3d7l3SL5EkeyJY11Y=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=MeACkENjzmthnJ8Bn/5QsNgrPgrDcg7YvxzV/mHCmv9idL1y94bq0N+x9LG2rricy bFogyIOCDw0sK5ZGaCkYLfjsWo7FiI17NIbFwNYCgKn0kM5OwhxX2mhofVrSlljY15 sZnWjWm0zIJBwecOKUkNirPf6WhQsejcOYMW8MrdJBvOQPzX2vtXfGebQR3wnanJdi 10ArUxNvsYNInK3OtXMXGQMbxRTPYbBIFCQ1dx1dnn2rC1ctzofNHSiOL1nLgeDtKr AcXuQByVy9LRy+LxW6t7RCS06dMVegOMdjqgoOQW6PcP17L2UunzNkgf+qqEE/+Iit TfZ6mzYk3LyLA== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Wed, 07 Aug 2024 11:31:18 +0200 X-ME-IP: 90.11.132.44 From: Christophe JAILLET To: linus.walleij@linaro.org, neil.armstrong@linaro.org, khilman@baylibre.com, jbrunet@baylibre.com, martin.blumenstingl@googlemail.com Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH 2/3] pinctrl: meson: Constify struct meson_bank Date: Wed, 7 Aug 2024 11:30:56 +0200 Message-ID: <9c720086e1bba8dc44f15ac435711468d0e6a591.1723022467.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 'struct meson_bank' are not modified in these drivers. Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: =3D=3D=3D=3D=3D=3D text data bss dec hex filename 21410 1096 0 22506 57ea drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 33358 1552 0 34910 885e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 24049 1336 0 25385 6329 drivers/pinctrl/meson/pinctrl-meson= 8b.o 28804 1048 0 29852 749c drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 18085 888 0 18973 4a1d drivers/pinctrl/meson/pinctrl-meson= -a1.o 22675 1112 0 23787 5ceb drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 29045 1320 0 30365 769d drivers/pinctrl/meson/pinctrl-meson= -g12a.o 22824 1136 0 23960 5d98 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 21616 1064 0 22680 5898 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 23924 1168 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson= -s4.o After: =3D=3D=3D=3D=3D 21922 568 0 22490 57da drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 34222 688 0 34910 885e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 24945 440 0 25385 6329 drivers/pinctrl/meson/pinctrl-meson= 8b.o 29412 440 0 29852 749c drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 18469 520 0 18989 4a2d drivers/pinctrl/meson/pinctrl-meson= -a1.o 23155 648 0 23803 5cfb drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 29653 712 0 30365 769d drivers/pinctrl/meson/pinctrl-meson= -g12a.o 23496 456 0 23952 5d90 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 22224 456 0 22680 5898 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 24500 592 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson= -s4.o Signed-off-by: Christophe JAILLET Reviewed-by: Jerome Brunet Tested-by: Jerome Brunet --- Compile tested-only. --- drivers/pinctrl/meson/pinctrl-amlogic-c3.c | 2 +- drivers/pinctrl/meson/pinctrl-amlogic-t7.c | 2 +- drivers/pinctrl/meson/pinctrl-meson-a1.c | 2 +- drivers/pinctrl/meson/pinctrl-meson-axg.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-g12a.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-s4.c | 2 +- drivers/pinctrl/meson/pinctrl-meson.c | 23 +++++++++++----------- drivers/pinctrl/meson/pinctrl-meson.h | 2 +- drivers/pinctrl/meson/pinctrl-meson8.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson8b.c | 4 ++-- 12 files changed, 29 insertions(+), 28 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-c3.c index 9c14a8781680..aeaa810e855b 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-c3.c @@ -1036,7 +1036,7 @@ static const struct meson_pmx_func c3_periphs_functio= ns[] =3D { FUNCTION(lcd), }; =20 -static struct meson_bank c3_periphs_banks[] =3D { +static const struct meson_bank c3_periphs_banks[] =3D { /* name first last irq pullen pull dir out in ds */ BANK_DS("X", GPIOX_0, GPIOX_13, 40, 53, 0x03, 0, 0x04, 0, 0x02, 0, 0x01, 0, 0x00, 0, 0x07, 0), diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-t7.c index 121158cce4f7..f880b36c3b54 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-t7.c @@ -1524,7 +1524,7 @@ static const struct meson_pmx_func t7_periphs_functio= ns[] =3D { FUNCTION(mic_mute), }; =20 -static struct meson_bank t7_periphs_banks[] =3D { +static const struct meson_bank t7_periphs_banks[] =3D { /* name first last irq pullen pull dir out in ds */ BANK_DS("D", GPIOD_0, GPIOD_12, 57, 69, 0x03, 0, 0x04, 0, 0x02, 0, 0x01, 0, 0x00, 0, 0x07, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson-a1.c b/drivers/pinctrl/mes= on/pinctrl-meson-a1.c index 11368ee01452..e0589ce8dd2e 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-a1.c +++ b/drivers/pinctrl/meson/pinctrl-meson-a1.c @@ -875,7 +875,7 @@ static const struct meson_pmx_func meson_a1_periphs_fun= ctions[] =3D { FUNCTION(mute), }; =20 -static struct meson_bank meson_a1_periphs_banks[] =3D { +static const struct meson_bank meson_a1_periphs_banks[] =3D { /* name first last irq pullen pull dir out in ds*/ BANK_DS("P", GPIOP_0, GPIOP_12, 0, 12, 0x3, 0, 0x4, 0, 0x2, 0, 0x1, 0, 0x0, 0, 0x5, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg.c b/drivers/pinctrl/me= son/pinctrl-meson-axg.c index 9fb99af8a348..9968bd68f129 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg.c +++ b/drivers/pinctrl/meson/pinctrl-meson-axg.c @@ -1003,7 +1003,7 @@ static const struct meson_pmx_func meson_axg_aobus_fu= nctions[] =3D { FUNCTION(gen_clk_ee), }; =20 -static struct meson_bank meson_axg_periphs_banks[] =3D { +static const struct meson_bank meson_axg_periphs_banks[] =3D { /* name first last irq pullen pull dir out = in */ BANK("Z", GPIOZ_0, GPIOZ_10, 14, 24, 3, 0, 3, 0, 9, 0, 10, 0, = 11, 0), BANK("BOOT", BOOT_0, BOOT_14, 25, 39, 4, 0, 4, 0, 12, 0, 13, 0, 1= 4, 0), @@ -1012,7 +1012,7 @@ static struct meson_bank meson_axg_periphs_banks[] = =3D { BANK("Y", GPIOY_0, GPIOY_15, 84, 99, 1, 0, 1, 0, 3, 0, 4, 0, 5= , 0), }; =20 -static struct meson_bank meson_axg_aobus_banks[] =3D { +static const struct meson_bank meson_axg_aobus_banks[] =3D { /* name first last irq pullen pull dir out in = */ BANK("AO", GPIOAO_0, GPIOAO_13, 0, 13, 0, 16, 0, 0, 0, 0, 0, 16, = 1, 0), }; diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/m= eson/pinctrl-meson-g12a.c index 28a3a06e40e3..0d901b2d1193 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c @@ -1317,7 +1317,7 @@ static const struct meson_pmx_func meson_g12a_aobus_f= unctions[] =3D { FUNCTION(mclk0_ao), }; =20 -static struct meson_bank meson_g12a_periphs_banks[] =3D { +static const struct meson_bank meson_g12a_periphs_banks[] =3D { /* name first last irq pullen pull dir out in ds */ BANK_DS("Z", GPIOZ_0, GPIOZ_15, IRQID_GPIOZ_0, IRQID_GPIOZ_15, 4, 0, 4, 0, 12, 0, 13, 0, 14, 0, 5, 0), @@ -1333,7 +1333,7 @@ static struct meson_bank meson_g12a_periphs_banks[] = =3D { 2, 0, 2, 0, 6, 0, 7, 0, 8, 0, 2, 0), }; =20 -static struct meson_bank meson_g12a_aobus_banks[] =3D { +static const struct meson_bank meson_g12a_aobus_banks[] =3D { /* name first last irq pullen pull dir out in ds */ BANK_DS("AO", GPIOAO_0, GPIOAO_11, IRQID_GPIOAO_0, IRQID_GPIOAO_11, 3, 0, 2, 0, 0, 0, 4, 0, 1, 0, 0, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/m= eson/pinctrl-meson-gxbb.c index 64f43f4bddb2..45d292e339fa 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c @@ -845,7 +845,7 @@ static const struct meson_pmx_func meson_gxbb_aobus_fun= ctions[] =3D { FUNCTION(cec_ao), }; =20 -static struct meson_bank meson_gxbb_periphs_banks[] =3D { +static const struct meson_bank meson_gxbb_periphs_banks[] =3D { /* name first last irq pullen pull dir out = in */ BANK("X", GPIOX_0, GPIOX_22, 106, 128, 4, 0, 4, 0, 12, 0, 13, 0,= 14, 0), BANK("Y", GPIOY_0, GPIOY_16, 89, 105, 1, 0, 1, 0, 3, 0, 4, 0,= 5, 0), @@ -857,7 +857,7 @@ static struct meson_bank meson_gxbb_periphs_banks[] =3D= { BANK("CLK", GPIOCLK_0, GPIOCLK_3, 129, 132, 3, 28, 3, 28, 9, 28, 10, 2= 8, 11, 28), }; =20 -static struct meson_bank meson_gxbb_aobus_banks[] =3D { +static const struct meson_bank meson_gxbb_aobus_banks[] =3D { /* name first last irq pullen pull dir out = in */ BANK("AO", GPIOAO_0, GPIOAO_13, 0, 13, 0, 16, 0, 0, 0, 0, 0, 16, = 1, 0), }; diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/me= son/pinctrl-meson-gxl.c index f812393e5b2c..8744750be015 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c +++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c @@ -807,7 +807,7 @@ static const struct meson_pmx_func meson_gxl_aobus_func= tions[] =3D { FUNCTION(cec_ao), }; =20 -static struct meson_bank meson_gxl_periphs_banks[] =3D { +static const struct meson_bank meson_gxl_periphs_banks[] =3D { /* name first last irq pullen pull dir out = in */ BANK("X", GPIOX_0, GPIOX_18, 89, 107, 4, 0, 4, 0, 12, 0, 13, 0,= 14, 0), BANK("DV", GPIODV_0, GPIODV_29, 83, 88, 0, 0, 0, 0, 0, 0, 1, 0= , 2, 0), @@ -818,7 +818,7 @@ static struct meson_bank meson_gxl_periphs_banks[] =3D { BANK("CLK", GPIOCLK_0, GPIOCLK_1, 108, 109, 3, 28, 3, 28, 9, 28, 10, 2= 8, 11, 28), }; =20 -static struct meson_bank meson_gxl_aobus_banks[] =3D { +static const struct meson_bank meson_gxl_aobus_banks[] =3D { /* name first last irq pullen pull dir out in = */ BANK("AO", GPIOAO_0, GPIOAO_9, 0, 9, 0, 16, 0, 0, 0, 0, 0, 16, 1= , 0), }; diff --git a/drivers/pinctrl/meson/pinctrl-meson-s4.c b/drivers/pinctrl/mes= on/pinctrl-meson-s4.c index 6a6bd767ae0a..6641bef76e58 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-s4.c +++ b/drivers/pinctrl/meson/pinctrl-meson-s4.c @@ -1160,7 +1160,7 @@ static const struct meson_pmx_func meson_s4_periphs_f= unctions[] =3D { FUNCTION(s2_demod), }; =20 -static struct meson_bank meson_s4_periphs_banks[] =3D { +static const struct meson_bank meson_s4_periphs_banks[] =3D { /* name first last irq pullen pull dir out in */ BANK_DS("B", GPIOB_0, GPIOB_13, 0, 13, 0x63, 0, 0x64, 0, 0x62, 0, 0x61, 0, 0x60, 0, 0x67, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/= pinctrl-meson.c index 1a58f135aca9..253a0cc57e39 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.c +++ b/drivers/pinctrl/meson/pinctrl-meson.c @@ -70,7 +70,7 @@ static const unsigned int meson_bit_strides[] =3D { * Return: 0 on success, a negative value on error */ static int meson_get_bank(struct meson_pinctrl *pc, unsigned int pin, - struct meson_bank **bank) + const struct meson_bank **bank) { int i; =20 @@ -94,11 +94,12 @@ static int meson_get_bank(struct meson_pinctrl *pc, uns= igned int pin, * @reg: the computed register offset * @bit: the computed bit */ -static void meson_calc_reg_and_bit(struct meson_bank *bank, unsigned int p= in, +static void meson_calc_reg_and_bit(const struct meson_bank *bank, + unsigned int pin, enum meson_reg_type reg_type, unsigned int *reg, unsigned int *bit) { - struct meson_reg_desc *desc =3D &bank->regs[reg_type]; + const struct meson_reg_desc *desc =3D &bank->regs[reg_type]; =20 *bit =3D (desc->bit + pin - bank->first) * meson_bit_strides[reg_type]; *reg =3D (desc->reg + (*bit / 32)) * 4; @@ -181,7 +182,7 @@ static int meson_pinconf_set_gpio_bit(struct meson_pinc= trl *pc, unsigned int reg_type, bool arg) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit; int ret; =20 @@ -198,7 +199,7 @@ static int meson_pinconf_get_gpio_bit(struct meson_pinc= trl *pc, unsigned int pin, unsigned int reg_type) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit, val; int ret; =20 @@ -261,7 +262,7 @@ static int meson_pinconf_set_output_drive(struct meson_= pinctrl *pc, static int meson_pinconf_disable_bias(struct meson_pinctrl *pc, unsigned int pin) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit =3D 0; int ret; =20 @@ -280,7 +281,7 @@ static int meson_pinconf_disable_bias(struct meson_pinc= trl *pc, static int meson_pinconf_enable_bias(struct meson_pinctrl *pc, unsigned in= t pin, bool pull_up) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit, val =3D 0; int ret; =20 @@ -308,7 +309,7 @@ static int meson_pinconf_set_drive_strength(struct meso= n_pinctrl *pc, unsigned int pin, u16 drive_strength_ua) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit, ds_val; int ret; =20 @@ -399,7 +400,7 @@ static int meson_pinconf_set(struct pinctrl_dev *pcdev,= unsigned int pin, =20 static int meson_pinconf_get_pull(struct meson_pinctrl *pc, unsigned int p= in) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit, val; int ret, conf; =20 @@ -435,7 +436,7 @@ static int meson_pinconf_get_drive_strength(struct meso= n_pinctrl *pc, unsigned int pin, u16 *drive_strength_ua) { - struct meson_bank *bank; + const struct meson_bank *bank; unsigned int reg, bit; unsigned int val; int ret; @@ -587,8 +588,8 @@ static void meson_gpio_set(struct gpio_chip *chip, unsi= gned gpio, int value) static int meson_gpio_get(struct gpio_chip *chip, unsigned gpio) { struct meson_pinctrl *pc =3D gpiochip_get_data(chip); + const struct meson_bank *bank; unsigned int reg, bit, val; - struct meson_bank *bank; int ret; =20 ret =3D meson_get_bank(pc, gpio, &bank); diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/= pinctrl-meson.h index 395362c33d59..d94d9d9fa5e9 100644 --- a/drivers/pinctrl/meson/pinctrl-meson.h +++ b/drivers/pinctrl/meson/pinctrl-meson.h @@ -115,7 +115,7 @@ struct meson_pinctrl_data { unsigned int num_pins; unsigned int num_groups; unsigned int num_funcs; - struct meson_bank *banks; + const struct meson_bank *banks; unsigned int num_banks; const struct pinmux_ops *pmx_ops; void *pmx_data; diff --git a/drivers/pinctrl/meson/pinctrl-meson8.c b/drivers/pinctrl/meson= /pinctrl-meson8.c index af479d4b3e2a..c0db0b1c8564 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8.c +++ b/drivers/pinctrl/meson/pinctrl-meson8.c @@ -1063,7 +1063,7 @@ static const struct meson_pmx_func meson8_aobus_funct= ions[] =3D { FUNCTION(hdmi_cec_ao), }; =20 -static struct meson_bank meson8_cbus_banks[] =3D { +static const struct meson_bank meson8_cbus_banks[] =3D { /* name first last irq pullen pull dir out= in */ BANK("X", GPIOX_0, GPIOX_21, 112, 133, 4, 0, 4, 0, 0, 0, 1, = 0, 2, 0), BANK("Y", GPIOY_0, GPIOY_16, 95, 111, 3, 0, 3, 0, 3, 0, 4, = 0, 5, 0), @@ -1074,7 +1074,7 @@ static struct meson_bank meson8_cbus_banks[] =3D { BANK("BOOT", BOOT_0, BOOT_18, 39, 57, 2, 0, 2, 0, 9, 0, 10, = 0, 11, 0), }; =20 -static struct meson_bank meson8_aobus_banks[] =3D { +static const struct meson_bank meson8_aobus_banks[] =3D { /* name first last irq pullen pull dir out = in */ BANK("AO", GPIOAO_0, GPIO_TEST_N, 0, 13, 0, 16, 0, 0, 0, 0, 0, 16,= 1, 0), }; diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meso= n/pinctrl-meson8b.c index f1a8950d0bde..5b9042849966 100644 --- a/drivers/pinctrl/meson/pinctrl-meson8b.c +++ b/drivers/pinctrl/meson/pinctrl-meson8b.c @@ -917,7 +917,7 @@ static const struct meson_pmx_func meson8b_aobus_functi= ons[] =3D { FUNCTION(hdmi_cec), }; =20 -static struct meson_bank meson8b_cbus_banks[] =3D { +static const struct meson_bank meson8b_cbus_banks[] =3D { /* name first last irq pullen pull d= ir out in */ BANK("X0..11", GPIOX_0, GPIOX_11, 97, 108, 4, 0, 4, 0, 0, 0, = 1, 0, 2, 0), BANK("X16..21", GPIOX_16, GPIOX_21, 113, 118, 4, 16, 4, 16, 0, 16,= 1, 16, 2, 16), @@ -938,7 +938,7 @@ static struct meson_bank meson8b_cbus_banks[] =3D { BANK("DIF", DIF_0_P, DIF_4_N, -1, -1, 5, 8, 5, 8, 12, 12, 13,= 12, 14, 12), }; =20 -static struct meson_bank meson8b_aobus_banks[] =3D { +static const struct meson_bank meson8b_aobus_banks[] =3D { /* name first lastc irq pullen pull dir out = in */ BANK("AO", GPIOAO_0, GPIO_TEST_N, 0, 13, 0, 16, 0, 0, 0, 0, 0, 16, = 1, 0), }; --=20 2.45.2 From nobody Sat Feb 7 17:19:49 2026 Received: from msa.smtpout.orange.fr (smtp-73.smtpout.orange.fr [80.12.242.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FED11D1F40 for ; Wed, 7 Aug 2024 09:31:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023090; cv=none; b=ApkzcKnTlt49/39fG012rMsC2/MnUyzV4fZJUbIte4Yp67wxLubIF9LCFQLb5SlG+ezKKtMO1zcSQryogN7EdTOaF14EyaYrtg4F6sGJKOrXDGDsAj+beEQseq8ymPy4CyvLDwIZNFghvM1zPKFVDbMk/BqGk8zI4eouSYm7ES8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723023090; c=relaxed/simple; bh=aj/++CQ2LIjr5eC/DP1KWBwkjwhM4LjMV/JpqGp5M34=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=as70IYs/1/hon97Vmb7VYR4l0mk31CiaqCTpkCyUl1fZ5ryXMOfVWpZgQgJ0i+s1b4AWiFwWokDM8rovnoPqwlHJtuAnnLlfaDaVkcmlxs4qN+VnDSrEK9vnhbLgaWQhOBOYTjwDdsVqdBX9XnwguAwk3OX0cPWjU5FcOqsss5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=ORqQCsj5; arc=none smtp.client-ip=80.12.242.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="ORqQCsj5" Received: from fedora.home ([90.11.132.44]) by smtp.orange.fr with ESMTPA id bd0dsp4BgEfqMbd0ysKP2t; Wed, 07 Aug 2024 11:31:28 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1723023088; bh=2C3jei8qGjaeHHaxcoYOstyMZe51q3BSOSUGHICZ6Ic=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=ORqQCsj5j62YmMnNQTBT4+g5iYIL1m3+/DdnRUiBsNPVYnLvQWfOMQy0cSCmaSpwI xktdcZ1irO/OZvg2TdiCRXtVPlDNP8KRVnICtGQtU7/ugN9jMqH7cc+hMPh8nekpxw tNBHNJntuIBkcXI9+CprHaK8p6IkLSi9zWtSXxfPJdgbHSOc7BdJXwy5TWvWs0fWkY vq3TVinDFNsJowcn1rdkYf5vszxqZGpkop6QLHnKsQY/YRLOHeeEva3ceFWoc392ox Q2LjlrqnIvtQsH+MvtQw856bx1yDLPFZ50zLpzGDXRLpaxgv69SyuDlZDj39LxKJOg Iw8SI9QzmRuwA== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Wed, 07 Aug 2024 11:31:28 +0200 X-ME-IP: 90.11.132.44 From: Christophe JAILLET To: linus.walleij@linaro.org, neil.armstrong@linaro.org, khilman@baylibre.com, jbrunet@baylibre.com, martin.blumenstingl@googlemail.com Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH 3/3] pinctrl: meson: Constify struct meson_pmx_bank Date: Wed, 7 Aug 2024 11:30:57 +0200 Message-ID: <00e8dec399bd188a241eff694b334e27da096aed.1723022467.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 'struct meson_pmx_bank' are not modified in these drivers. Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: =3D=3D=3D=3D=3D=3D text data bss dec hex filename 21922 568 0 22490 57da drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 34222 688 0 34910 885e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 24945 440 0 25385 6329 drivers/pinctrl/meson/pinctrl-meson= 8b.o 29412 440 0 29852 749c drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 18469 520 0 18989 4a2d drivers/pinctrl/meson/pinctrl-meson= -a1.o 23155 648 0 23803 5cfb drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 29653 712 0 30365 769d drivers/pinctrl/meson/pinctrl-meson= -g12a.o 23496 456 0 23952 5d90 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 22224 456 0 22680 5898 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 24500 592 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson= -s4.o After: =3D=3D=3D=3D=3D text data bss dec hex filename 22114 384 0 22498 57e2 drivers/pinctrl/meson/pinctrl-amlog= ic-c3.o 34510 384 0 34894 884e drivers/pinctrl/meson/pinctrl-amlog= ic-t7.o 24945 440 0 25385 6329 drivers/pinctrl/meson/pinctrl-meson= 8b.o 29412 440 0 29852 749c drivers/pinctrl/meson/pinctrl-meson= 8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson= 8-pmx.o 18597 384 0 18981 4a25 drivers/pinctrl/meson/pinctrl-meson= -a1.o 23315 496 0 23811 5d03 drivers/pinctrl/meson/pinctrl-meson= -axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson= -axg-pmx.o 29877 504 0 30381 76ad drivers/pinctrl/meson/pinctrl-meson= -g12a.o 23496 456 0 23952 5d90 drivers/pinctrl/meson/pinctrl-meson= -gxbb.o 22224 456 0 22680 5898 drivers/pinctrl/meson/pinctrl-meson= -gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson= .o 24692 384 0 25076 61f4 drivers/pinctrl/meson/pinctrl-meson= -s4.o Signed-off-by: Christophe JAILLET Reviewed-by: Jerome Brunet Tested-by: Jerome Brunet --- Compile tested-only. --- drivers/pinctrl/meson/pinctrl-amlogic-c3.c | 2 +- drivers/pinctrl/meson/pinctrl-amlogic-t7.c | 2 +- drivers/pinctrl/meson/pinctrl-meson-a1.c | 2 +- drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c | 8 ++++---- drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h | 2 +- drivers/pinctrl/meson/pinctrl-meson-axg.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-g12a.c | 4 ++-- drivers/pinctrl/meson/pinctrl-meson-s4.c | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-c3.c index aeaa810e855b..b94c494249e9 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-c3.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-c3.c @@ -1054,7 +1054,7 @@ static const struct meson_bank c3_periphs_banks[] =3D= { 0x73, 0, 0x74, 0, 0x72, 0, 0x71, 0, 0x70, 0, 0x77, 0), }; =20 -static struct meson_pmx_bank c3_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank c3_periphs_pmx_banks[] =3D { /* name first last reg offset */ BANK_PMX("B", GPIOB_0, GPIOB_14, 0x00, 0), BANK_PMX("X", GPIOX_0, GPIOX_13, 0x03, 0), diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c b/drivers/pinctrl/m= eson/pinctrl-amlogic-t7.c index f880b36c3b54..51128ade05c6 100644 --- a/drivers/pinctrl/meson/pinctrl-amlogic-t7.c +++ b/drivers/pinctrl/meson/pinctrl-amlogic-t7.c @@ -1552,7 +1552,7 @@ static const struct meson_bank t7_periphs_banks[] =3D= { 0x83, 0, 0x84, 0, 0x82, 0, 0x81, 0, 0x80, 0, 0x87, 0), }; =20 -static struct meson_pmx_bank t7_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank t7_periphs_pmx_banks[] =3D { /* name first last reg offset */ BANK_PMX("D", GPIOD_0, GPIOD_12, 0x0a, 0), BANK_PMX("E", GPIOE_0, GPIOE_6, 0x0c, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson-a1.c b/drivers/pinctrl/mes= on/pinctrl-meson-a1.c index e0589ce8dd2e..ff42301e4c0c 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-a1.c +++ b/drivers/pinctrl/meson/pinctrl-meson-a1.c @@ -889,7 +889,7 @@ static const struct meson_bank meson_a1_periphs_banks[]= =3D { 0x42, 0, 0x41, 0, 0x40, 0, 0x45, 0), }; =20 -static struct meson_pmx_bank meson_a1_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_a1_periphs_pmx_banks[] =3D { /* name first lask reg offset */ BANK_PMX("P", GPIOP_0, GPIOP_12, 0x0, 0), BANK_PMX("B", GPIOB_0, GPIOB_6, 0x2, 0), diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c b/drivers/pinctr= l/meson/pinctrl-meson-axg-pmx.c index 2ae802ee8241..00c3829216d6 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c +++ b/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c @@ -27,10 +27,10 @@ =20 static int meson_axg_pmx_get_bank(struct meson_pinctrl *pc, unsigned int pin, - struct meson_pmx_bank **bank) + const struct meson_pmx_bank **bank) { int i; - struct meson_axg_pmx_data *pmx =3D pc->data->pmx_data; + const struct meson_axg_pmx_data *pmx =3D pc->data->pmx_data; =20 for (i =3D 0; i < pmx->num_pmx_banks; i++) if (pin >=3D pmx->pmx_banks[i].first && @@ -42,7 +42,7 @@ static int meson_axg_pmx_get_bank(struct meson_pinctrl *p= c, return -EINVAL; } =20 -static int meson_pmx_calc_reg_and_offset(struct meson_pmx_bank *bank, +static int meson_pmx_calc_reg_and_offset(const struct meson_pmx_bank *bank, unsigned int pin, unsigned int *reg, unsigned int *offset) { @@ -59,10 +59,10 @@ static int meson_pmx_calc_reg_and_offset(struct meson_p= mx_bank *bank, static int meson_axg_pmx_update_function(struct meson_pinctrl *pc, unsigned int pin, unsigned int func) { + const struct meson_pmx_bank *bank; int ret; int reg; int offset; - struct meson_pmx_bank *bank; =20 ret =3D meson_axg_pmx_get_bank(pc, pin, &bank); if (ret) diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h b/drivers/pinctr= l/meson/pinctrl-meson-axg-pmx.h index 67147ebaef1b..63b9d471e980 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h +++ b/drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h @@ -17,7 +17,7 @@ struct meson_pmx_bank { }; =20 struct meson_axg_pmx_data { - struct meson_pmx_bank *pmx_banks; + const struct meson_pmx_bank *pmx_banks; unsigned int num_pmx_banks; }; =20 diff --git a/drivers/pinctrl/meson/pinctrl-meson-axg.c b/drivers/pinctrl/me= son/pinctrl-meson-axg.c index 9968bd68f129..3b27dec7d858 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-axg.c +++ b/drivers/pinctrl/meson/pinctrl-meson-axg.c @@ -1017,7 +1017,7 @@ static const struct meson_bank meson_axg_aobus_banks[= ] =3D { BANK("AO", GPIOAO_0, GPIOAO_13, 0, 13, 0, 16, 0, 0, 0, 0, 0, 16, = 1, 0), }; =20 -static struct meson_pmx_bank meson_axg_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_axg_periphs_pmx_banks[] =3D { /* name first lask reg offset */ BANK_PMX("Z", GPIOZ_0, GPIOZ_10, 0x2, 0), BANK_PMX("BOOT", BOOT_0, BOOT_14, 0x0, 0), @@ -1031,7 +1031,7 @@ static struct meson_axg_pmx_data meson_axg_periphs_pm= x_banks_data =3D { .num_pmx_banks =3D ARRAY_SIZE(meson_axg_periphs_pmx_banks), }; =20 -static struct meson_pmx_bank meson_axg_aobus_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_axg_aobus_pmx_banks[] =3D { BANK_PMX("AO", GPIOAO_0, GPIOAO_13, 0x0, 0), }; =20 diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/m= eson/pinctrl-meson-g12a.c index 0d901b2d1193..272f713f8787 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c @@ -1342,7 +1342,7 @@ static const struct meson_bank meson_g12a_aobus_banks= [] =3D { 3, 16, 2, 16, 0, 16, 4, 16, 1, 16, 1, 0), }; =20 -static struct meson_pmx_bank meson_g12a_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_g12a_periphs_pmx_banks[] =3D { /* name first last reg offset */ BANK_PMX("Z", GPIOZ_0, GPIOZ_15, 0x6, 0), BANK_PMX("H", GPIOH_0, GPIOH_8, 0xb, 0), @@ -1357,7 +1357,7 @@ static struct meson_axg_pmx_data meson_g12a_periphs_p= mx_banks_data =3D { .num_pmx_banks =3D ARRAY_SIZE(meson_g12a_periphs_pmx_banks), }; =20 -static struct meson_pmx_bank meson_g12a_aobus_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_g12a_aobus_pmx_banks[] =3D { BANK_PMX("AO", GPIOAO_0, GPIOAO_11, 0x0, 0), BANK_PMX("E", GPIOE_0, GPIOE_2, 0x1, 16), }; diff --git a/drivers/pinctrl/meson/pinctrl-meson-s4.c b/drivers/pinctrl/mes= on/pinctrl-meson-s4.c index 6641bef76e58..61d459c46c13 100644 --- a/drivers/pinctrl/meson/pinctrl-meson-s4.c +++ b/drivers/pinctrl/meson/pinctrl-meson-s4.c @@ -1180,7 +1180,7 @@ static const struct meson_bank meson_s4_periphs_banks= [] =3D { 0x83, 0, 0x84, 0, 0x82, 0, 0x81, 0, 0x80, 0, 0x87, 0), }; =20 -static struct meson_pmx_bank meson_s4_periphs_pmx_banks[] =3D { +static const struct meson_pmx_bank meson_s4_periphs_pmx_banks[] =3D { /*name first lask reg offset*/ BANK_PMX("B", GPIOB_0, GPIOB_13, 0x00, 0), BANK_PMX("C", GPIOC_0, GPIOC_7, 0x9, 0), --=20 2.45.2