sound/soc/soc-core.c
Source file repositories/reference/linux-study-clean/sound/soc/soc-core.c
File Facts
- System
- Linux kernel
- Corpus path
sound/soc/soc-core.c- Extension
.c- Size
- 92205 bytes
- Lines
- 3737
- Domain
- Driver Families
- Bucket
- sound/soc
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/module.hlinux/moduleparam.hlinux/init.hlinux/delay.hlinux/pm.hlinux/bitops.hlinux/debugfs.hlinux/platform_device.hlinux/pinctrl/consumer.hlinux/ctype.hlinux/slab.hlinux/of.hlinux/of_graph.hlinux/dmi.hlinux/acpi.hlinux/string_choices.hsound/core.hsound/pcm.hsound/pcm_params.hsound/soc.hsound/soc-dpcm.hsound/soc-topology.hsound/soc-link.hsound/initval.htrace/events/asoc.h
Detected Declarations
function pmdown_time_showfunction pmdown_time_storefunction soc_dev_attr_is_visiblefunction soc_init_component_debugfsfunction soc_cleanup_component_debugfsfunction dai_list_showfunction component_list_showfunction soc_init_card_debugfsfunction soc_cleanup_card_debugfsfunction snd_soc_debugfs_initfunction snd_soc_debugfs_exitfunction soc_init_component_debugfsfunction snd_soc_dlc_component_is_emptyfunction snd_soc_dlc_component_is_invalidfunction snd_soc_dlc_dai_is_emptyfunction snd_soc_is_matching_daifunction snd_soc_rtd_add_componentfunction for_each_rtd_componentsfunction snd_soc_rtdcom_lookupfunction for_each_componentfunction for_each_card_rtdsfunction snd_soc_close_delayed_workfunction soc_release_rtd_devfunction soc_free_pcm_runtimefunction close_delayed_workfunction snd_soc_fill_dummy_daifunction COMP_DUMMYfunction snd_soc_flush_all_delayed_workfunction soc_playback_digital_mutefunction for_each_card_rtdsfunction for_each_rtd_daisfunction soc_dapm_suspend_resumefunction for_each_card_rtdsfunction snd_soc_suspendfunction for_each_rtd_componentsfunction soc_resume_deferredfunction for_each_card_componentsfunction snd_soc_resumefunction soc_resume_initfunction soc_resume_initfunction snd_soc_is_matching_componentfunction soc_dai_link_sanity_checkfunction snd_soc_compensate_channel_connection_mapfunction snd_soc_remove_pcm_runtimefunction snd_soc_add_pcm_runtimefunction for_each_link_cpusfunction for_each_componentfunction snd_soc_add_pcm_runtimes
Annotated Snippet
module_init(snd_soc_init);
static void __exit snd_soc_exit(void)
{
snd_soc_util_exit();
snd_soc_debugfs_exit();
platform_driver_unregister(&soc_driver);
}
module_exit(snd_soc_exit);
/* Module information */
MODULE_AUTHOR("Liam Girdwood, lrg@slimlogic.co.uk");
MODULE_DESCRIPTION("ALSA SoC Core");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:soc-audio");
Annotation
- Immediate include surface: `linux/module.h`, `linux/moduleparam.h`, `linux/init.h`, `linux/delay.h`, `linux/pm.h`, `linux/bitops.h`, `linux/debugfs.h`, `linux/platform_device.h`.
- Detected declarations: `function pmdown_time_show`, `function pmdown_time_store`, `function soc_dev_attr_is_visible`, `function soc_init_component_debugfs`, `function soc_cleanup_component_debugfs`, `function dai_list_show`, `function component_list_show`, `function soc_init_card_debugfs`, `function soc_cleanup_card_debugfs`, `function snd_soc_debugfs_init`.
- Atlas domain: Driver Families / sound/soc.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.