[alsa-devel] [ASoC] Missing shutdown() vectors in ASoC
Nobin Mathew
nobin.mathew at gmail.com
Tue Jun 12 09:04:27 CEST 2007
Liam,
Shutdown() vectors is missing in ASoC, we need this to ensure proper
shutdown of the system.
* codec device */
struct snd_soc_codec_device {
int (*probe)(struct platform_device *pdev);
int (*remove)(struct platform_device *pdev);
int (*suspend)(struct platform_device *pdev, pm_message_t state);
int (*resume)(struct platform_device *pdev);
};
/* SoC CPU DAI */
struct snd_soc_cpu_dai {
/* DAI description */
char *name;
unsigned int id;
unsigned char type;
/* DAI callbacks */
int (*probe)(struct platform_device *pdev);
void (*remove)(struct platform_device *pdev);
int (*suspend)(struct platform_device *pdev,
struct snd_soc_cpu_dai *cpu_dai);
int (*resume)(struct platform_device *pdev,
struct snd_soc_cpu_dai *cpu_dai);
unsigned int (*config_sysclk)(struct snd_soc_cpu_dai *cpu_dai,
struct snd_soc_clock_info *info, unsigned int clk);
/* DAI capabilities */
struct snd_soc_pcm_stream capture;
struct snd_soc_pcm_stream playback;
struct snd_soc_dai_cap caps;
/* SoC platform interface */
struct snd_soc_platform {
char *name;
int (*probe)(struct platform_device *pdev);
int (*remove)(struct platform_device *pdev);
int (*suspend)(struct platform_device *pdev,
struct snd_soc_cpu_dai *cpu_dai);
int (*resume)(struct platform_device *pdev,
struct snd_soc_cpu_dai *cpu_dai);
/* pcm creation and destruction */
/* SoC machine */
struct snd_soc_machine {
char *name;
int (*probe)(struct platform_device *pdev);
int (*remove)(struct platform_device *pdev);
/* the pre and post PM functions are used to do any PM work before and
* after the codec and DAI's do any PM work. */
int (*suspend_pre)(struct platform_device *pdev, pm_message_t state);
int (*suspend_post)(struct platform_device *pdev, pm_message_t state);
int (*resume_pre)(struct platform_device *pdev);
int (*resume_post)(struct platform_device *pdev);
Nobin Mathew
More information about the Alsa-devel
mailing list