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
a1f92be4
Commit
a1f92be4
authored
Apr 28, 2003
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PPC32: Change interrupt handlers to return irqreturn_t.
parent
ca58a02d
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
34 additions
and
48 deletions
+34
-48
arch/ppc/4xx_io/serial_sicc.c
arch/ppc/4xx_io/serial_sicc.c
+5
-15
arch/ppc/8260_io/enet.c
arch/ppc/8260_io/enet.c
+3
-3
arch/ppc/8260_io/fcc_enet.c
arch/ppc/8260_io/fcc_enet.c
+5
-4
arch/ppc/8260_io/uart.c
arch/ppc/8260_io/uart.c
+2
-1
arch/ppc/amiga/amiints.c
arch/ppc/amiga/amiints.c
+0
-4
arch/ppc/amiga/config.c
arch/ppc/amiga/config.c
+3
-3
arch/ppc/kernel/irq.c
arch/ppc/kernel/irq.c
+8
-14
arch/ppc/platforms/pmac_smp.c
arch/ppc/platforms/pmac_smp.c
+2
-1
arch/ppc/platforms/prep_setup.c
arch/ppc/platforms/prep_setup.c
+2
-1
arch/ppc/syslib/open_pic.c
arch/ppc/syslib/open_pic.c
+2
-1
arch/ppc/syslib/ppc8xx_pic.c
arch/ppc/syslib/ppc8xx_pic.c
+2
-1
No files found.
arch/ppc/4xx_io/serial_sicc.c
View file @
a1f92be4
...
@@ -431,11 +431,7 @@ static void siccuart_event(struct SICC_info *info, int event)
...
@@ -431,11 +431,7 @@ static void siccuart_event(struct SICC_info *info, int event)
}
}
static
void
static
void
#ifdef SUPPORT_SYSRQ
siccuart_rx_chars
(
struct
SICC_info
*
info
,
struct
pt_regs
*
regs
)
siccuart_rx_chars
(
struct
SICC_info
*
info
,
struct
pt_regs
*
regs
)
#else
siccuart_rx_chars
(
struct
SICC_info
*
info
)
#endif
{
{
struct
tty_struct
*
tty
=
info
->
tty
;
struct
tty_struct
*
tty
=
info
->
tty
;
unsigned
int
status
,
ch
,
rsr
,
flg
,
ignored
=
0
;
unsigned
int
status
,
ch
,
rsr
,
flg
,
ignored
=
0
;
...
@@ -574,25 +570,19 @@ static void siccuart_tx_chars(struct SICC_info *info)
...
@@ -574,25 +570,19 @@ static void siccuart_tx_chars(struct SICC_info *info)
}
}
static
void
siccuart_int_rx
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
siccuart_int_rx
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
SICC_info
*
info
=
dev_id
;
struct
SICC_info
*
info
=
dev_id
;
siccuart_rx_chars
(
info
,
regs
);
#ifdef SUPPORT_SYSRQ
return
IRQ_HANDLED
;
siccuart_rx_chars
(
info
,
regs
);
#else
siccuart_rx_chars
(
info
);
#endif
//powerpcClearUicsrBits(0x00000400);
}
}
static
void
siccuart_int_tx
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
siccuart_int_tx
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
SICC_info
*
info
=
dev_id
;
struct
SICC_info
*
info
=
dev_id
;
siccuart_tx_chars
(
info
);
siccuart_tx_chars
(
info
);
return
IRQ_HANDLED
;
}
}
static
void
siccuart_tasklet_action
(
unsigned
long
data
)
static
void
siccuart_tasklet_action
(
unsigned
long
data
)
...
...
arch/ppc/8260_io/enet.c
View file @
a1f92be4
...
@@ -122,7 +122,7 @@ struct scc_enet_private {
...
@@ -122,7 +122,7 @@ struct scc_enet_private {
static
int
scc_enet_open
(
struct
net_device
*
dev
);
static
int
scc_enet_open
(
struct
net_device
*
dev
);
static
int
scc_enet_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
scc_enet_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
scc_enet_rx
(
struct
net_device
*
dev
);
static
int
scc_enet_rx
(
struct
net_device
*
dev
);
static
void
scc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
static
irqreturn_t
scc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
);
static
int
scc_enet_close
(
struct
net_device
*
dev
);
static
int
scc_enet_close
(
struct
net_device
*
dev
);
static
struct
net_device_stats
*
scc_enet_get_stats
(
struct
net_device
*
dev
);
static
struct
net_device_stats
*
scc_enet_get_stats
(
struct
net_device
*
dev
);
static
void
set_multicast_list
(
struct
net_device
*
dev
);
static
void
set_multicast_list
(
struct
net_device
*
dev
);
...
@@ -272,7 +272,7 @@ scc_enet_timeout(struct net_device *dev)
...
@@ -272,7 +272,7 @@ scc_enet_timeout(struct net_device *dev)
/* The interrupt handler.
/* The interrupt handler.
* This is called from the CPM handler, not the MPC core interrupt.
* This is called from the CPM handler, not the MPC core interrupt.
*/
*/
static
void
static
irqreturn_t
scc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
scc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
dev_id
;
struct
net_device
*
dev
=
dev_id
;
...
@@ -403,7 +403,7 @@ scc_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs)
...
@@ -403,7 +403,7 @@ scc_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs)
printk
(
"SCC ENET: BSY can't happen.
\n
"
);
printk
(
"SCC ENET: BSY can't happen.
\n
"
);
}
}
return
;
return
IRQ_HANDLED
;
}
}
/* During a receive, the cur_rx points to the current incoming buffer.
/* During a receive, the cur_rx points to the current incoming buffer.
...
...
arch/ppc/8260_io/fcc_enet.c
View file @
a1f92be4
...
@@ -126,7 +126,7 @@ typedef struct {
...
@@ -126,7 +126,7 @@ typedef struct {
static
int
fcc_enet_open
(
struct
net_device
*
dev
);
static
int
fcc_enet_open
(
struct
net_device
*
dev
);
static
int
fcc_enet_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
fcc_enet_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
fcc_enet_rx
(
struct
net_device
*
dev
);
static
int
fcc_enet_rx
(
struct
net_device
*
dev
);
static
void
fcc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
static
irqreturn_t
fcc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
);
static
int
fcc_enet_close
(
struct
net_device
*
dev
);
static
int
fcc_enet_close
(
struct
net_device
*
dev
);
static
struct
net_device_stats
*
fcc_enet_get_stats
(
struct
net_device
*
dev
);
static
struct
net_device_stats
*
fcc_enet_get_stats
(
struct
net_device
*
dev
);
static
void
set_multicast_list
(
struct
net_device
*
dev
);
static
void
set_multicast_list
(
struct
net_device
*
dev
);
...
@@ -452,7 +452,7 @@ fcc_enet_timeout(struct net_device *dev)
...
@@ -452,7 +452,7 @@ fcc_enet_timeout(struct net_device *dev)
}
}
/* The interrupt handler. */
/* The interrupt handler. */
static
void
static
irqreturn_t
fcc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
fcc_enet_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
dev_id
;
struct
net_device
*
dev
=
dev_id
;
...
@@ -583,7 +583,7 @@ fcc_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs)
...
@@ -583,7 +583,7 @@ fcc_enet_interrupt(int irq, void * dev_id, struct pt_regs * regs)
if
(
int_events
&
FCC_ENET_BSY
)
{
if
(
int_events
&
FCC_ENET_BSY
)
{
cep
->
stats
.
rx_dropped
++
;
cep
->
stats
.
rx_dropped
++
;
}
}
return
;
return
IRQ_HANDLED
;
}
}
/* During a receive, the cur_rx points to the current incoming buffer.
/* During a receive, the cur_rx points to the current incoming buffer.
...
@@ -1203,7 +1203,7 @@ mii_discover_phy(uint mii_reg, struct net_device *dev)
...
@@ -1203,7 +1203,7 @@ mii_discover_phy(uint mii_reg, struct net_device *dev)
}
}
/* This interrupt occurs when the PHY detects a link change. */
/* This interrupt occurs when the PHY detects a link change. */
static
void
static
irqreturn_t
mii_link_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
mii_link_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
dev_id
;
struct
net_device
*
dev
=
dev_id
;
...
@@ -1211,6 +1211,7 @@ mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs)
...
@@ -1211,6 +1211,7 @@ mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs)
mii_do_cmd
(
dev
,
fep
->
phy
->
ack_int
);
mii_do_cmd
(
dev
,
fep
->
phy
->
ack_int
);
mii_do_cmd
(
dev
,
phy_cmd_relink
);
/* restart and display status */
mii_do_cmd
(
dev
,
phy_cmd_relink
);
/* restart and display status */
return
IRQ_HANDLED
;
}
}
#endif
/* CONFIG_USE_MDIO */
#endif
/* CONFIG_USE_MDIO */
...
...
arch/ppc/8260_io/uart.c
View file @
a1f92be4
...
@@ -570,7 +570,7 @@ static _INLINE_ void check_modem_status(struct async_struct *info)
...
@@ -570,7 +570,7 @@ static _INLINE_ void check_modem_status(struct async_struct *info)
/*
/*
* This is the serial driver's interrupt routine for a single port
* This is the serial driver's interrupt routine for a single port
*/
*/
static
void
rs_8xx_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
rs_8xx_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
u_char
events
;
u_char
events
;
int
idx
;
int
idx
;
...
@@ -610,6 +610,7 @@ static void rs_8xx_interrupt(int irq, void * dev_id, struct pt_regs * regs)
...
@@ -610,6 +610,7 @@ static void rs_8xx_interrupt(int irq, void * dev_id, struct pt_regs * regs)
#ifdef SERIAL_DEBUG_INTR
#ifdef SERIAL_DEBUG_INTR
printk
(
"end.
\n
"
);
printk
(
"end.
\n
"
);
#endif
#endif
return
IRQ_HANDLED
;
}
}
...
...
arch/ppc/amiga/amiints.c
View file @
a1f92be4
...
@@ -55,10 +55,6 @@
...
@@ -55,10 +55,6 @@
#include <asm/amigappc.h>
#include <asm/amigappc.h>
#endif
#endif
extern
int
cia_request_irq
(
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
flags
,
const
char
*
devname
,
void
*
dev_id
);
extern
void
cia_free_irq
(
unsigned
int
irq
,
void
*
dev_id
);
extern
void
cia_init_IRQ
(
struct
ciabase
*
base
);
extern
void
cia_init_IRQ
(
struct
ciabase
*
base
);
unsigned
short
ami_intena_vals
[
AMI_STD_IRQS
]
=
{
unsigned
short
ami_intena_vals
[
AMI_STD_IRQS
]
=
{
...
...
arch/ppc/amiga/config.c
View file @
a1f92be4
...
@@ -71,7 +71,7 @@ static char amiga_model_name[13] = "Amiga ";
...
@@ -71,7 +71,7 @@ static char amiga_model_name[13] = "Amiga ";
extern
char
m68k_debug_device
[];
extern
char
m68k_debug_device
[];
static
void
amiga_sched_init
(
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
static
void
amiga_sched_init
(
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
));
/* amiga specific irq functions */
/* amiga specific irq functions */
extern
void
amiga_init_IRQ
(
void
);
extern
void
amiga_init_IRQ
(
void
);
extern
void
(
*
amiga_default_handler
[])
(
int
,
void
*
,
struct
pt_regs
*
);
extern
void
(
*
amiga_default_handler
[])
(
int
,
void
*
,
struct
pt_regs
*
);
...
@@ -478,8 +478,8 @@ void __init config_amiga(void)
...
@@ -478,8 +478,8 @@ void __init config_amiga(void)
static
unsigned
short
jiffy_ticks
;
static
unsigned
short
jiffy_ticks
;
static
void
__init
amiga_sched_init
(
void
(
*
timer_routine
)(
int
,
void
*
,
static
void
__init
amiga_sched_init
(
irqreturn_t
(
*
timer_routine
)(
int
,
void
*
,
struct
pt_regs
*
))
struct
pt_regs
*
))
{
{
static
struct
resource
sched_res
=
{
static
struct
resource
sched_res
=
{
"timer"
,
0x00bfd400
,
0x00bfd5ff
,
"timer"
,
0x00bfd400
,
0x00bfd5ff
,
...
...
arch/ppc/kernel/irq.c
View file @
a1f92be4
...
@@ -210,7 +210,8 @@ void free_irq(unsigned int irq, void* dev_id)
...
@@ -210,7 +210,8 @@ void free_irq(unsigned int irq, void* dev_id)
return
;
return
;
}
}
int
request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
int
request_irq
(
unsigned
int
irq
,
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
irqflags
,
const
char
*
devname
,
void
*
dev_id
)
unsigned
long
irqflags
,
const
char
*
devname
,
void
*
dev_id
)
{
{
struct
irqaction
*
action
;
struct
irqaction
*
action
;
...
@@ -218,16 +219,9 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
...
@@ -218,16 +219,9 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
if
(
irq
>=
NR_IRQS
)
if
(
irq
>=
NR_IRQS
)
return
-
EINVAL
;
return
-
EINVAL
;
if
(
!
handler
)
if
(
!
handler
)
{
{
printk
(
KERN_ERR
"request_irq called with NULL handler!
\n
"
);
/*
dump_stack
();
* free_irq() used to be implemented as a call to
* request_irq() with handler being NULL. Now we have
* a real free_irq() but need to allow the old behavior
* for old code that hasn't caught up yet.
* -- Cort <cort@fsmlabs.com>
*/
free_irq
(
irq
,
dev_id
);
return
0
;
return
0
;
}
}
...
@@ -246,8 +240,7 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
...
@@ -246,8 +240,7 @@ int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *)
action
->
next
=
NULL
;
action
->
next
=
NULL
;
retval
=
setup_irq
(
irq
,
action
);
retval
=
setup_irq
(
irq
,
action
);
if
(
retval
)
if
(
retval
)
{
{
kfree
(
action
);
kfree
(
action
);
return
retval
;
return
retval
;
}
}
...
@@ -732,6 +725,7 @@ void init_irq_proc (void)
...
@@ -732,6 +725,7 @@ void init_irq_proc (void)
}
}
}
}
void
no_action
(
int
irq
,
void
*
dev
,
struct
pt_regs
*
regs
)
irqreturn_t
no_action
(
int
irq
,
void
*
dev
,
struct
pt_regs
*
regs
)
{
{
return
IRQ_NONE
;
}
}
arch/ppc/platforms/pmac_smp.c
View file @
a1f92be4
...
@@ -189,10 +189,11 @@ psurge_smp_message_recv(struct pt_regs *regs)
...
@@ -189,10 +189,11 @@ psurge_smp_message_recv(struct pt_regs *regs)
smp_message_recv
(
msg
,
regs
);
smp_message_recv
(
msg
,
regs
);
}
}
void
__pmac
irqreturn_t
__pmac
psurge_primary_intr
(
int
irq
,
void
*
d
,
struct
pt_regs
*
regs
)
psurge_primary_intr
(
int
irq
,
void
*
d
,
struct
pt_regs
*
regs
)
{
{
psurge_smp_message_recv
(
regs
);
psurge_smp_message_recv
(
regs
);
return
IRQ_HANDLED
;
}
}
static
void
__pmac
static
void
__pmac
...
...
arch/ppc/platforms/prep_setup.c
View file @
a1f92be4
...
@@ -850,7 +850,7 @@ prep_res_calibrate_decr(void)
...
@@ -850,7 +850,7 @@ prep_res_calibrate_decr(void)
static
volatile
int
calibrate_steps
__initdata
=
3
;
static
volatile
int
calibrate_steps
__initdata
=
3
;
static
unsigned
tbstamp
__initdata
=
0
;
static
unsigned
tbstamp
__initdata
=
0
;
static
void
__init
static
irqreturn_t
__init
prep_calibrate_decr_handler
(
int
irq
,
void
*
dev
,
struct
pt_regs
*
regs
)
prep_calibrate_decr_handler
(
int
irq
,
void
*
dev
,
struct
pt_regs
*
regs
)
{
{
unsigned
long
t
,
freq
;
unsigned
long
t
,
freq
;
...
@@ -866,6 +866,7 @@ prep_calibrate_decr_handler(int irq, void *dev, struct pt_regs *regs)
...
@@ -866,6 +866,7 @@ prep_calibrate_decr_handler(int irq, void *dev, struct pt_regs *regs)
tb_ticks_per_jiffy
=
freq
/
HZ
;
tb_ticks_per_jiffy
=
freq
/
HZ
;
tb_to_us
=
mulhwu_scale_factor
(
freq
,
1000000
);
tb_to_us
=
mulhwu_scale_factor
(
freq
,
1000000
);
}
}
return
IRQ_HANDLED
;
}
}
static
void
__init
static
void
__init
...
...
arch/ppc/syslib/open_pic.c
View file @
a1f92be4
...
@@ -821,9 +821,10 @@ static void openpic_end_ipi(unsigned int irq_nr)
...
@@ -821,9 +821,10 @@ static void openpic_end_ipi(unsigned int irq_nr)
{
{
}
}
static
void
openpic_ipi_action
(
int
cpl
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
openpic_ipi_action
(
int
cpl
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
smp_message_recv
(
cpl
-
OPENPIC_VEC_IPI
-
open_pic_irq_offset
,
regs
);
smp_message_recv
(
cpl
-
OPENPIC_VEC_IPI
-
open_pic_irq_offset
,
regs
);
return
IRQ_HANDLED
;
}
}
#endif
/* CONFIG_SMP */
#endif
/* CONFIG_SMP */
...
...
arch/ppc/syslib/ppc8xx_pic.c
View file @
a1f92be4
...
@@ -168,7 +168,8 @@ void mbx_i8259_action(int cpl, void *dev_id, struct pt_regs *regs)
...
@@ -168,7 +168,8 @@ void mbx_i8259_action(int cpl, void *dev_id, struct pt_regs *regs)
* drivers that may mess up the internal interrupt controllers, and also
* drivers that may mess up the internal interrupt controllers, and also
* allow them to run without modification on the MBX.
* allow them to run without modification on the MBX.
*/
*/
int
request_irq
(
unsigned
int
irq
,
void
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
int
request_irq
(
unsigned
int
irq
,
irqreturn_t
(
*
handler
)(
int
,
void
*
,
struct
pt_regs
*
),
unsigned
long
irqflags
,
const
char
*
devname
,
void
*
dev_id
)
unsigned
long
irqflags
,
const
char
*
devname
,
void
*
dev_id
)
{
{
...
...
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