Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
6439e5c2
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6439e5c2
编写于
10月 26, 2015
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
上级
7c9c29ee
6f0c4226
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
30 addition
and
15 deletion
+30
-15
include/sound/soc-dai.h
include/sound/soc-dai.h
+1
-1
include/sound/soc.h
include/sound/soc.h
+4
-2
sound/soc/Kconfig
sound/soc/Kconfig
+4
-1
sound/soc/Makefile
sound/soc/Makefile
+2
-1
sound/soc/intel/Kconfig
sound/soc/intel/Kconfig
+1
-0
sound/soc/intel/atom/sst-mfld-platform-pcm.c
sound/soc/intel/atom/sst-mfld-platform-pcm.c
+1
-1
sound/soc/omap/rx51.c
sound/soc/omap/rx51.c
+1
-1
sound/soc/soc-compress.c
sound/soc/soc-compress.c
+10
-2
sound/soc/soc-core.c
sound/soc/soc-core.c
+2
-2
sound/soc/soc-ops.c
sound/soc/soc-ops.c
+4
-4
未找到文件。
include/sound/soc-dai.h
浏览文件 @
6439e5c2
...
...
@@ -214,7 +214,7 @@ struct snd_soc_dai_driver {
int
(
*
suspend
)(
struct
snd_soc_dai
*
dai
);
int
(
*
resume
)(
struct
snd_soc_dai
*
dai
);
/* compress dai */
bool
compress_dai
;
int
(
*
compress_new
)(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
)
;
/* DAI is also used for the control bus */
bool
bus_control
;
...
...
include/sound/soc.h
浏览文件 @
6439e5c2
...
...
@@ -452,7 +452,9 @@ int snd_soc_platform_read(struct snd_soc_platform *platform,
int
snd_soc_platform_write
(
struct
snd_soc_platform
*
platform
,
unsigned
int
reg
,
unsigned
int
val
);
int
soc_new_pcm
(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
);
int
soc_new_compress
(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
);
#ifdef CONFIG_SND_SOC_COMPRESS
int
snd_soc_new_compress
(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
);
#endif
struct
snd_pcm_substream
*
snd_soc_get_dai_substream
(
struct
snd_soc_card
*
card
,
const
char
*
dai_link
,
int
stream
);
...
...
@@ -605,7 +607,7 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_get_volsw_range
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_limit_volume
(
struct
snd_soc_c
odec
*
codec
,
int
snd_soc_limit_volume
(
struct
snd_soc_c
ard
*
card
,
const
char
*
name
,
int
max
);
int
snd_soc_bytes_info
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
...
...
sound/soc/Kconfig
浏览文件 @
6439e5c2
...
...
@@ -9,7 +9,6 @@ menuconfig SND_SOC
select SND_JACK if INPUT=y || INPUT=SND
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
select SND_COMPRESS_OFFLOAD
---help---
If you want ASoC support, you should say Y here and also to the
...
...
@@ -30,6 +29,10 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
bool
select SND_DMAENGINE_PCM
config SND_SOC_COMPRESS
bool
select SND_COMPRESS_OFFLOAD
config SND_SOC_TOPOLOGY
bool
...
...
sound/soc/Makefile
浏览文件 @
6439e5c2
snd-soc-core-objs
:=
soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
snd-soc-core-objs
+=
soc-pcm.o soc-compress.o soc-io.o soc-devres.o soc-ops.o
snd-soc-core-objs
+=
soc-pcm.o soc-io.o soc-devres.o soc-ops.o
snd-soc-core-$(CONFIG_SND_SOC_COMPRESS)
+=
soc-compress.o
ifneq
($(CONFIG_SND_SOC_TOPOLOGY),)
snd-soc-core-objs
+=
soc-topology.o
...
...
sound/soc/intel/Kconfig
浏览文件 @
6439e5c2
...
...
@@ -12,6 +12,7 @@ config SND_MFLD_MACHINE
config SND_SST_MFLD_PLATFORM
tristate
select SND_SOC_COMPRESS
config SND_SST_IPC
tristate
...
...
sound/soc/intel/atom/sst-mfld-platform-pcm.c
浏览文件 @
6439e5c2
...
...
@@ -512,7 +512,7 @@ static struct snd_soc_dai_driver sst_platform_dai[] = {
},
{
.
name
=
"compress-cpu-dai"
,
.
compress_
dai
=
1
,
.
compress_
new
=
snd_soc_new_compress
,
.
ops
=
&
sst_compr_dai_ops
,
.
playback
=
{
.
stream_name
=
"Compress Playback"
,
...
...
sound/soc/omap/rx51.c
浏览文件 @
6439e5c2
...
...
@@ -297,7 +297,7 @@ static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
dev_err
(
card
->
dev
,
"Failed to add TPA6130A2 controls
\n
"
);
return
err
;
}
snd_soc_limit_volume
(
c
odec
,
"TPA6130A2 Headphone Playback Volume"
,
42
);
snd_soc_limit_volume
(
c
ard
,
"TPA6130A2 Headphone Playback Volume"
,
42
);
err
=
omap_mcbsp_st_add_controls
(
rtd
,
2
);
if
(
err
<
0
)
{
...
...
sound/soc/soc-compress.c
浏览文件 @
6439e5c2
...
...
@@ -612,8 +612,15 @@ static struct snd_compr_ops soc_compr_dyn_ops = {
.
get_codec_caps
=
soc_compr_get_codec_caps
};
/* create a new compress */
int
soc_new_compress
(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
)
/**
* snd_soc_new_compress - create a new compress.
*
* @rtd: The runtime for which we will create compress
* @num: the device index number (zero based - shared with normal PCMs)
*
* Return: 0 for success, else error.
*/
int
snd_soc_new_compress
(
struct
snd_soc_pcm_runtime
*
rtd
,
int
num
)
{
struct
snd_soc_codec
*
codec
=
rtd
->
codec
;
struct
snd_soc_platform
*
platform
=
rtd
->
platform
;
...
...
@@ -703,3 +710,4 @@ int soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
kfree
(
compr
);
return
ret
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_new_compress
);
sound/soc/soc-core.c
浏览文件 @
6439e5c2
...
...
@@ -1370,9 +1370,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
soc_dpcm_debugfs_add
(
rtd
);
#endif
if
(
cpu_dai
->
driver
->
compress_
dai
)
{
if
(
cpu_dai
->
driver
->
compress_
new
)
{
/*create compress_device"*/
ret
=
soc_new_compress
(
rtd
,
num
);
ret
=
cpu_dai
->
driver
->
compress_new
(
rtd
,
num
);
if
(
ret
<
0
)
{
dev_err
(
card
->
dev
,
"ASoC: can't create compress %s
\n
"
,
dai_link
->
stream_name
);
...
...
sound/soc/soc-ops.c
浏览文件 @
6439e5c2
...
...
@@ -588,16 +588,16 @@ EXPORT_SYMBOL_GPL(snd_soc_get_volsw_range);
/**
* snd_soc_limit_volume - Set new limit to an existing volume control.
*
* @c
odec
: where to look for the control
* @c
ard
: where to look for the control
* @name: Name of the control
* @max: new maximum limit
*
* Return 0 for success, else error.
*/
int
snd_soc_limit_volume
(
struct
snd_soc_c
odec
*
codec
,
int
snd_soc_limit_volume
(
struct
snd_soc_c
ard
*
card
,
const
char
*
name
,
int
max
)
{
struct
snd_card
*
card
=
codec
->
component
.
card
->
snd_card
;
struct
snd_card
*
snd_card
=
card
->
snd_card
;
struct
snd_kcontrol
*
kctl
;
struct
soc_mixer_control
*
mc
;
int
found
=
0
;
...
...
@@ -607,7 +607,7 @@ int snd_soc_limit_volume(struct snd_soc_codec *codec,
if
(
unlikely
(
!
name
||
max
<=
0
))
return
-
EINVAL
;
list_for_each_entry
(
kctl
,
&
card
->
controls
,
list
)
{
list_for_each_entry
(
kctl
,
&
snd_
card
->
controls
,
list
)
{
if
(
!
strncmp
(
kctl
->
id
.
name
,
name
,
sizeof
(
kctl
->
id
.
name
)))
{
found
=
1
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录