global: remove unused SHARED_DATA - #11120
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the SHARED_DATA macro and its remaining call sites across multiple platforms and components, aiming to eliminate an unused/shared-section annotation that no longer has practical effect in current build configurations.
Changes:
- Removed
SHARED_DATAannotations from various global/static data objects (DMA/DAI/clock info, heaps, timers, driver info, etc.). - Deleted platform-specific
#define SHARED_DATAdefinitions (including the cAVS conditional section attribute). - Updated several
#include <sof/lib/memory.h>comments that previously stated “for SHARED_DATA”.
Reviewed changes
Copilot reviewed 104 out of 104 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| zephyr/lib/dma.c | Remove SHARED_DATA from DMA table |
| zephyr/lib/clk.c | Remove SHARED_DATA from clock info |
| src/samples/audio/smart_amp_test_ipc3.c | Remove SHARED_DATA from driver info |
| src/samples/audio/detect_test.c | Remove SHARED_DATA from driver info |
| src/platform/qemu_xtensa/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/posix/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/mtk/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/mt8365/platform.c | Remove SHARED_DATA from timer |
| src/platform/mt8365/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/mt8365/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/mt8365/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/mt8365/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/mt8365/include/platform/lib/memory.h | Remove SHARED_DATA docs/usage mention |
| src/platform/mt8196/platform.c | Remove SHARED_DATA from timer |
| src/platform/mt8196/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/mt8196/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/mt8196/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/mt8196/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/mt8196/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/mt8195/platform.c | Remove SHARED_DATA from timer |
| src/platform/mt8195/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/mt8195/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/mt8195/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/mt8195/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/mt8195/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/mt8188/platform.c | Remove SHARED_DATA from timer |
| src/platform/mt8188/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/mt8188/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/mt8188/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/mt8188/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/mt8188/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/mt8186/platform.c | Remove SHARED_DATA from timer |
| src/platform/mt8186/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/mt8186/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/mt8186/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/mt8186/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/mt8186/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/library/platform.c | Remove SHARED_DATA from timer |
| src/platform/library/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/library/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/intel/cavs/include/cavs/lib/memory.h | Remove cAVS SHARED_DATA section macro |
| src/platform/intel/ace/include/ace/lib/memory.h | Remove SHARED_DATA macro/docs block |
| src/platform/imx95/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/imx93_a55/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/imx8ulp/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/imx8ulp/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/imx8ulp/lib/dai.c | Remove SHARED_DATA from DAI array |
| src/platform/imx8ulp/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/imx8ulp/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/imx8m/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/imx8m/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/imx8m/lib/dai.c | Remove SHARED_DATA from DAI arrays |
| src/platform/imx8m/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/imx8m/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/imx8m_cm7/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/imx8/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/imx8/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/imx8/lib/dai.c | Remove SHARED_DATA from DAI arrays |
| src/platform/imx8/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/imx8/include/platform/lib/memory.h | Remove SHARED_DATA macro/docs mention |
| src/platform/amd/vangogh/platform.c | Remove SHARED_DATA from timer |
| src/platform/amd/vangogh/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/amd/vangogh/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/amd/vangogh/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/vangogh/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/amd/renoir/platform.c | Remove SHARED_DATA from timer |
| src/platform/amd/renoir/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/amd/renoir/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/amd/renoir/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/renoir/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/amd/rembrandt/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/amd/rembrandt/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/rembrandt/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/amd/acp_7_x/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/acp_7_x/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/amd/acp_7_0/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/amd/acp_7_0/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/amd/acp_7_0/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/acp_7_0/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/platform/amd/acp_6_3/platform.c | Remove SHARED_DATA from timer |
| src/platform/amd/acp_6_3/lib/memory.c | Remove SHARED_DATA from heaps/memmap |
| src/platform/amd/acp_6_3/lib/dma.c | Remove SHARED_DATA from DMA array |
| src/platform/amd/acp_6_3/lib/clk.c | Remove SHARED_DATA from clock info |
| src/platform/amd/acp_6_3/include/platform/lib/memory.h | Remove SHARED_DATA macro |
| src/lib/notifier.c | Remove SHARED_DATA from notify data |
| src/lib/clk.c | Remove SHARED_DATA from spinlock |
| src/include/sof/audio/module_adapter/module/generic.h | Remove SHARED_DATA from macro-defined driver info |
| src/idc/idc.c | Remove SHARED_DATA from IDC payload |
| src/drivers/interrupt.c | Remove SHARED_DATA from cascade root |
| src/audio/tone/tone.h | Update include comment after removal |
| src/audio/tone/tone.c | Update include comment after removal |
| src/audio/tone/tone-ipc4.c | Update include comment after removal |
| src/audio/tone/tone-ipc3.c | Update include comment + remove SHARED_DATA use |
| src/audio/selector/selector.c | Update include comment + remove SHARED_DATA use |
| src/audio/pipeline/pipeline-graph.c | Remove SHARED_DATA from pipeline posn |
| src/audio/kpb.c | Update include comment + remove SHARED_DATA use |
| src/audio/host-zephyr.c | Update include comment + remove SHARED_DATA use |
| src/audio/host-legacy.c | Update include comment + remove SHARED_DATA use |
| src/audio/google/google_hotword_detect.c | Update include comment + remove SHARED_DATA use |
| src/audio/dai-zephyr.c | Update include comment + remove SHARED_DATA use |
| src/audio/dai-legacy.c | Update include comment + remove SHARED_DATA use |
| src/audio/component.c | Update include comment + remove SHARED_DATA use |
| src/audio/chain_dma.c | Remove SHARED_DATA from driver info |
| src/audio/base_fw.c | Update include comment + remove SHARED_DATA use |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
kv2019i
left a comment
There was a problem hiding this comment.
Some of the header include comments look a bit odd, but maybe easier to cleanup in separate PR (especially if this passes CI and can be merged quickly).
|
|
||
| #include <sof/audio/component.h> | ||
| #include <sof/lib/memory.h> /* for SHARED_DATA */ | ||
| #include <sof/lib/memory.h> /* likely unneeded */ |
There was a problem hiding this comment.
This looks a bit odd, why leave it then?
There was a problem hiding this comment.
@kv2019i because I didn't want to add yet another breakage possibility. Maybe since the time those headers were added something else changed that now requires them. Let's make that a follow-up - will be a simple commit
There was a problem hiding this comment.
@kv2019i ok, I pushed a second commit on top
| #include <rtos/alloc.h> | ||
| #include <rtos/init.h> | ||
| #include <sof/lib/memory.h> /* for SHARED_DATA */ | ||
| #include <sof/lib/memory.h> /* likely unneeded */ |
There was a problem hiding this comment.
"to be removed" is better here, but we can catch later after v2.15 when non zephyr code is removed.
There was a problem hiding this comment.
"to be removed" is better here, but we can catch later after v2.15 when non zephyr code is removed.
@lgirdwood they're already removed in the second commit
SHARED_DATA is only non-empty on non-Zephyr and non-unit-test builds of cAVS. At most that includes pure build tests or testbench, of which none need it either. Remove it globally. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Compilation verified, that memory.h are no longer needed after removal of SHARED_DATA. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
SHARED_DATA is only non-empty on non-Zephyr and non-unit-test builds of cAVS. At most that includes pure build tests or testbench, of which none need it either. Remove it globally.
only free grep and sed tokens have been used.