音频框架里的snd_soc_dai_set_sysclk在哪个文件中调用的
时间: 2024-04-03 17:33:37 浏览: 296
在Linux内核中,snd_soc_dai_set_sysclk函数的调用是在音频驱动的probe函数中进行的。不同的音频驱动会有不同的实现,但一般都会在snd_soc_dai_set_sysclk函数中设置音频DAI的时钟。具体实现可以查看相应音频驱动的代码,如ALSA框架的soc-core.c文件或者ASoC驱动的相应源文件。
相关问题
音频框架里snd_soc_dai_ops结构体里的成员是在系统的哪个文件调用的
`snd_soc_dai_ops` 结构体里的成员函数是在 ALSA 框架中的 `sound/soc/soc-dai.c` 文件中调用的。这个文件定义了 DAI(Digital Audio Interface)接口的相关操作,包括 DAI 的注册、配置和控制等。在这个文件中,定义了 `snd_soc_dai_ops` 结构体,用于描述 DAI 接口的操作函数。在 ALSA 框架中,当需要调用 DAI 接口的操作函数时,会通过 `snd_soc_dai` 结构体中的 `ops` 成员指向 `snd_soc_dai_ops` 结构体,从而调用相应的操作函数。
分析 x Symbol: SND_SOC_ROCKCHIP_I2S [=n] x x Type : tristate x x Prompt: Rockchip I2S Device Driver x x Location: x x -> Device Drivers x x -> Sound card support (SOUND [=y]) x x -> Advanced Linux Sound Architecture (SND [=y]) x x (6) -> ALSA for SoC audio support (SND_SOC [=y]) x x -> ASoC support for Rockchip (SND_SOC_ROCKCHIP [=n]) x x Defined at sound/soc/rockchip/Kconfig:18 x x Depends on: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && CLKDEV_LOOKUP [=y] && SND_SOC_ROCKCHIP [=n] x x Selects: SND_SOC_GENERIC_DMAENGINE_PCM [=n] x x Selected by [n]: x x - SND_SOC_ROCKCHIP_MAX98090 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] x x - SND_SOC_ROCKCHIP_RT5645 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] x x - SND_SOC_ROCKCHIP_RT5651 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] x x - SND_SOC_ROCKCHIP_RT5651_RK628 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] x x - SND_SOC_RK3288_HDMI_ANALOG [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] x x - SND_SOC_RK3399_GRU_SOUND [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] && SPI [=y] x
根据你提供的配置信息,我们可以对 `SND_SOC_ROCKCHIP_I2S` 进行分析:
- 类型:`tristate`,表示可以选择编译为模块或直接编译到内核中。
- 提示:Rockchip I2S设备驱动程序。
- 位置:
- `Device Drivers`
- `Sound card support (SOUND)`
- `Advanced Linux Sound Architecture (SND)`
- `ALSA for SoC audio support (SND_SOC)`
- `ASoC support for Rockchip (SND_SOC_ROCKCHIP)`
- 定义位置:在 `sound/soc/rockchip/Kconfig` 文件的第 18 行定义。
- 依赖条件:
- `SOUND [=y]`:需要启用声卡支持。
- `!UML`:不适用于用户模式Linux(User-Mode Linux,UML)。
- `SND [=y]`:需要启用高级Linux声音架构。
- `SND_SOC [=y]`:需要启用ALSA SoC音频支持。
- `CLKDEV_LOOKUP [=y]`:需要启用时钟设备查找。
- `SND_SOC_ROCKCHIP [=n]`:需要禁用Rockchip ASoC支持。
- 选择条件:
- `SND_SOC_GENERIC_DMAENGINE_PCM [=n]`:选择了该符号。
- 被以下条件选择:
- `SND_SOC_ROCKCHIP_MAX98090 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y]`
- `SND_SOC_ROCKCHIP_RT5645 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y]`
- `SND_SOC_ROCKCHIP_RT5651 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y]`
- `SND_SOC_ROCKCHIP_RT5651_RK628 [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y]`
- `SND_SOC_RK3288_HDMI_ANALOG [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y]`
- `SND_SOC_RK3399_GRU_SOUND [=n] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_ROCKCHIP [=n] && I2C [=y] && GPIOLIB [=y] && CLKDEV_LOOKUP [=y] && SPI [=y]`
根据依赖条件和选择条件,`SND_SOC_ROCKCHIP_I2S` 符号需要满足一些其他条件才能启用。你需要确保在编译内核时满足这些条件,以使该符号可用。
阅读全文