Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
27516080
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
27516080
编写于
6月 28, 2013
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'asoc/topic/x86' into asoc-next
上级
214c3eee
6c50e914
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
22 deletion
+10
-22
sound/soc/mid-x86/mfld_machine.c
sound/soc/mid-x86/mfld_machine.c
+10
-22
未找到文件。
sound/soc/mid-x86/mfld_machine.c
浏览文件 @
27516080
...
...
@@ -371,7 +371,7 @@ static int snd_mfld_mc_probe(struct platform_device *pdev)
/* audio interrupt base of SRAM location where
* interrupts are stored by System FW */
mc_drv_ctx
=
kzalloc
(
sizeof
(
*
mc_drv_ctx
),
GFP_ATOMIC
);
mc_drv_ctx
=
devm_kzalloc
(
&
pdev
->
dev
,
sizeof
(
*
mc_drv_ctx
),
GFP_ATOMIC
);
if
(
!
mc_drv_ctx
)
{
pr_err
(
"allocation failed
\n
"
);
return
-
ENOMEM
;
...
...
@@ -381,51 +381,39 @@ static int snd_mfld_mc_probe(struct platform_device *pdev)
pdev
,
IORESOURCE_MEM
,
"IRQ_BASE"
);
if
(
!
irq_mem
)
{
pr_err
(
"no mem resource given
\n
"
);
ret_val
=
-
ENODEV
;
goto
unalloc
;
return
-
ENODEV
;
}
mc_drv_ctx
->
int_base
=
ioremap_nocache
(
irq_mem
->
start
,
resource_size
(
irq_mem
));
mc_drv_ctx
->
int_base
=
devm_ioremap_nocache
(
&
pdev
->
dev
,
irq_mem
->
start
,
resource_size
(
irq_mem
));
if
(
!
mc_drv_ctx
->
int_base
)
{
pr_err
(
"Mapping of cache failed
\n
"
);
ret_val
=
-
ENOMEM
;
goto
unalloc
;
return
-
ENOMEM
;
}
/* register for interrupt */
ret_val
=
request_threaded_irq
(
irq
,
snd_mfld_jack_intr_handler
,
ret_val
=
devm_request_threaded_irq
(
&
pdev
->
dev
,
irq
,
snd_mfld_jack_intr_handler
,
snd_mfld_jack_detection
,
IRQF_SHARED
,
pdev
->
dev
.
driver
->
name
,
mc_drv_ctx
);
if
(
ret_val
)
{
pr_err
(
"cannot register IRQ
\n
"
);
goto
unalloc
;
return
ret_val
;
}
/* register the soc card */
snd_soc_card_mfld
.
dev
=
&
pdev
->
dev
;
ret_val
=
snd_soc_register_card
(
&
snd_soc_card_mfld
);
if
(
ret_val
)
{
pr_debug
(
"snd_soc_register_card failed %d
\n
"
,
ret_val
);
goto
freeirq
;
return
ret_val
;
}
platform_set_drvdata
(
pdev
,
mc_drv_ctx
);
pr_debug
(
"successfully exited probe
\n
"
);
return
ret_val
;
freeirq:
free_irq
(
irq
,
mc_drv_ctx
);
unalloc:
kfree
(
mc_drv_ctx
);
return
ret_val
;
return
0
;
}
static
int
snd_mfld_mc_remove
(
struct
platform_device
*
pdev
)
{
struct
mfld_mc_private
*
mc_drv_ctx
=
platform_get_drvdata
(
pdev
);
pr_debug
(
"snd_mfld_mc_remove called
\n
"
);
free_irq
(
platform_get_irq
(
pdev
,
0
),
mc_drv_ctx
);
snd_soc_unregister_card
(
&
snd_soc_card_mfld
);
kfree
(
mc_drv_ctx
);
platform_set_drvdata
(
pdev
,
NULL
);
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录