Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
81575670
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
81575670
编写于
8月 22, 2013
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
上级
e7ac4fb6
2820f615
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
19 addition
and
93 deletion
+19
-93
MAINTAINERS
MAINTAINERS
+1
-0
include/sound/soc.h
include/sound/soc.h
+1
-5
sound/soc/codecs/Kconfig
sound/soc/codecs/Kconfig
+1
-0
sound/soc/soc-core.c
sound/soc/soc-core.c
+12
-55
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+0
-30
sound/soc/soc-jack.c
sound/soc/soc-jack.c
+1
-1
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+3
-2
未找到文件。
MAINTAINERS
浏览文件 @
81575670
...
...
@@ -7683,6 +7683,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
W: http://alsa-project.org/main/index.php/ASoC
S: Supported
F: Documentation/sound/alsa/soc/
F: sound/soc/
F: include/sound/soc*
...
...
include/sound/soc.h
浏览文件 @
81575670
...
...
@@ -234,7 +234,7 @@
.private_value = xdata }
#define SOC_ENUM_EXT(xname, xenum, xhandler_get, xhandler_put) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
.info = snd_soc_info_enum_
ext
, \
.info = snd_soc_info_enum_
double
, \
.get = xhandler_get, .put = xhandler_put, \
.private_value = (unsigned long)&xenum }
...
...
@@ -489,8 +489,6 @@ int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
int
snd_soc_info_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_info_enum_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_get_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_put_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
...
...
@@ -501,8 +499,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_info_volsw
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_info_volsw_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
#define snd_soc_info_bool_ext snd_ctl_boolean_mono_info
int
snd_soc_get_volsw
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
...
...
sound/soc/codecs/Kconfig
浏览文件 @
81575670
...
...
@@ -10,6 +10,7 @@ config SND_SOC_I2C_AND_SPI
config SND_SOC_ALL_CODECS
tristate "Build all ASoC CODEC drivers"
depends on COMPILE_TEST
select SND_SOC_88PM860X if MFD_88PM860X
select SND_SOC_L3
select SND_SOC_AB8500_CODEC if ABX500_CORE
...
...
sound/soc/soc-core.c
浏览文件 @
81575670
...
...
@@ -50,8 +50,6 @@
#define NAME_SIZE 32
static
DECLARE_WAIT_QUEUE_HEAD
(
soc_pm_waitq
);
#ifdef CONFIG_DEBUG_FS
struct
dentry
*
snd_soc_debugfs_root
;
EXPORT_SYMBOL_GPL
(
snd_soc_debugfs_root
);
...
...
@@ -543,6 +541,15 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
}
#endif
static
void
codec2codec_close_delayed_work
(
struct
work_struct
*
work
)
{
/* Currently nothing to do for c2c links
* Since c2c links are internal nodes in the DAPM graph and
* don't interface with the outside world or application layer
* we don't have to do any special handling on close.
*/
}
#ifdef CONFIG_PM_SLEEP
/* powers down audio subsystem for suspend */
int
snd_soc_suspend
(
struct
device
*
dev
)
...
...
@@ -1441,6 +1448,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
return
ret
;
}
}
else
{
INIT_DELAYED_WORK
(
&
rtd
->
delayed_work
,
codec2codec_close_delayed_work
);
/* link the DAI widgets */
play_w
=
codec_dai
->
playback_widget
;
capture_w
=
cpu_dai
->
capture_widget
;
...
...
@@ -2709,59 +2719,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
}
EXPORT_SYMBOL_GPL
(
snd_soc_put_value_enum_double
);
/**
* snd_soc_info_enum_ext - external enumerated single mixer info callback
* @kcontrol: mixer control
* @uinfo: control element information
*
* Callback to provide information about an external enumerated
* single mixer.
*
* Returns 0 for success.
*/
int
snd_soc_info_enum_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
)
{
struct
soc_enum
*
e
=
(
struct
soc_enum
*
)
kcontrol
->
private_value
;
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_ENUMERATED
;
uinfo
->
count
=
1
;
uinfo
->
value
.
enumerated
.
items
=
e
->
max
;
if
(
uinfo
->
value
.
enumerated
.
item
>
e
->
max
-
1
)
uinfo
->
value
.
enumerated
.
item
=
e
->
max
-
1
;
strcpy
(
uinfo
->
value
.
enumerated
.
name
,
e
->
texts
[
uinfo
->
value
.
enumerated
.
item
]);
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_info_enum_ext
);
/**
* snd_soc_info_volsw_ext - external single mixer info callback
* @kcontrol: mixer control
* @uinfo: control element information
*
* Callback to provide information about a single external mixer control.
*
* Returns 0 for success.
*/
int
snd_soc_info_volsw_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
)
{
int
max
=
kcontrol
->
private_value
;
if
(
max
==
1
&&
!
strstr
(
kcontrol
->
id
.
name
,
" Volume"
))
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_BOOLEAN
;
else
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_INTEGER
;
uinfo
->
count
=
1
;
uinfo
->
value
.
integer
.
min
=
0
;
uinfo
->
value
.
integer
.
max
=
max
;
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_info_volsw_ext
);
/**
* snd_soc_info_volsw - single mixer info callback
* @kcontrol: mixer control
...
...
sound/soc/soc-dapm.c
浏览文件 @
81575670
...
...
@@ -174,36 +174,6 @@ static inline struct snd_soc_dapm_widget *dapm_cnew_widget(
return
kmemdup
(
_widget
,
sizeof
(
*
_widget
),
GFP_KERNEL
);
}
/* get snd_card from DAPM context */
static
inline
struct
snd_card
*
dapm_get_snd_card
(
struct
snd_soc_dapm_context
*
dapm
)
{
if
(
dapm
->
codec
)
return
dapm
->
codec
->
card
->
snd_card
;
else
if
(
dapm
->
platform
)
return
dapm
->
platform
->
card
->
snd_card
;
else
BUG
();
/* unreachable */
return
NULL
;
}
/* get soc_card from DAPM context */
static
inline
struct
snd_soc_card
*
dapm_get_soc_card
(
struct
snd_soc_dapm_context
*
dapm
)
{
if
(
dapm
->
codec
)
return
dapm
->
codec
->
card
;
else
if
(
dapm
->
platform
)
return
dapm
->
platform
->
card
;
else
BUG
();
/* unreachable */
return
NULL
;
}
static
void
dapm_reset
(
struct
snd_soc_card
*
card
)
{
struct
snd_soc_dapm_widget
*
w
;
...
...
sound/soc/soc-jack.c
浏览文件 @
81575670
...
...
@@ -263,7 +263,7 @@ static irqreturn_t gpio_handler(int irq, void *data)
if
(
device_may_wakeup
(
dev
))
pm_wakeup_event
(
dev
,
gpio
->
debounce_time
+
50
);
schedule_delayed_work
(
&
gpio
->
work
,
queue_delayed_work
(
system_power_efficient_wq
,
&
gpio
->
work
,
msecs_to_jiffies
(
gpio
->
debounce_time
));
return
IRQ_HANDLED
;
...
...
sound/soc/soc-pcm.c
浏览文件 @
81575670
...
...
@@ -411,8 +411,9 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
}
else
{
/* start delayed pop wq here for playback streams */
rtd
->
pop_wait
=
1
;
schedule_delayed_work
(
&
rtd
->
delayed_work
,
msecs_to_jiffies
(
rtd
->
pmdown_time
));
queue_delayed_work
(
system_power_efficient_wq
,
&
rtd
->
delayed_work
,
msecs_to_jiffies
(
rtd
->
pmdown_time
));
}
}
else
{
/* capture streams can be powered down now */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录