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
Kirill Smelkov
linux
Commits
534313a2
Commit
534313a2
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 [8/20]
M68k MVME147: Update to the new irq API (from Roman Zippel and me) [8/20]
parent
a92d180e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
15 deletions
+17
-15
arch/m68k/mvme147/147ints.c
arch/m68k/mvme147/147ints.c
+10
-8
arch/m68k/mvme147/config.c
arch/m68k/mvme147/config.c
+7
-7
No files found.
arch/m68k/mvme147/147ints.c
View file @
534313a2
...
...
@@ -21,14 +21,14 @@
#include <asm/irq.h>
#include <asm/traps.h>
static
void
mvme147_defhand
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
);
static
irqreturn_t
mvme147_defhand
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
);
/*
* This should ideally be 4 elements only, for speed.
*/
static
struct
{
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
);
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
);
unsigned
long
flags
;
void
*
dev_id
;
const
char
*
devname
;
...
...
@@ -60,7 +60,7 @@ void mvme147_init_IRQ (void)
}
int
mvme147_request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
)
{
if
(
irq
>
255
)
{
...
...
@@ -102,14 +102,15 @@ void mvme147_free_irq(unsigned int irq, void *dev_id)
irq_tab
[
irq
].
devname
=
NULL
;
}
void
mvme147_process_int
(
unsigned
long
vec
,
struct
pt_regs
*
fp
)
irqreturn_t
mvme147_process_int
(
unsigned
long
vec
,
struct
pt_regs
*
fp
)
{
if
(
vec
>
255
)
if
(
vec
>
255
)
{
printk
(
"mvme147_process_int: Illegal vector %ld
\n
"
,
vec
);
else
{
return
IRQ_NONE
;
}
else
{
irq_tab
[
vec
].
count
++
;
irq_tab
[
vec
].
handler
(
vec
,
irq_tab
[
vec
].
dev_id
,
fp
);
return
IRQ_HANDLED
;
}
}
...
...
@@ -127,9 +128,10 @@ int show_mvme147_interrupts (struct seq_file *p, void *v)
}
static
void
mvme147_defhand
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
static
irqreturn_t
mvme147_defhand
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
{
printk
(
"Unknown interrupt 0x%02x
\n
"
,
irq
);
return
IRQ_NONE
;
}
void
mvme147_enable_irq
(
unsigned
int
irq
)
...
...
arch/m68k/mvme147/config.c
View file @
534313a2
...
...
@@ -36,7 +36,7 @@
#include <asm/mvme147hw.h>
extern
void
mvme147_process_int
(
int
level
,
struct
pt_regs
*
regs
);
extern
irqreturn_t
mvme147_process_int
(
int
level
,
struct
pt_regs
*
regs
);
extern
void
mvme147_init_IRQ
(
void
);
extern
void
mvme147_free_irq
(
unsigned
int
,
void
*
);
extern
int
show_mvme147_interrupts
(
struct
seq_file
*
,
void
*
);
...
...
@@ -44,8 +44,8 @@ extern void mvme147_enable_irq (unsigned int);
extern
void
mvme147_disable_irq
(
unsigned
int
);
static
void
mvme147_get_model
(
char
*
model
);
static
int
mvme147_get_hardware_list
(
char
*
buffer
);
extern
int
mvme147_request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
);
extern
void
mvme147_sched_init
(
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
extern
int
mvme147_request_irq
(
unsigned
int
irq
,
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
);
extern
void
mvme147_sched_init
(
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
extern
unsigned
long
mvme147_gettimeoffset
(
void
);
extern
int
mvme147_hwclk
(
int
,
struct
rtc_time
*
);
extern
int
mvme147_set_clock_mmss
(
unsigned
long
);
...
...
@@ -58,7 +58,7 @@ static int bcd2int (unsigned char b);
/* Save tick handler routine pointer, will point to do_timer() in
* kernel/sched.c, called via mvme147_process_int() */
void
(
*
tick_handler
)(
int
,
void
*
,
struct
pt_regs
*
);
irqreturn_t
(
*
tick_handler
)(
int
,
void
*
,
struct
pt_regs
*
);
int
mvme147_parse_bootinfo
(
const
struct
bi_record
*
bi
)
...
...
@@ -118,15 +118,15 @@ void __init config_mvme147(void)
/* Using pcc tick timer 1 */
static
void
mvme147_timer_int
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
static
irqreturn_t
mvme147_timer_int
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
)
{
m147_pcc
->
t1_int_cntrl
=
PCC_TIMER_INT_CLR
;
m147_pcc
->
t1_int_cntrl
=
PCC_INT_ENAB
|
PCC_LEVEL_TIMER1
;
tick_handler
(
irq
,
dev_id
,
fp
);
return
tick_handler
(
irq
,
dev_id
,
fp
);
}
void
mvme147_sched_init
(
void
(
*
timer_routine
)(
int
,
void
*
,
struct
pt_regs
*
))
void
mvme147_sched_init
(
irqreturn_t
(
*
timer_routine
)(
int
,
void
*
,
struct
pt_regs
*
))
{
tick_handler
=
timer_routine
;
request_irq
(
PCC_IRQ_TIMER1
,
mvme147_timer_int
,
...
...
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