Files
esp-idf/tools/ci/check_public_headers_exceptions.txt
Xiao Xufeng 3411286544 refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-29 03:28:30 +08:00

121 lines
3.9 KiB
Plaintext

### General ignore list
#
components/xtensa/include/xtensa/
components/xtensa/include/
components/xtensa/esp32/include/xtensa/config/
components/xtensa/esp32s2/include/xtensa/config/
components/xtensa/esp32s3/include/xtensa/config/
components/freertos/FreeRTOS-Kernel/include/freertos/
components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/
components/freertos/FreeRTOS-Kernel-SMP/include/freertos/
components/freertos/FreeRTOS-Kernel-SMP/portable/xtensa/include/freertos/
# LWIP: sockets.h uses #include_next<>, which doesn't work correctly with the checker
# memp_std.h is supposed to be included multiple times with different settings
components/lwip/lwip/src/include/lwip/priv/memp_std.h
components/lwip/include/lwip/sockets.h
components/lwip/lwip/src/include/lwip/prot/nd6.h
components/lwip/lwip/src/include/netif/ppp/
components/lwip/lwip/src/include/lwip/apps/tftp_server.h
components/lwip/lwip/src/include/lwip/apps/tftp_client.h
components/wpa_supplicant/include/
components/wpa_supplicant/port/
components/mbedtls/mbedtls/
components/mbedtls/port/include/
components/mbedtls/port/dynamic/esp_mbedtls_dynamic_impl.h
components/esp-tls/private_include/
components/protobuf-c/
components/protocomm/proto-c/
components/fatfs/vfs/vfs_fat_internal.h
components/fatfs/src/ffconf.h
components/idf_test/include/idf_performance.h
components/spiffs/include/spiffs_config.h
components/unity/unity/src/unity_internals.h
components/unity/include/unity_config.h
components/unity/include/unity_test_runner.h
components/cmock/CMock/src/cmock.h
components/cmock/CMock/src/cmock_internals.h
components/openthread/openthread/
# The following TLSF headers contain object definitions but have to be
# made public to be used in esp_rom to help patching the TLSF in ROM.
components/heap/tlsf/tlsf_block_functions.h
components/heap/tlsf/tlsf_control_functions.h
### Here are the files that do not compile for some reason
#
components/esp_gdbstub/include/esp_gdbstub.h
components/esp_hw_support/include/esp_memprot.h
components/esp_hw_support/include/esp_private/esp_memprot_internal.h
components/esp_hw_support/include/esp_private/esp_riscv_intr.h
### Here are the files that use CONFIG_XXX values but don't include sdkconfig.h
#
components/esp_coex/include/private/esp_coexist_adapter.h
components/esp_coex/include/esp_coex_i154.h
### To be fixed: headers that rely on implicit inclusion
#
components/esp_ringbuf/include/freertos/ringbuf.h
components/esp_netif/include/esp_netif_defaults.h
components/esp_netif/include/esp_netif_net_stack.h
components/esp_netif/include/esp_netif_ppp.h
components/protocomm/include/transports/protocomm_httpd.h
components/fatfs/src/diskio.h
components/fatfs/diskio/diskio_sdmmc.h
components/mbedtls/esp_crt_bundle/include/esp_crt_bundle.h
### Headers that don't compile with C++
#
components/bootloader_support/bootloader_flash/include/bootloader_flash.h
components/bootloader_support/bootloader_flash/include/bootloader_flash_priv.h
components/esp_hw_support/include/esp_private/regdma_link.h
components/lwip/include/lwip/netdb.h
components/spi_flash/include/esp_private/spi_flash_os.h
### To be fixed: files which don't compile for esp32s2 target:
components/esp_psram/include/esp32/himem.h
### To be fixed: files which don't compile for esp32s3 target:
### To be fixed: files which don't compile for esp32c3 target:
components/esp_system/port/include/private/esp_private/trax.h
components/espcoredump/include/port/xtensa/esp_core_dump_summary_port.h
components/riscv/include/esp_private/panic_reason.h
components/riscv/include/riscv/interrupt.h
components/riscv/include/riscv/rvruntime-frames.h
# should be private include, but 'private_include' is a subdir of public includes
components/console/private_include/console_private.h
# Public driver headers contain FreeRTOS headers
components/esp_driver_uart/include/driver/uart.h
components/esp_driver_sdmmc/include/esp_private/sd_host_private.h