Skip to content

tree-wide: remove legacy platform_shared_get()#10961

Open
lyakh wants to merge 1 commit into
thesofproject:mainfrom
lyakh:shared
Open

tree-wide: remove legacy platform_shared_get()#10961
lyakh wants to merge 1 commit into
thesofproject:mainfrom
lyakh:shared

Conversation

@lyakh

@lyakh lyakh commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

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.

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 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 platform memory.h headers (including the previously non-trivial cAVS variant).
  • Dropped a now-redundant platform_shared_get() call in src/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.

Comment thread src/platform/posix/include/platform/lib/memory.h

@jsarha jsarha 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.

How about adding a macro checking that the address is uncached and putting it in the places that used to have platform_shared_get()?

@lyakh

lyakh commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator Author

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

3 participants