Skip to content

global: remove unused SHARED_DATA - #11120

Open
lyakh wants to merge 2 commits into
thesofproject:mainfrom
lyakh:shared
Open

global: remove unused SHARED_DATA#11120
lyakh wants to merge 2 commits into
thesofproject:mainfrom
lyakh:shared

Conversation

@lyakh

@lyakh lyakh commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_DATA annotations from various global/static data objects (DMA/DAI/clock info, heaps, timers, driver info, etc.).
  • Deleted platform-specific #define SHARED_DATA definitions (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.

Comment thread src/platform/imx8ulp/include/platform/lib/memory.h Outdated
Comment thread src/platform/imx8m/include/platform/lib/memory.h Outdated
Comment thread src/platform/mt8196/include/platform/lib/memory.h Outdated
Comment thread src/platform/mt8188/include/platform/lib/memory.h Outdated
Comment thread src/audio/component.c Outdated

@kv2019i kv2019i left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Comment thread src/audio/base_fw.c Outdated

#include <sof/audio/component.h>
#include <sof/lib/memory.h> /* for SHARED_DATA */
#include <sof/lib/memory.h> /* likely unneeded */

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks a bit odd, why leave it then?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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 */

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"to be removed" is better here, but we can catch later after v2.15 when non zephyr code is removed.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"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

lyakh added 2 commits August 25, 2026 17:59
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants