Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
7e9bf847
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
6
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看板
提交
7e9bf847
编写于
10月 19, 2009
作者:
T
Tony Lindgren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
omap: Use ioremap in dma.c
Use ioremap in dma.c Signed-off-by:
N
Tony Lindgren
<
tony@atomide.com
>
上级
1b26fe86
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
10 deletion
+24
-10
arch/arm/plat-omap/dma.c
arch/arm/plat-omap/dma.c
+24
-10
未找到文件。
arch/arm/plat-omap/dma.c
浏览文件 @
7e9bf847
...
...
@@ -2347,40 +2347,46 @@ EXPORT_SYMBOL(omap_stop_lcd_dma);
static
int
__init
omap_init_dma
(
void
)
{
unsigned
long
base
;
int
ch
,
r
;
if
(
cpu_class_is_omap1
())
{
omap_dma_base
=
OMAP1_IO_ADDRESS
(
OMAP1_DMA_BASE
)
;
base
=
OMAP1_DMA_BASE
;
dma_lch_count
=
OMAP1_LOGICAL_DMA_CH_COUNT
;
}
else
if
(
cpu_is_omap24xx
())
{
omap_dma_base
=
OMAP2_IO_ADDRESS
(
OMAP24XX_DMA4_BASE
)
;
base
=
OMAP24XX_DMA4_BASE
;
dma_lch_count
=
OMAP_DMA4_LOGICAL_DMA_CH_COUNT
;
}
else
if
(
cpu_is_omap34xx
())
{
omap_dma_base
=
OMAP2_IO_ADDRESS
(
OMAP34XX_DMA4_BASE
)
;
base
=
OMAP34XX_DMA4_BASE
;
dma_lch_count
=
OMAP_DMA4_LOGICAL_DMA_CH_COUNT
;
}
else
if
(
cpu_is_omap44xx
())
{
omap_dma_base
=
OMAP2_IO_ADDRESS
(
OMAP44XX_DMA4_BASE
)
;
base
=
OMAP44XX_DMA4_BASE
;
dma_lch_count
=
OMAP_DMA4_LOGICAL_DMA_CH_COUNT
;
}
else
{
pr_err
(
"DMA init failed for unsupported omap
\n
"
);
return
-
ENODEV
;
}
omap_dma_base
=
ioremap
(
base
,
SZ_4K
);
BUG_ON
(
!
omap_dma_base
);
if
(
cpu_class_is_omap2
()
&&
omap_dma_reserve_channels
&&
(
omap_dma_reserve_channels
<=
dma_lch_count
))
dma_lch_count
=
omap_dma_reserve_channels
;
dma_chan
=
kzalloc
(
sizeof
(
struct
omap_dma_lch
)
*
dma_lch_count
,
GFP_KERNEL
);
if
(
!
dma_chan
)
return
-
ENOMEM
;
if
(
!
dma_chan
)
{
r
=
-
ENOMEM
;
goto
out_unmap
;
}
if
(
cpu_class_is_omap2
())
{
dma_linked_lch
=
kzalloc
(
sizeof
(
struct
dma_link_info
)
*
dma_lch_count
,
GFP_KERNEL
);
if
(
!
dma_linked_lch
)
{
kfree
(
dma_chan
)
;
return
-
ENOMEM
;
r
=
-
ENOMEM
;
goto
out_free
;
}
}
...
...
@@ -2454,7 +2460,7 @@ static int __init omap_init_dma(void)
for
(
i
=
0
;
i
<
ch
;
i
++
)
free_irq
(
omap1_dma_irq
[
i
],
(
void
*
)
(
i
+
1
));
return
r
;
goto
out_free
;
}
}
}
...
...
@@ -2496,11 +2502,19 @@ static int __init omap_init_dma(void)
"(error %d)
\n
"
,
r
);
for
(
i
=
0
;
i
<
dma_chan_count
;
i
++
)
free_irq
(
omap1_dma_irq
[
i
],
(
void
*
)
(
i
+
1
));
return
r
;
goto
out_free
;
}
}
return
0
;
out_free:
kfree
(
dma_chan
);
out_unmap:
iounmap
(
omap_dma_base
);
return
r
;
}
arch_initcall
(
omap_init_dma
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录