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
a37352e1
Commit
a37352e1
authored
Apr 20, 2003
by
Andrew Morton
Committed by
Linus Torvalds
Apr 20, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] irqs: IRDA
Update the IRDA drivers to the new IRQ API.
parent
ad9745b4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
9 deletions
+15
-9
drivers/net/irda/donauboe.c
drivers/net/irda/donauboe.c
+4
-3
drivers/net/irda/irport.c
drivers/net/irda/irport.c
+6
-2
drivers/net/irda/smc-ircc.c
drivers/net/irda/smc-ircc.c
+5
-4
No files found.
drivers/net/irda/donauboe.c
View file @
a37352e1
...
@@ -1193,7 +1193,7 @@ dumpbufs(skb->data,skb->len,'>');
...
@@ -1193,7 +1193,7 @@ dumpbufs(skb->data,skb->len,'>');
}
}
/*interrupt handler */
/*interrupt handler */
STATIC
void
STATIC
irqreturn_t
toshoboe_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
toshoboe_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
toshoboe_cb
*
self
=
(
struct
toshoboe_cb
*
)
dev_id
;
struct
toshoboe_cb
*
self
=
(
struct
toshoboe_cb
*
)
dev_id
;
...
@@ -1201,13 +1201,13 @@ toshoboe_interrupt (int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1201,13 +1201,13 @@ toshoboe_interrupt (int irq, void *dev_id, struct pt_regs *regs)
struct
sk_buff
*
skb
=
NULL
;
struct
sk_buff
*
skb
=
NULL
;
if
(
self
==
NULL
&&
toshoboe_invalid_dev
(
irq
))
if
(
self
==
NULL
&&
toshoboe_invalid_dev
(
irq
))
return
;
return
IRQ_NONE
;
irqstat
=
INB
(
OBOE_ISR
);
irqstat
=
INB
(
OBOE_ISR
);
/* was it us */
/* was it us */
if
(
!
(
irqstat
&
OBOE_INT_MASK
))
if
(
!
(
irqstat
&
OBOE_INT_MASK
))
return
;
return
IRQ_NONE
;
/* Ack all the interrupts */
/* Ack all the interrupts */
OUTB
(
irqstat
,
OBOE_ISR
);
OUTB
(
irqstat
,
OBOE_ISR
);
...
@@ -1381,6 +1381,7 @@ dumpbufs(self->rx_bufs[self->rxs],len,'<');
...
@@ -1381,6 +1381,7 @@ dumpbufs(self->rx_bufs[self->rxs],len,'<');
IRDA_DEBUG
(
1
,
"%s.sip:%x(%x)%x
\n
"
,
__FUNCTION__
IRDA_DEBUG
(
1
,
"%s.sip:%x(%x)%x
\n
"
,
__FUNCTION__
,
self
->
int_sip
,
irqstat
,
self
->
txpending
);
,
self
->
int_sip
,
irqstat
,
self
->
txpending
);
}
}
return
IRQ_HANDLED
;
}
}
STATIC
int
STATIC
int
...
...
drivers/net/irda/irport.c
View file @
a37352e1
...
@@ -720,17 +720,18 @@ static void irport_receive(struct irport_cb *self)
...
@@ -720,17 +720,18 @@ static void irport_receive(struct irport_cb *self)
*
*
* Interrupt handler
* Interrupt handler
*/
*/
void
irport_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
irqreturn_t
irport_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
irport_cb
*
self
;
struct
irport_cb
*
self
;
int
boguscount
=
0
;
int
boguscount
=
0
;
int
iobase
;
int
iobase
;
int
iir
,
lsr
;
int
iir
,
lsr
;
int
handled
=
0
;
if
(
!
dev
)
{
if
(
!
dev
)
{
WARNING
(
"%s() irq %d for unknown device.
\n
"
,
__FUNCTION__
,
irq
);
WARNING
(
"%s() irq %d for unknown device.
\n
"
,
__FUNCTION__
,
irq
);
return
;
return
IRQ_NONE
;
}
}
self
=
(
struct
irport_cb
*
)
dev
->
priv
;
self
=
(
struct
irport_cb
*
)
dev
->
priv
;
...
@@ -740,6 +741,8 @@ void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -740,6 +741,8 @@ void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs)
iir
=
inb
(
iobase
+
UART_IIR
)
&
UART_IIR_ID
;
iir
=
inb
(
iobase
+
UART_IIR
)
&
UART_IIR_ID
;
while
(
iir
)
{
while
(
iir
)
{
handled
=
1
;
/* Clear interrupt */
/* Clear interrupt */
lsr
=
inb
(
iobase
+
UART_LSR
);
lsr
=
inb
(
iobase
+
UART_LSR
);
...
@@ -771,6 +774,7 @@ void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -771,6 +774,7 @@ void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs)
iir
=
inb
(
iobase
+
UART_IIR
)
&
UART_IIR_ID
;
iir
=
inb
(
iobase
+
UART_IIR
)
&
UART_IIR_ID
;
}
}
spin_unlock
(
&
self
->
lock
);
spin_unlock
(
&
self
->
lock
);
return
IRQ_RETVAL
(
handled
);
}
}
static
int
irport_net_init
(
struct
net_device
*
dev
)
static
int
irport_net_init
(
struct
net_device
*
dev
)
...
...
drivers/net/irda/smc-ircc.c
View file @
a37352e1
...
@@ -86,7 +86,7 @@ static void ircc_dma_receive_complete(struct ircc_cb *self, int iobase);
...
@@ -86,7 +86,7 @@ static void ircc_dma_receive_complete(struct ircc_cb *self, int iobase);
static
int
ircc_hard_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
ircc_hard_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
void
ircc_dma_xmit
(
struct
ircc_cb
*
self
,
int
iobase
,
int
bofs
);
static
void
ircc_dma_xmit
(
struct
ircc_cb
*
self
,
int
iobase
,
int
bofs
);
static
void
ircc_change_speed
(
void
*
priv
,
u32
speed
);
static
void
ircc_change_speed
(
void
*
priv
,
u32
speed
);
static
void
ircc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
static
irqreturn_t
ircc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
);
static
int
ircc_net_open
(
struct
net_device
*
dev
);
static
int
ircc_net_open
(
struct
net_device
*
dev
);
static
int
ircc_net_close
(
struct
net_device
*
dev
);
static
int
ircc_net_close
(
struct
net_device
*
dev
);
static
int
ircc_pmproc
(
struct
pm_dev
*
dev
,
pm_request_t
rqst
,
void
*
data
);
static
int
ircc_pmproc
(
struct
pm_dev
*
dev
,
pm_request_t
rqst
,
void
*
data
);
...
@@ -979,7 +979,7 @@ static void ircc_dma_receive_complete(struct ircc_cb *self, int iobase)
...
@@ -979,7 +979,7 @@ static void ircc_dma_receive_complete(struct ircc_cb *self, int iobase)
* An interrupt from the chip has arrived. Time to do some work
* An interrupt from the chip has arrived. Time to do some work
*
*
*/
*/
static
void
ircc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
ircc_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
net_device
*
dev
=
(
struct
net_device
*
)
dev_id
;
struct
irport_cb
*
irport
;
struct
irport_cb
*
irport
;
...
@@ -989,7 +989,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -989,7 +989,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if
(
dev
==
NULL
)
{
if
(
dev
==
NULL
)
{
printk
(
KERN_WARNING
"%s: irq %d for unknown device.
\n
"
,
printk
(
KERN_WARNING
"%s: irq %d for unknown device.
\n
"
,
driver_name
,
irq
);
driver_name
,
irq
);
return
;
return
IRQ_NONE
;
}
}
irport
=
(
struct
irport_cb
*
)
dev
->
priv
;
irport
=
(
struct
irport_cb
*
)
dev
->
priv
;
ASSERT
(
irport
!=
NULL
,
return
;);
ASSERT
(
irport
!=
NULL
,
return
;);
...
@@ -1000,7 +1000,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1000,7 +1000,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if
(
self
->
io
->
speed
<
576000
)
{
if
(
self
->
io
->
speed
<
576000
)
{
/* Will spinlock itself - Jean II */
/* Will spinlock itself - Jean II */
irport_interrupt
(
irq
,
dev_id
,
regs
);
irport_interrupt
(
irq
,
dev_id
,
regs
);
return
;
return
IRQ_HANDLED
;
}
}
iobase
=
self
->
io
->
fir_base
;
iobase
=
self
->
io
->
fir_base
;
...
@@ -1028,6 +1028,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
...
@@ -1028,6 +1028,7 @@ static void ircc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
outb
(
IRCC_IER_ACTIVE_FRAME
|
IRCC_IER_EOM
,
iobase
+
IRCC_IER
);
outb
(
IRCC_IER_ACTIVE_FRAME
|
IRCC_IER_EOM
,
iobase
+
IRCC_IER
);
spin_unlock
(
&
self
->
irport
->
lock
);
spin_unlock
(
&
self
->
irport
->
lock
);
return
IRQ_HANDLED
;
}
}
#if 0 /* unused */
#if 0 /* unused */
...
...
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