Files
u-boot/drivers
Weijie Gao 7cb50cd477 pinctrl: mediatek: convert most definitions to const
There exists a situation of the mediatek pinctrl driver that may return
wrong pin function value for the pinmux driver:
- All pin function arrays are defined without const
- Some pin function arrays contain all-zero value, e.g.:
  static int mt7622_spi_funcs[] = { 0, 0, 0, 0, 0, 0, };
- These arrays will be put into .bss section during compilation
- .bss section has no "a" attribute and does not exist in the final binary
  file after objcopy.
- FDT binary blob is appended to the u-boot binary, which occupies the
  .bss section.
- During board_f stage, .bss has not been initialized, and contains the
  data of FDT, which is not full-zero data.
- pinctrl driver is initialized in board_f stage, and it will get wrong
  data if another driver is going to set default pinctrl.

Since pinmux information and soc data are only meant to be read-only, thus
should be declared as const. This will force all pinctrl data being put
into .rodata section. Since .rodata has "a" attribute, even the all-zero
data will be allocated and filled with correct value in to u-boot binary.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2023-08-03 09:40:50 -04:00
..
2023-07-13 11:29:40 +02:00
2023-05-21 16:54:41 +02:00
2023-02-10 07:41:39 -05:00
2023-05-02 14:23:58 -04:00
2023-07-21 09:00:39 +02:00
2023-03-02 17:45:58 -05:00
2023-01-20 12:27:24 -05:00
2023-04-21 15:16:01 +08:00
2023-08-03 09:40:49 -04:00
2023-04-26 08:43:04 -04:00
2023-04-25 15:31:28 -04:00