60 lines
2.0 KiB
C
60 lines
2.0 KiB
C
/* sound/soc/samsung/eax.h
|
|
*
|
|
* Exynos Audio Mixer driver
|
|
*
|
|
* Copyright (c) 2014 Samsung Electronics Co. Ltd.
|
|
* Yeongman Seo <yman.seo@samsung.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _EXYNOS_AMIXER_H
|
|
#define _EXYNOS_AMIXER_H
|
|
|
|
#include <linux/platform_device.h>
|
|
#include <sound/soc.h>
|
|
#include <linux/kernel.h>
|
|
|
|
#define EAX_NAME_MAX PLATFORM_NAME_SIZE
|
|
|
|
struct ch_info {
|
|
char name[EAX_NAME_MAX];
|
|
struct platform_device *pdev;
|
|
struct device *dev_master;
|
|
struct s3c_dma_params *dma_params;
|
|
struct snd_soc_dai_driver dai_drv;
|
|
bool opened;
|
|
bool running;
|
|
struct list_head node;
|
|
int ch_id;
|
|
};
|
|
|
|
extern int eax_dev_register(struct device *dev, const char *name,
|
|
struct s3c_dma_params *dma, int ch);
|
|
extern int eax_dai_register(struct snd_soc_dai *dai,
|
|
const struct snd_soc_dai_ops *dai_ops,
|
|
int (*dai_suspend)(struct snd_soc_dai *dai),
|
|
int (*dai_resume)(struct snd_soc_dai *dai));
|
|
extern int eax_dai_unregister(void);
|
|
extern int eax_dma_dai_register(struct snd_soc_dai *dai);
|
|
extern int eax_dma_dai_unregister(void);
|
|
extern int eax_dma_params_register(struct s3c_dma_params *dma);
|
|
extern int eax_asoc_platform_register(struct device *dev);
|
|
|
|
#ifdef CONFIG_SND_SOC_EAX_SLOWPATH
|
|
extern int eax_slowpath_dev_register(struct device *dev, const char *name,
|
|
struct s3c_dma_params *dma, int ch);
|
|
extern int eax_slowpath_dai_register(struct snd_soc_dai *dai,
|
|
const struct snd_soc_dai_ops *dai_ops,
|
|
int (*dai_suspend)(struct snd_soc_dai *dai),
|
|
int (*dai_resume)(struct snd_soc_dai *dai));
|
|
extern int eax_slowpath_asoc_platform_register(struct device *dev);
|
|
extern int eax_slowpath_params_register(struct s3c_dma_params *dma);
|
|
extern int eax_slowpath_dma_dai_register(struct snd_soc_dai *dai);
|
|
extern int eax_slowpath_dma_dai_unregister(void);
|
|
extern void eax_slowpath_wakeup_buf_wq(int idx);
|
|
#endif
|
|
#endif
|