Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
fa6688e1
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fa6688e1
编写于
4月 05, 2009
作者:
G
Geert Uytterhoeven
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
m68k: amiga - Frame buffer platform device conversion
Signed-off-by:
N
Geert Uytterhoeven
<
geert@linux-m68k.org
>
上级
0d305464
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
18 deletion
+46
-18
arch/m68k/amiga/platform.c
arch/m68k/amiga/platform.c
+15
-0
drivers/video/amifb.c
drivers/video/amifb.c
+31
-18
未找到文件。
arch/m68k/amiga/platform.c
浏览文件 @
fa6688e1
...
...
@@ -56,3 +56,18 @@ static int __init amiga_init_bus(void)
subsys_initcall
(
amiga_init_bus
);
#endif
/* CONFIG_ZORRO */
static
int
__init
amiga_init_devices
(
void
)
{
if
(
!
MACH_IS_AMIGA
)
return
-
ENODEV
;
/* video hardware */
if
(
AMIGAHW_PRESENT
(
AMI_VIDEO
))
platform_device_register_simple
(
"amiga-video"
,
-
1
,
NULL
,
0
);
return
0
;
}
device_initcall
(
amiga_init_devices
);
drivers/video/amifb.c
浏览文件 @
fa6688e1
...
...
@@ -50,8 +50,9 @@
#include <linux/fb.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/platform_device.h>
#include <linux/uaccess.h>
#include <asm/system.h>
#include <asm/irq.h>
#include <asm/amigahw.h>
...
...
@@ -1135,7 +1136,7 @@ static int amifb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg
* Interface to the low level console driver
*/
static
void
amifb_deinit
(
void
);
static
void
amifb_deinit
(
struct
platform_device
*
pdev
);
/*
* Internal routines
...
...
@@ -2246,7 +2247,7 @@ static inline void chipfree(void)
* Initialisation
*/
static
int
__init
amifb_
init
(
void
)
static
int
__init
amifb_
probe
(
struct
platform_device
*
pdev
)
{
int
tag
,
i
,
err
=
0
;
u_long
chipptr
;
...
...
@@ -2261,16 +2262,6 @@ static int __init amifb_init(void)
}
amifb_setup
(
option
);
#endif
if
(
!
MACH_IS_AMIGA
||
!
AMIGAHW_PRESENT
(
AMI_VIDEO
))
return
-
ENODEV
;
/*
* We request all registers starting from bplpt[0]
*/
if
(
!
request_mem_region
(
CUSTOM_PHYSADDR
+
0xe0
,
0x120
,
"amifb [Denise/Lisa]"
))
return
-
EBUSY
;
custom
.
dmacon
=
DMAF_ALL
|
DMAF_MASTER
;
switch
(
amiga_chipset
)
{
...
...
@@ -2377,6 +2368,7 @@ static int __init amifb_init(void)
fb_info
.
fbops
=
&
amifb_ops
;
fb_info
.
par
=
&
currentpar
;
fb_info
.
flags
=
FBINFO_DEFAULT
;
fb_info
.
device
=
&
pdev
->
dev
;
if
(
!
fb_find_mode
(
&
fb_info
.
var
,
&
fb_info
,
mode_option
,
ami_modedb
,
NUM_TOTAL_MODES
,
&
ami_modedb
[
defmode
],
4
))
{
...
...
@@ -2451,18 +2443,18 @@ static int __init amifb_init(void)
return
0
;
amifb_error:
amifb_deinit
();
amifb_deinit
(
pdev
);
return
err
;
}
static
void
amifb_deinit
(
void
)
static
void
amifb_deinit
(
struct
platform_device
*
pdev
)
{
if
(
fb_info
.
cmap
.
len
)
fb_dealloc_cmap
(
&
fb_info
.
cmap
);
fb_dealloc_cmap
(
&
fb_info
.
cmap
);
chipfree
();
if
(
videomemory
)
iounmap
((
void
*
)
videomemory
);
release_mem_region
(
CUSTOM_PHYSADDR
+
0xe0
,
0x120
);
custom
.
dmacon
=
DMAF_ALL
|
DMAF_MASTER
;
}
...
...
@@ -3794,14 +3786,35 @@ static void ami_rebuild_copper(void)
}
}
static
void
__exit
amifb_exit
(
void
)
static
int
__exit
amifb_remove
(
struct
platform_device
*
pdev
)
{
unregister_framebuffer
(
&
fb_info
);
amifb_deinit
();
amifb_deinit
(
pdev
);
amifb_video_off
();
return
0
;
}
static
struct
platform_driver
amifb_driver
=
{
.
remove
=
__exit_p
(
amifb_remove
),
.
driver
=
{
.
name
=
"amiga-video"
,
.
owner
=
THIS_MODULE
,
},
};
static
int
__init
amifb_init
(
void
)
{
return
platform_driver_probe
(
&
amifb_driver
,
amifb_probe
);
}
module_init
(
amifb_init
);
static
void
__exit
amifb_exit
(
void
)
{
platform_driver_unregister
(
&
amifb_driver
);
}
module_exit
(
amifb_exit
);
MODULE_LICENSE
(
"GPL"
);
MODULE_ALIAS
(
"platform:amiga-video"
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录