tree-wide: remove legacy platform_shared_get()#10961
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the legacy platform_shared_get() helper across the codebase and updates all call sites to use direct pointers, reflecting that the helper is effectively a no-op on supported builds and avoiding unnecessary indirection.
Changes:
- Replaced
platform_shared_get(&obj, sizeof(obj))with direct pointer usage (&obj/obj) in component registration and various shared-structure initializations. - Deleted the inline
platform_shared_get()definitions from multiple platformmemory.hheaders (including the previously non-trivial cAVS variant). - Dropped a now-redundant
platform_shared_get()call insrc/lib/clk.c.
Reviewed changes
Copilot reviewed 65 out of 65 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/samples/audio/smart_amp_test_ipc3.c | Register component driver info directly. |
| src/samples/audio/detect_test.c | Register component driver info directly. |
| src/platform/qemu_xtensa/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/posix/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mtk/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mt8365/platform.c | Use direct pointer for timer_shared. |
| src/platform/mt8365/lib/memory.c | Use direct pointer for memmap. |
| src/platform/mt8365/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/mt8365/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mt8196/platform.c | Use direct pointer for timer_shared. |
| src/platform/mt8196/lib/memory.c | Use direct pointer for memmap. |
| src/platform/mt8196/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/mt8196/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mt8195/platform.c | Use direct pointer for timer_shared. |
| src/platform/mt8195/lib/memory.c | Use direct pointer for memmap. |
| src/platform/mt8195/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/mt8195/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mt8188/platform.c | Use direct pointer for timer_shared. |
| src/platform/mt8188/lib/memory.c | Use direct pointer for memmap. |
| src/platform/mt8188/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/mt8188/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/mt8186/platform.c | Use direct pointer for timer_shared. |
| src/platform/mt8186/lib/memory.c | Use direct pointer for memmap. |
| src/platform/mt8186/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/mt8186/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/library/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/intel/cavs/include/cavs/lib/memory.h | Remove platform_shared_get() (previously conditional invalidate/alias). |
| src/platform/intel/ace/include/ace/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/imx95/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/imx93_a55/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/imx8ulp/lib/memory.c | Use direct pointer for memmap. |
| src/platform/imx8ulp/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/imx8ulp/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/imx8m/lib/memory.c | Use direct pointer for memmap. |
| src/platform/imx8m/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/imx8m/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/imx8/lib/memory.c | Use direct pointer for memmap. |
| src/platform/imx8/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/imx8/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/vangogh/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/renoir/platform.c | Use direct pointer for timer_shared. |
| src/platform/amd/renoir/lib/memory.c | Use direct pointer for memmap. |
| src/platform/amd/renoir/lib/clk.c | Use direct pointer for platform_clocks_info. |
| src/platform/amd/renoir/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/rembrandt/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/acp_7_x/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/acp_7_0/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/platform/amd/acp_6_3/include/platform/lib/memory.h | Remove no-op platform_shared_get() definition. |
| src/lib/notifier.c | Use direct pointer for shared notifier data. |
| src/lib/clk.c | Remove redundant platform_shared_get() call. |
| src/include/sof/audio/module_adapter/module/generic.h | Register module adapter driver info directly. |
| src/idc/idc.c | Use direct pointer for shared IDC payload. |
| src/drivers/interrupt.c | Use direct pointer for shared cascade root. |
| src/audio/tone/tone-ipc3.c | Register component driver info directly. |
| src/audio/selector/selector.c | Register component driver info directly. |
| src/audio/pipeline/pipeline-graph.c | Use direct pointer for shared pipeline position struct. |
| src/audio/kpb.c | Register component driver info directly. |
| src/audio/host-zephyr.c | Register component driver info directly. |
| src/audio/host-legacy.c | Register component driver info directly. |
| src/audio/google/google_hotword_detect.c | Register component driver info directly. |
| src/audio/dai-zephyr.c | Register component driver info directly. |
| src/audio/dai-legacy.c | Register component driver info directly. |
| src/audio/component.c | Use direct pointer for shared component driver list. |
| src/audio/chain_dma.c | Register component driver info directly. |
| src/audio/base_fw.c | Register component driver info directly. |
jsarha
left a comment
There was a problem hiding this comment.
How about adding a macro checking that the address is uncached and putting it in the places that used to have platform_shared_get()?
@jsarha that would be a functional change. Currently it's a NOP everywhere. Why should we change that? |
platform_shared_get() was returning its first argument and not doing anything else in all int implementation but one - cAVS with multicore but with no Zephyr. And such builds haven't been supported in SOF for a long time. Remove platform_shared_get() completely. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
platform_shared_get() was returning its first argument and not doing anything else in all int implementation but one - cAVS with multicore but with no Zephyr. And such builds haven't been supported in SOF for a long time. Remove platform_shared_get() completely.