forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/sound/soc/tegra/tegra_pcm.h
....@@ -1,3 +1,4 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * tegra_pcm.h - Definitions for Tegra PCM driver
34 *
....@@ -11,28 +12,32 @@
1112 *
1213 * Copyright (C) 2010 Google, Inc.
1314 * Iliyan Malchev <malchev@google.com>
14
- *
15
- * This program is free software; you can redistribute it and/or
16
- * modify it under the terms of the GNU General Public License
17
- * version 2 as published by the Free Software Foundation.
18
- *
19
- * This program is distributed in the hope that it will be useful, but
20
- * WITHOUT ANY WARRANTY; without even the implied warranty of
21
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
- * General Public License for more details.
23
- *
24
- * You should have received a copy of the GNU General Public License
25
- * along with this program; if not, write to the Free Software
26
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
27
- * 02110-1301 USA
28
- *
2915 */
3016
3117 #ifndef __TEGRA_PCM_H__
3218 #define __TEGRA_PCM_H__
3319
34
-struct snd_dmaengine_pcm_config;
20
+#include <sound/dmaengine_pcm.h>
21
+#include <sound/asound.h>
3522
23
+int tegra_pcm_construct(struct snd_soc_component *component,
24
+ struct snd_soc_pcm_runtime *rtd);
25
+void tegra_pcm_destruct(struct snd_soc_component *component,
26
+ struct snd_pcm *pcm);
27
+int tegra_pcm_open(struct snd_soc_component *component,
28
+ struct snd_pcm_substream *substream);
29
+int tegra_pcm_close(struct snd_soc_component *component,
30
+ struct snd_pcm_substream *substream);
31
+int tegra_pcm_hw_params(struct snd_soc_component *component,
32
+ struct snd_pcm_substream *substream,
33
+ struct snd_pcm_hw_params *params);
34
+int tegra_pcm_hw_free(struct snd_soc_component *component,
35
+ struct snd_pcm_substream *substream);
36
+int tegra_pcm_mmap(struct snd_soc_component *component,
37
+ struct snd_pcm_substream *substream,
38
+ struct vm_area_struct *vma);
39
+snd_pcm_uframes_t tegra_pcm_pointer(struct snd_soc_component *component,
40
+ struct snd_pcm_substream *substream);
3641 int tegra_pcm_platform_register(struct device *dev);
3742 int tegra_pcm_platform_register_with_chan_names(struct device *dev,
3843 struct snd_dmaengine_pcm_config *config,