Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
866ef8f4
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看板
提交
866ef8f4
编写于
12月 17, 2008
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sh: mach-edosk7705: Fix up edosk7705 so it all builds again.
Signed-off-by:
N
Paul Mundt
<
lethal@linux-sh.org
>
上级
0ef0e6ca
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
80 deletion
+24
-80
arch/sh/boards/mach-edosk7705/Makefile
arch/sh/boards/mach-edosk7705/Makefile
+0
-1
arch/sh/boards/mach-edosk7705/io.c
arch/sh/boards/mach-edosk7705/io.c
+19
-42
arch/sh/boards/mach-edosk7705/setup.c
arch/sh/boards/mach-edosk7705/setup.c
+1
-8
arch/sh/include/asm/machvec.h
arch/sh/include/asm/machvec.h
+0
-2
arch/sh/include/mach-common/mach/edosk7705.h
arch/sh/include/mach-common/mach/edosk7705.h
+4
-27
未找到文件。
arch/sh/boards/mach-edosk7705/Makefile
浏览文件 @
866ef8f4
...
...
@@ -3,4 +3,3 @@
#
obj-y
:=
setup.o io.o
arch/sh/boards/mach-edosk7705/io.c
浏览文件 @
866ef8f4
...
...
@@ -10,28 +10,24 @@
#include <linux/kernel.h>
#include <linux/types.h>
#include <
asm
/io.h>
#include <
linux
/io.h>
#include <mach/edosk7705.h>
#include <asm/addrspace.h>
#define SMC_IOADDR 0xA2000000
#define maybebadio(name,port) \
printk("bad PC-like io %s for port 0x%lx at 0x%08x\n", \
#name, (port), (__u32) __builtin_return_address(0))
/* Map the Ethernet addresses as if it is at 0x300 - 0x320 */
unsigned
long
sh_edosk7705_isa_port2addr
(
unsigned
long
port
)
static
unsigned
long
sh_edosk7705_isa_port2addr
(
unsigned
long
port
)
{
if
(
port
>=
0x300
&&
port
<
0x320
)
{
/
* SMC91C96 registers are 4 byte aligned rather than the
* usual 2 byte!
*/
return
SMC_IOADDR
+
(
(
port
-
0x300
)
*
2
);
}
/*
* SMC91C96 registers are 4 byte aligned rather than the
* usual 2 byte!
*/
if
(
port
>=
0x300
&&
port
<
0x320
)
return
SMC_IOADDR
+
((
port
-
0x300
)
*
2
);
maybebadio
(
sh_edosk7705_isa_port2addr
,
port
);
return
port
;
maybebadio
(
port
);
return
port
;
}
/* Trying to read / write bytes on odd-byte boundaries to the Ethernet
...
...
@@ -42,53 +38,34 @@ unsigned long sh_edosk7705_isa_port2addr(unsigned long port)
*/
unsigned
char
sh_edosk7705_inb
(
unsigned
long
port
)
{
if
(
port
>=
0x300
&&
port
<
0x320
&&
port
&
0x01
)
{
return
(
volatile
unsigned
char
)(
generic_inw
(
port
-
1
)
>>
8
);
}
return
*
(
volatile
unsigned
char
*
)
sh_edosk7705_isa_port2addr
(
port
);
}
if
(
port
>=
0x300
&&
port
<
0x320
&&
port
&
0x01
)
return
__raw_readw
(
port
-
1
)
>>
8
;
unsigned
int
sh_edosk7705_inl
(
unsigned
long
port
)
{
return
*
(
volatile
unsigned
long
*
)
port
;
return
__raw_readb
(
sh_edosk7705_isa_port2addr
(
port
));
}
void
sh_edosk7705_outb
(
unsigned
char
value
,
unsigned
long
port
)
{
if
(
port
>=
0x300
&&
port
<
0x320
&&
port
&
0x01
)
{
generic_outw
(((
unsigned
short
)
value
<<
8
),
port
-
1
);
__raw_writew
(((
unsigned
short
)
value
<<
8
),
port
-
1
);
return
;
}
*
(
volatile
unsigned
char
*
)
sh_edosk7705_isa_port2addr
(
port
)
=
value
;
}
void
sh_edosk7705_outl
(
unsigned
int
value
,
unsigned
long
port
)
{
*
(
volatile
unsigned
long
*
)
port
=
value
;
__raw_writeb
(
value
,
sh_edosk7705_isa_port2addr
(
port
));
}
void
sh_edosk7705_insb
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
unsigned
char
*
p
=
addr
;
while
(
count
--
)
*
p
++
=
sh_edosk7705_inb
(
port
);
}
void
sh_edosk7705_insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
unsigned
long
*
p
=
(
unsigned
long
*
)
addr
;
while
(
count
--
)
*
p
++
=
*
(
volatile
unsigned
long
*
)
port
;
*
p
++
=
sh_edosk7705_inb
(
port
)
;
}
void
sh_edosk7705_outsb
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
unsigned
char
*
p
=
(
unsigned
char
*
)
addr
;
while
(
count
--
)
sh_edosk7705_outb
(
*
p
++
,
port
);
}
unsigned
char
*
p
=
(
unsigned
char
*
)
addr
;
void
sh_edosk7705_outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
unsigned
long
*
p
=
(
unsigned
long
*
)
addr
;
while
(
count
--
)
sh_edosk7705_outl
(
*
p
++
,
port
);
while
(
count
--
)
sh_edosk7705_outb
(
*
p
++
,
port
);
}
arch/sh/boards/mach-edosk7705/setup.c
浏览文件 @
866ef8f4
...
...
@@ -9,6 +9,7 @@
* board by S. Dunn, 2003.
*/
#include <linux/init.h>
#include <linux/irq.h>
#include <asm/machvec.h>
#include <mach/edosk7705.h>
...
...
@@ -26,18 +27,10 @@ static struct sh_machine_vector mv_edosk7705 __initmv = {
.
mv_nr_irqs
=
80
,
.
mv_inb
=
sh_edosk7705_inb
,
.
mv_inl
=
sh_edosk7705_inl
,
.
mv_outb
=
sh_edosk7705_outb
,
.
mv_outl
=
sh_edosk7705_outl
,
.
mv_inl_p
=
sh_edosk7705_inl
,
.
mv_outl_p
=
sh_edosk7705_outl
,
.
mv_insb
=
sh_edosk7705_insb
,
.
mv_insl
=
sh_edosk7705_insl
,
.
mv_outsb
=
sh_edosk7705_outsb
,
.
mv_outsl
=
sh_edosk7705_outsl
,
.
mv_isa_port2addr
=
sh_edosk7705_isa_port2addr
,
.
mv_init_irq
=
sh_edosk7705_init_irq
,
};
arch/sh/include/asm/machvec.h
浏览文件 @
866ef8f4
...
...
@@ -14,8 +14,6 @@
#include <linux/time.h>
#include <asm/machtypes.h>
struct
device
;
struct
sh_machine_vector
{
void
(
*
mv_setup
)(
char
**
cmdline_p
);
const
char
*
mv_name
;
...
...
arch/sh/include/mach-common/mach/edosk7705.h
浏览文件 @
866ef8f4
/*
* include/asm-sh/edosk7705.h
*
* Modified version of io_se.h for the EDOSK7705 specific functions.
*
* May be copied or modified under the terms of the GNU General Public
* License. See linux/COPYING for more information.
*
* IO functions for an Hitachi EDOSK7705 development board
*/
#ifndef __ASM_SH_EDOSK7705_IO_H
#define __ASM_SH_EDOSK7705_IO_H
#ifndef __ASM_SH_EDOSK7705_H
#define __ASM_SH_EDOSK7705_H
#define __IO_PREFIX sh_edosk7705
#include <asm/io_generic.h>
extern
unsigned
char
sh_edosk7705_inb
(
unsigned
long
port
);
extern
unsigned
int
sh_edosk7705_inl
(
unsigned
long
port
);
extern
void
sh_edosk7705_outb
(
unsigned
char
value
,
unsigned
long
port
);
extern
void
sh_edosk7705_outl
(
unsigned
int
value
,
unsigned
long
port
);
extern
void
sh_edosk7705_insb
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
);
extern
void
sh_edosk7705_insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
);
extern
void
sh_edosk7705_outsb
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
);
extern
void
sh_edosk7705_outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
);
extern
unsigned
long
sh_edosk7705_isa_port2addr
(
unsigned
long
offset
);
#endif
/* __ASM_SH_EDOSK7705_IO_H */
#endif
/* __ASM_SH_EDOSK7705_H */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录