Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
701e7483
Commit
701e7483
authored
May 24, 2003
by
Geert Uytterhoeven
Committed by
Linus Torvalds
May 24, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] M68k IRQ API updates [3/20]
M68k Apollo: Update to the new irq API (from Roman Zippel and me) [3/20]
parent
0ee13002
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
13 deletions
+15
-13
arch/m68k/apollo/config.c
arch/m68k/apollo/config.c
+8
-7
arch/m68k/apollo/dn_ints.c
arch/m68k/apollo/dn_ints.c
+7
-6
No files found.
arch/m68k/apollo/config.c
View file @
701e7483
...
...
@@ -26,9 +26,9 @@ u_long cpuctrl_physaddr;
u_long
timer_physaddr
;
u_long
apollo_model
;
extern
void
dn_sched_init
(
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
extern
void
dn_sched_init
(
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
extern
void
dn_init_IRQ
(
void
);
extern
int
dn_request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
);
extern
int
dn_request_irq
(
unsigned
int
irq
,
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
);
extern
void
dn_free_irq
(
unsigned
int
irq
,
void
*
dev_id
);
extern
void
dn_enable_irq
(
unsigned
int
);
extern
void
dn_disable_irq
(
unsigned
int
);
...
...
@@ -41,12 +41,12 @@ extern void dn_dummy_waitbut(void);
extern
struct
fb_info
*
dn_fb_init
(
long
*
);
extern
void
dn_dummy_debug_init
(
void
);
extern
void
dn_dummy_video_setup
(
char
*
,
int
*
);
extern
void
dn_process_int
(
int
irq
,
struct
pt_regs
*
fp
);
extern
irqreturn_t
dn_process_int
(
int
irq
,
struct
pt_regs
*
fp
);
#ifdef CONFIG_HEARTBEAT
static
void
dn_heartbeat
(
int
on
);
#endif
static
void
dn_timer_int
(
int
irq
,
void
*
,
struct
pt_regs
*
);
static
void
(
*
sched_timer_handler
)(
int
,
void
*
,
struct
pt_regs
*
)
=
NULL
;
static
irqreturn_t
dn_timer_int
(
int
irq
,
void
*
,
struct
pt_regs
*
);
static
irqreturn_t
(
*
sched_timer_handler
)(
int
,
void
*
,
struct
pt_regs
*
)
=
NULL
;
static
void
dn_get_model
(
char
*
model
);
static
const
char
*
apollo_models
[]
=
{
"DN3000 (Otter)"
,
...
...
@@ -195,7 +195,7 @@ void config_apollo(void) {
}
void
dn_timer_int
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
{
irqreturn_t
dn_timer_int
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
{
volatile
unsigned
char
x
;
...
...
@@ -204,9 +204,10 @@ void dn_timer_int(int irq, void *dev_id, struct pt_regs *fp) {
x
=*
(
volatile
unsigned
char
*
)(
timer
+
3
);
x
=*
(
volatile
unsigned
char
*
)(
timer
+
5
);
return
IRQ_HANDLED
;
}
void
dn_sched_init
(
void
(
*
timer_routine
)(
int
,
void
*
,
struct
pt_regs
*
))
{
void
dn_sched_init
(
irqreturn_t
(
*
timer_routine
)(
int
,
void
*
,
struct
pt_regs
*
))
{
/* program timer 1 */
*
(
volatile
unsigned
char
*
)(
timer
+
3
)
=
0x01
;
...
...
arch/m68k/apollo/dn_ints.c
View file @
701e7483
...
...
@@ -14,19 +14,20 @@
static
irq_handler_t
dn_irqs
[
16
];
void
dn_process_int
(
int
irq
,
struct
pt_regs
*
fp
)
{
irqreturn_t
dn_process_int
(
int
irq
,
struct
pt_regs
*
fp
)
{
irqreturn_t
res
=
IRQ_NONE
;
if
(
dn_irqs
[
irq
-
160
].
handler
)
{
dn_irqs
[
irq
-
160
].
handler
(
irq
,
dn_irqs
[
irq
-
160
].
dev_id
,
fp
);
}
else
{
res
=
dn_irqs
[
irq
-
160
].
handler
(
irq
,
dn_irqs
[
irq
-
160
].
dev_id
,
fp
);
}
else
{
printk
(
"spurious irq %d occurred
\n
"
,
irq
);
}
*
(
volatile
unsigned
char
*
)(
pica
)
=
0x20
;
*
(
volatile
unsigned
char
*
)(
picb
)
=
0x20
;
return
res
;
}
void
dn_init_IRQ
(
void
)
{
...
...
@@ -42,7 +43,7 @@ void dn_init_IRQ(void) {
}
int
dn_request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
)
{
int
dn_request_irq
(
unsigned
int
irq
,
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
)
{
if
((
irq
<
0
)
||
(
irq
>
15
))
{
printk
(
"Trying to request illegal IRQ
\n
"
);
...
...
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