While testing some WIP work done by Ilias Apalodimas on guaranteeing read-only memory areas truly are handled as read-only[1], my RK3588 Tiger couldn't reach U-Boot CLI anymore because of the pinctrl driver modifying a const struct rockchip_pin_ctrl, triggering a CPU abort.
Instead of going the lazy way and unconstify it, let's fix the actual issue in play. The member modified in the const is only ever used for setting a member from another struct (not const that one). However this other member is never read! Therefore we can simply afford to remove it which means the sole reader of the member in the const is now gone, thus making it possible to remove the member from the const struct as well. This also means we should be able to constify the private data of the controller device for all Rockchip devices, instead of having those only for RK356x, RK3588 and RV1126. With the constify done on top of Ilias branch[1], my PX30 Ringneck, RK3399 Puma and RK3588 Tiger all reach U-Boot CLI. No further test (like booting into Linux userspace) was done. [1] https://source.denx.de/u-boot/custodians/u-boot-tpm/-/tree/fix_memory_permissions Signed-off-by: Quentin Schulz <[email protected]> --- Quentin Schulz (14): pinctrl: rockchip: remove unused base_pin bank member pinctrl: rockchip: remove unused nr_pins controller member pinctrl: rockchip: constify rockchip_pin_ctrl for PX30 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3036 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3066 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3128 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3188 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3228 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3288 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3308 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3328 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3368 pinctrl: rockchip: constify rockchip_pin_ctrl for RK3399 pinctrl: rockchip: constify rockchip_pin_ctrl for RV1108 drivers/pinctrl/rockchip/pinctrl-px30.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3036.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3066.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3128.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3188.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk322x.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3288.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3308.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3328.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3368.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3399.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rk3568.c | 1 - drivers/pinctrl/rockchip/pinctrl-rk3588.c | 1 - drivers/pinctrl/rockchip/pinctrl-rockchip-core.c | 2 -- drivers/pinctrl/rockchip/pinctrl-rockchip.h | 3 --- drivers/pinctrl/rockchip/pinctrl-rv1108.c | 2 +- drivers/pinctrl/rockchip/pinctrl-rv1126.c | 1 - 17 files changed, 12 insertions(+), 20 deletions(-) --- base-commit: a2b489b170f8382f746202c36616eaf2bc38fe86 change-id: 20250129-rockchip-pinctrl-const-f4123019a584 Best regards, -- Quentin Schulz <[email protected]>

