Commit 5cc6ded9 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds

[PATCH] move ip2 to workqueues

parent 73d5c81e
...@@ -84,8 +84,8 @@ static void iiSendPendingMail(i2eBordStrPtr); ...@@ -84,8 +84,8 @@ static void iiSendPendingMail(i2eBordStrPtr);
static void serviceOutgoingFifo(i2eBordStrPtr); static void serviceOutgoingFifo(i2eBordStrPtr);
// Functions defined in ip2.c as part of interrupt handling // Functions defined in ip2.c as part of interrupt handling
static void do_input(i2ChanStrPtr); static void do_input(void *);
static void do_status(i2ChanStrPtr); static void do_status(void *);
//*************** //***************
//* Debug Data * //* Debug Data *
...@@ -333,10 +333,8 @@ i2InitChannels ( i2eBordStrPtr pB, int nChannels, i2ChanStrPtr pCh) ...@@ -333,10 +333,8 @@ i2InitChannels ( i2eBordStrPtr pB, int nChannels, i2ChanStrPtr pCh)
pCh->ClosingWaitTime = 30*HZ; pCh->ClosingWaitTime = 30*HZ;
// Initialize task queue objects // Initialize task queue objects
pCh->tqueue_input.routine = (void(*)(void*)) do_input; INIT_WORK(&pCh->tqueue_input, do_input, pCh);
pCh->tqueue_input.data = pCh; INIT_WORK(&pCh->tqueue_status, do_status, pCh);
pCh->tqueue_status.routine = (void(*)(void*)) do_status;
pCh->tqueue_status.data = pCh;
#ifdef IP2DEBUG_TRACE #ifdef IP2DEBUG_TRACE
pCh->trace = ip2trace; pCh->trace = ip2trace;
......
...@@ -281,8 +281,8 @@ static void ip2_interrupt_bh(i2eBordStrPtr pB); ...@@ -281,8 +281,8 @@ static void ip2_interrupt_bh(i2eBordStrPtr pB);
static void ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs); static void ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs);
static void ip2_poll(unsigned long arg); static void ip2_poll(unsigned long arg);
static inline void service_all_boards(void); static inline void service_all_boards(void);
static inline void do_input(i2ChanStrPtr pCh); static void do_input(void *p);
static inline void do_status(i2ChanStrPtr pCh); static void do_status(void *p);
static void ip2_wait_until_sent(PTTY,int); static void ip2_wait_until_sent(PTTY,int);
...@@ -1422,9 +1422,9 @@ ip2_poll(unsigned long arg) ...@@ -1422,9 +1422,9 @@ ip2_poll(unsigned long arg)
ip2trace (ITRC_NO_PORT, ITRC_INTR, ITRC_RETURN, 0 ); ip2trace (ITRC_NO_PORT, ITRC_INTR, ITRC_RETURN, 0 );
} }
static inline void static void do_input(void *p)
do_input( i2ChanStrPtr pCh )
{ {
i2ChanStrPtr pCh = p;
unsigned long flags; unsigned long flags;
ip2trace(CHANN, ITRC_INPUT, 21, 0 ); ip2trace(CHANN, ITRC_INPUT, 21, 0 );
...@@ -1445,8 +1445,7 @@ do_input( i2ChanStrPtr pCh ) ...@@ -1445,8 +1445,7 @@ do_input( i2ChanStrPtr pCh )
} }
// code duplicated from n_tty (ldisc) // code duplicated from n_tty (ldisc)
static inline void static inline void isig(int sig, struct tty_struct *tty, int flush)
isig(int sig, struct tty_struct *tty, int flush)
{ {
if (tty->pgrp > 0) if (tty->pgrp > 0)
kill_pg(tty->pgrp, sig, 1); kill_pg(tty->pgrp, sig, 1);
...@@ -1457,9 +1456,9 @@ isig(int sig, struct tty_struct *tty, int flush) ...@@ -1457,9 +1456,9 @@ isig(int sig, struct tty_struct *tty, int flush)
} }
} }
static inline void static void do_status(void *p)
do_status( i2ChanStrPtr pCh )
{ {
i2ChanStrPtr pCh = p;
int status; int status;
status = i2GetStatus( pCh, (I2_BRK|I2_PAR|I2_FRA|I2_OVR) ); status = i2GetStatus( pCh, (I2_BRK|I2_PAR|I2_FRA|I2_OVR) );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment