Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
866ef8f4
Commit
866ef8f4
authored
Dec 17, 2008
by
Paul Mundt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sh: mach-edosk7705: Fix up edosk7705 so it all builds again.
Signed-off-by:
Paul Mundt
<
lethal@linux-sh.org
>
parent
0ef0e6ca
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
80 deletions
+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
No files found.
arch/sh/boards/mach-edosk7705/Makefile
View file @
866ef8f4
...
...
@@ -3,4 +3,3 @@
#
obj-y
:=
setup.o io.o
arch/sh/boards/mach-edosk7705/io.c
View file @
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
View file @
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
View file @
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
View file @
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 */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment