Messages in this thread Patch in this message | | | Date | Sat, 15 May 1999 15:08:35 -0700 (PDT) | From | Jeremy Katz <> | Subject | Re: [PATCH] Changes in Drivers for New Wait Queue Handling |
| |
On Sat, 15 May 1999, Linus Torvalds wrote: > On Fri, 14 May 1999, Jeremy Katz wrote: > > Linus -- if you'd rather I break the patch up into smaller parts, let me > > know and I can do this. > > The only problem I have with this patch is that at least a small portion > of it is in 2.3.2, so I'd ask you to check that part out. Other than that > this looks fine,
I noticed that 2.3.2 was out about 30 minutes after I sent it. Here's an updated version which patches cleanly into 2.3.2.
Jeremy diff -urN linux.devel.vanilla/arch/m68k/atari/stdma.c linux.devel/arch/m68k/atari/stdma.c --- linux.devel.vanilla/arch/m68k/atari/stdma.c Thu Feb 12 19:30:12 1998 +++ linux.devel/arch/m68k/atari/stdma.c Fri May 14 23:30:47 1999 @@ -43,7 +43,7 @@ /* int func to be called */ static void (*stdma_isr)(int, void *, struct pt_regs *) = NULL; static void *stdma_isr_data = NULL; /* data passed to isr */ -static struct wait_queue *stdma_wait = NULL; /* wait queue for ST-DMA */ +static DECLARE_WAIT_QUEUE_HEAD(stdma_wait); /* wait queue for ST-DMA */ diff -urN linux.devel.vanilla/arch/m68k/mac/adb-bus.c linux.devel/arch/m68k/mac/adb-bus.c --- linux.devel.vanilla/arch/m68k/mac/adb-bus.c Mon Oct 5 16:54:39 1998 +++ linux.devel/arch/m68k/mac/adb-bus.c Fri May 14 23:32:00 1999 @@ -2328,12 +2328,12 @@ struct adb_request req; }; -static struct wait_queue *adb_wait; +static DECLARE_WAIT_QUEUE_HEAD(adb_wait); static int adb_wait_reply(struct adbdev_state *state, struct file *file) { int ret = 0; - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait,current); add_wait_queue(&adb_wait, &wait); current->state = TASK_INTERRUPTIBLE; @@ -2552,12 +2552,12 @@ struct adb_request req; }; -static struct wait_queue *adb_wait; +static DECLARE_WAIT_QUEUE_HEAD(adb_wait); static int adb_wait_reply(struct adbdev_state *state, struct file *file) { int ret = 0; - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); #if (ADBDEBUG & ADBDEBUG_DEVICE) printk("ADB request: wait_reply (blocking ... \n"); diff -urN linux.devel.vanilla/arch/mips/kernel/irixsig.c linux.devel/arch/mips/kernel/irixsig.c --- linux.devel.vanilla/arch/mips/kernel/irixsig.c Thu Nov 5 12:58:29 1998 +++ linux.devel/arch/mips/kernel/irixsig.c Fri May 14 23:29:39 1999 @@ -666,7 +666,7 @@ int options, struct rusage *ru) { int flag, retval; - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait,current); struct task_struct *p; lock_kernel(); diff -urN linux.devel.vanilla/arch/ppc/8xx_io/uart.c linux.devel/arch/ppc/8xx_io/uart.c --- linux.devel.vanilla/arch/ppc/8xx_io/uart.c Wed Dec 23 12:44:40 1998 +++ linux.devel/arch/ppc/8xx_io/uart.c Fri May 14 23:30:18 1999 @@ -155,8 +155,8 @@ long pgrp; /* pgrp of opening process */ struct tq_struct tqueue; struct tq_struct tqueue_hangup; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; /* CPM Buffer Descriptor pointers. */ @@ -1733,7 +1733,7 @@ ser_info_t *info) { #ifdef DO_THIS_LATER - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); #endif struct serial_state *state = info->state; int retval; diff -urN linux.devel.vanilla/drivers/acorn/block/fd1772.c linux.devel/drivers/acorn/block/fd1772.c --- linux.devel.vanilla/drivers/acorn/block/fd1772.c Thu Jan 7 11:46:58 1999 +++ linux.devel/drivers/acorn/block/fd1772.c Fri May 14 23:28:39 1999 @@ -267,7 +267,7 @@ /* Synchronization of FDC1772 access. */ static volatile int fdc_busy = 0; -static struct wait_queue *fdc_wait = NULL; +static DECLARE_WAIT_QUEUE_HEAD(fdc_wait); static unsigned int changed_floppies = 0xff, fake_change = 0; diff -urN linux.devel.vanilla/drivers/acorn/block/mfmhd.c linux.devel/drivers/acorn/block/mfmhd.c --- linux.devel.vanilla/drivers/acorn/block/mfmhd.c Mon Aug 24 16:14:09 1998 +++ linux.devel/drivers/acorn/block/mfmhd.c Fri May 14 23:29:03 1999 @@ -195,7 +195,7 @@ static int mfm_sizes[MFM_MAXDRIVES << 6]; static int mfm_blocksizes[MFM_MAXDRIVES << 6]; static int mfm_sectsizes[MFM_MAXDRIVES << 6]; -static struct wait_queue *mfm_wait_open = NULL; +static DECLARE_WAIT_QUEUE_HEAD(mfm_wait_open); /* Stuff from the assembly routines */ extern unsigned int hdc63463_baseaddress; /* Controller base address */ diff -urN linux.devel.vanilla/drivers/ap1000/ap.c linux.devel/drivers/ap1000/ap.c --- linux.devel.vanilla/drivers/ap1000/ap.c Mon Aug 24 16:45:51 1998 +++ linux.devel/drivers/ap1000/ap.c Fri May 14 23:24:24 1999 @@ -36,7 +36,7 @@ #define NUM_APDEVS 8 #define MAX_REQUESTS 1 -static struct wait_queue * busy_wait = NULL; +static DECLARE_WAIT_QUEUE_HEAD(busy_wait); static int ap_blocksizes[NUM_APDEVS]; static int ap_length[NUM_APDEVS]; diff -urN linux.devel.vanilla/drivers/ap1000/ddv.c linux.devel/drivers/ap1000/ddv.c --- linux.devel.vanilla/drivers/ap1000/ddv.c Mon Aug 24 16:02:44 1998 +++ linux.devel/drivers/ap1000/ddv.c Fri May 14 23:25:06 1999 @@ -84,7 +84,7 @@ static char *ddv_opcodep = NULL; static struct request *next_request = NULL; -static struct wait_queue * busy_wait = NULL; +static DECLARE_WAIT_QUEUE_HEAD(busy_wait); static int ddv_blocksizes[NUM_DDVDEVS]; /* in bytes */ int ddv_sect_length[NUM_DDVDEVS]; /* in sectors */ @@ -93,7 +93,7 @@ /* these are used by the ddv_daemon, which services remote disk requests */ static struct remote_request *rem_queue = NULL; static struct remote_request *rem_queue_end; -static struct wait_queue *ddv_daemon_wait = NULL; +static DECLARE_WAIT_QUEUE_HEAD(ddv_daemon_wait); static int opiu_kernel_loaded = 0; diff -urN linux.devel.vanilla/drivers/block/paride/pd.c linux.devel/drivers/block/paride/pd.c --- linux.devel.vanilla/drivers/block/paride/pd.c Mon Sep 28 13:51:16 1998 +++ linux.devel/drivers/block/paride/pd.c Fri May 14 23:12:32 1999 @@ -331,7 +331,7 @@ static int pd_poffs; /* partition offset of current minor */ static char * pd_buf; /* buffer for request in progress */ -static struct wait_queue *pd_wait_open = NULL; +static DECLARE_WAIT_QUEUE_HEAD(pd_wait_open); static char *pd_errs[17] = { "ERR","INDEX","ECC","DRQ","SEEK","WRERR", "READY","BUSY","AMNF","TK0NF","ABRT","MCR", diff -urN linux.devel.vanilla/drivers/cdrom/gscd.c linux.devel/drivers/cdrom/gscd.c --- linux.devel.vanilla/drivers/cdrom/gscd.c Sat Oct 31 13:28:25 1998 +++ linux.devel/drivers/cdrom/gscd.c Fri May 14 23:43:25 1999 @@ -76,7 +76,7 @@ MODULE_PARM(gscd, "h"); /* Kommt spaeter vielleicht noch mal dran ... - * static struct wait_queue *gscd_waitq = NULL; + * static DECLARE_WAIT_QUEUE_HEAD(gscd_waitq); */ static void gscd_transfer (void); diff -urN linux.devel.vanilla/drivers/cdrom/sbpcd.c linux.devel/drivers/cdrom/sbpcd.c --- linux.devel.vanilla/drivers/cdrom/sbpcd.c Fri May 14 23:01:40 1999 +++ linux.devel/drivers/cdrom/sbpcd.c Fri May 14 23:23:08 1999 @@ -585,7 +585,7 @@ /*==========================================================================*/ #if FUTURE -static struct wait_queue *sbp_waitq = NULL; +static DECLARE_WAIT_QUEUE_HEAD(sbp_waitq); #endif FUTURE static int teac=SBP_TEAC_SPEED; diff -urN linux.devel.vanilla/drivers/char/dn_keyb.c linux.devel/drivers/char/dn_keyb.c --- linux.devel.vanilla/drivers/char/dn_keyb.c Mon Apr 26 16:28:07 1999 +++ linux.devel/drivers/char/dn_keyb.c Fri May 14 23:17:24 1999 @@ -47,7 +47,7 @@ static unsigned int kbd_mode=APOLLO_KBD_MODE_KEYB; static short mouse_dx,mouse_dy,mouse_buttons; static int mouse_ready=0,mouse_update_allowed=0,mouse_active=0; -static struct wait_queue *mouse_wait=NULL; +static DECLARE_WAIT_QUEUE_HEAD(mouse_wait); static struct fasync_struct *mouse_fasyncptr=NULL; #if 0 diff -urN linux.devel.vanilla/drivers/char/h8.c linux.devel/drivers/char/h8.c --- linux.devel.vanilla/drivers/char/h8.c Mon Aug 24 16:02:44 1998 +++ linux.devel/drivers/char/h8.c Fri May 14 23:16:35 1999 @@ -160,7 +160,7 @@ */ int cpu_speed_divisor = -1; int h8_event_mask = 0; -struct wait_queue *h8_monitor_wait = NULL; +DECLARE_WAIT_QUEUE_HEAD(h8_monitor_wait); unsigned int h8_command_mask = 0; int h8_uthermal_threshold = DEFAULT_UTHERMAL_THRESHOLD; int h8_uthermal_window = UTH_HYSTERESIS; @@ -170,7 +170,7 @@ u_char h8_current_temp = 0; u_char h8_system_temp = 0; int h8_sync_channel = 0; -struct wait_queue *h8_sync_wait = NULL; +DECLARE_WAIT_QUEUE_HEAD(h8_sync_wait); int h8_init_performed; /* CPU speeds and clock divisor values */ diff -urN linux.devel.vanilla/drivers/char/pcxx.c linux.devel/drivers/char/pcxx.c --- linux.devel.vanilla/drivers/char/pcxx.c Wed Mar 10 19:51:35 1999 +++ linux.devel/drivers/char/pcxx.c Fri May 14 23:13:53 1999 @@ -326,7 +326,7 @@ static int pcxx_waitcarrier(struct tty_struct *tty,struct file *filp,struct channel *info) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); int retval = 0; int do_clocal = 0; diff -urN linux.devel.vanilla/drivers/char/pcxx.h linux.devel/drivers/char/pcxx.h --- linux.devel.vanilla/drivers/char/pcxx.h Sun Apr 13 13:18:20 1997 +++ linux.devel/drivers/char/pcxx.h Fri May 14 23:14:09 1999 @@ -88,8 +88,8 @@ int blocked_open; int close_delay; int event; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; struct tq_struct tqueue; /* ------------ Async control data ------------- */ unchar modemfake; /* Modem values to be forced */ diff -urN linux.devel.vanilla/drivers/char/planb.c linux.devel/drivers/char/planb.c --- linux.devel.vanilla/drivers/char/planb.c Mon May 10 13:17:28 1999 +++ linux.devel/drivers/char/planb.c Fri May 14 23:18:23 1999 @@ -379,7 +379,7 @@ static void __planb_wait(struct planb *pb) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); add_wait_queue(&pb->lockq, &wait); repeat: diff -urN linux.devel.vanilla/drivers/char/planb.h linux.devel/drivers/char/planb.h --- linux.devel.vanilla/drivers/char/planb.h Fri May 7 14:05:30 1999 +++ linux.devel/drivers/char/planb.h Fri May 14 23:19:16 1999 @@ -175,7 +175,7 @@ unsigned int tab_size; int maxlines; int lock; - struct wait_queue *lockq; + wait_queue_head_t lockq; unsigned int irq; /* interrupt number */ volatile unsigned int intr_mask; @@ -190,13 +190,13 @@ unsigned long ch1_cmd_phys; volatile unsigned char *mask; /* Clipmask buffer */ int suspend; - struct wait_queue *suspendq; + wait_queue_head_t suspendq; struct planb_suspend suspended; int cmd_buff_inited; /* cmd buffer inited? */ int grabbing; unsigned int gcount; - struct wait_queue *capq; + wait_queue_head_t capq; int last_fr; int prev_last_fr; unsigned char *fbuffer; diff -urN linux.devel.vanilla/drivers/char/serial167.c linux.devel/drivers/char/serial167.c --- linux.devel.vanilla/drivers/char/serial167.c Thu Nov 5 12:58:43 1998 +++ linux.devel/drivers/char/serial167.c Fri May 14 23:18:06 1999 @@ -2007,7 +2007,7 @@ block_til_ready(struct tty_struct *tty, struct file * filp, struct cyclades_port *info) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); unsigned long flags; int channel; int retval; diff -urN linux.devel.vanilla/drivers/isdn/avmb1/capidev.h linux.devel/drivers/isdn/avmb1/capidev.h --- linux.devel.vanilla/drivers/isdn/avmb1/capidev.h Fri May 30 00:53:05 1997 +++ linux.devel/drivers/isdn/avmb1/capidev.h Fri May 14 23:23:38 1999 @@ -22,7 +22,7 @@ int is_registered; __u16 applid; struct sk_buff_head recv_queue; - struct wait_queue *recv_wait; + wait_queue_head_t recv_wait; __u16 errcode; }; diff -urN linux.devel.vanilla/drivers/isdn/pcbit/pcbit.h linux.devel/drivers/isdn/pcbit/pcbit.h --- linux.devel.vanilla/drivers/isdn/pcbit/pcbit.h Tue Aug 4 13:31:59 1998 +++ linux.devel/drivers/isdn/pcbit/pcbit.h Fri May 14 23:23:58 1999 @@ -68,7 +68,7 @@ struct frame_buf *write_queue; /* Protocol start */ - struct wait_queue *set_running_wq; + wait_queue_head_t set_running_wq; struct timer_list set_running_timer; struct timer_list error_recover_timer; diff -urN linux.devel.vanilla/drivers/macintosh/adb.c linux.devel/drivers/macintosh/adb.c --- linux.devel.vanilla/drivers/macintosh/adb.c Thu Apr 29 15:53:48 1999 +++ linux.devel/drivers/macintosh/adb.c Fri May 14 23:43:54 1999 @@ -375,7 +375,7 @@ spinlock_t lock; atomic_t n_pending; struct adb_request *completed; - struct wait_queue *wait_queue; + wait_queue_head_t wait_queue; int inuse; }; @@ -458,7 +458,7 @@ int ret; struct adbdev_state *state = file->private_data; struct adb_request *req; - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); unsigned long flags; if (count < 2) diff -urN linux.devel.vanilla/drivers/macintosh/mac_keyb.c linux.devel/drivers/macintosh/mac_keyb.c --- linux.devel.vanilla/drivers/macintosh/mac_keyb.c Thu Apr 29 15:53:48 1999 +++ linux.devel/drivers/macintosh/mac_keyb.c Fri May 14 23:26:17 1999 @@ -251,7 +251,7 @@ extern int console_loglevel; extern struct kbd_struct kbd_table[]; -extern struct wait_queue * keypress_wait; +extern struct wait_queue_head_t keypress_wait; extern void handle_scancode(unsigned char, int); diff -urN linux.devel.vanilla/drivers/macintosh/macserial.c linux.devel/drivers/macintosh/macserial.c --- linux.devel.vanilla/drivers/macintosh/macserial.c Thu Apr 29 15:53:48 1999 +++ linux.devel/drivers/macintosh/macserial.c Fri May 14 23:25:56 1999 @@ -1595,7 +1595,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, struct mac_serial *info) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait,current); int retval; int do_clocal = 0; diff -urN linux.devel.vanilla/drivers/macintosh/macserial.h linux.devel/drivers/macintosh/macserial.h --- linux.devel.vanilla/drivers/macintosh/macserial.h Thu Mar 11 00:48:46 1999 +++ linux.devel/drivers/macintosh/macserial.h Fri May 14 23:26:38 1999 @@ -153,8 +153,8 @@ struct tq_struct tqueue_hangup; struct termios normal_termios; struct termios callout_termios; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; }; diff -urN linux.devel.vanilla/drivers/net/cosa.c linux.devel/drivers/net/cosa.c --- linux.devel.vanilla/drivers/net/cosa.c Sun Mar 7 18:47:46 1999 +++ linux.devel/drivers/net/cosa.c Fri May 14 23:12:12 1999 @@ -126,7 +126,8 @@ struct semaphore rsem, wsem; char *rxdata; int rxsize; - struct wait_queue *txwaitq, *rxwaitq; + wait_queue_head_t txwaitq; + wait_queue_head_t rxwaitq; int tx_status, rx_status; /* SPPP/HDLC device parts */ @@ -762,7 +763,7 @@ static ssize_t cosa_read(struct file *file, char *buf, size_t count, loff_t *ppos) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); int flags; struct channel_data *chan = (struct channel_data *)file->private_data; struct cosa_data *cosa = chan->cosa; @@ -833,7 +834,7 @@ const char *buf, size_t count, loff_t *ppos) { struct channel_data *chan = (struct channel_data *)file->private_data; - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); struct cosa_data *cosa = chan->cosa; unsigned int flags; char *kbuf; diff -urN linux.devel.vanilla/drivers/net/z85230.h linux.devel/drivers/net/z85230.h --- linux.devel.vanilla/drivers/net/z85230.h Sat Oct 17 18:33:45 1998 +++ linux.devel/drivers/net/z85230.h Fri May 14 23:09:27 1999 @@ -331,8 +331,8 @@ int line; /* Minor number */ struct termios normal_termios; /* Terminal settings */ struct termios callout_termios; - struct wait_queue *open_wait; /* Tasks waiting to open */ - struct wait_queue *close_wait; /* and for close to end */ + wait_queue_head_t open_wait; /* Tasks waiting to open */ + wait_queue_head_t close_wait; /* and for close to end */ unsigned long event; /* Pending events */ int fdcount; /* # of fd on device */ int blocked_open; /* # of blocked opens */ diff -urN linux.devel.vanilla/drivers/scsi/st.h linux.devel/drivers/scsi/st.h --- linux.devel.vanilla/drivers/scsi/st.h Sun Sep 6 12:48:30 1998 +++ linux.devel/drivers/scsi/st.h Fri May 14 23:19:34 1999 @@ -65,7 +65,7 @@ typedef struct { kdev_t devt; unsigned capacity; - struct wait_queue * waiting; + wait_queue_head_t waiting; Scsi_Device* device; struct semaphore sem; ST_buffer * buffer; diff -urN linux.devel.vanilla/drivers/sgi/char/sgiserial.c linux.devel/drivers/sgi/char/sgiserial.c --- linux.devel.vanilla/drivers/sgi/char/sgiserial.c Thu Nov 5 12:58:44 1998 +++ linux.devel/drivers/sgi/char/sgiserial.c Fri May 14 23:27:24 1999 @@ -33,7 +33,7 @@ #define NUM_SERIAL 1 /* One chip on board. */ #define NUM_CHANNELS (NUM_SERIAL * 2) -extern struct wait_queue * keypress_wait; +extern struct wait_queue_head_t keypress_wait; struct sgi_zslayout *zs_chips[NUM_SERIAL] = { 0, }; struct sgi_zschannel *zs_channels[NUM_CHANNELS] = { 0, 0, }; @@ -1519,7 +1519,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, struct sgi_serial *info) { - struct wait_queue wait = { current, NULL }; + DECLARE_WAITQUEUE(wait, current); int retval; int do_clocal = 0; diff -urN linux.devel.vanilla/drivers/sgi/char/sgiserial.h linux.devel/drivers/sgi/char/sgiserial.h --- linux.devel.vanilla/drivers/sgi/char/sgiserial.h Wed Dec 10 13:31:11 1997 +++ linux.devel/drivers/sgi/char/sgiserial.h Fri May 14 23:27:46 1999 @@ -158,8 +158,8 @@ struct tq_struct tqueue_hangup; struct termios normal_termios; struct termios callout_termios; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; }; diff -urN linux.devel.vanilla/drivers/sgi/char/shmiq.c linux.devel/drivers/sgi/char/shmiq.c --- linux.devel.vanilla/drivers/sgi/char/shmiq.c Mon Aug 24 16:14:10 1998 +++ linux.devel/drivers/sgi/char/shmiq.c Fri May 14 23:28:08 1999 @@ -82,7 +82,7 @@ int events; int mapped; - struct wait_queue *proc_list; + wait_queue_head_t proc_list; struct fasync_struct *fasync; } shmiqs [MAX_SHMI_QUEUES]; diff -urN linux.devel.vanilla/drivers/sgi/char/usema.c linux.devel/drivers/sgi/char/usema.c --- linux.devel.vanilla/drivers/sgi/char/usema.c Mon Aug 24 16:02:44 1998 +++ linux.devel/drivers/sgi/char/usema.c Fri May 14 23:28:22 1999 @@ -39,7 +39,7 @@ struct irix_usema { struct file *filp; - struct wait_queue *proc_list; + wait_queue_head_t proc_list; }; static int diff -urN linux.devel.vanilla/drivers/sound/lowlevel/awe_compat.h linux.devel/drivers/sound/lowlevel/awe_compat.h --- linux.devel.vanilla/drivers/sound/lowlevel/awe_compat.h Sun Mar 7 18:22:06 1999 +++ linux.devel/drivers/sound/lowlevel/awe_compat.h Fri May 14 23:21:17 1999 @@ -245,7 +245,7 @@ #endif /* AWE_MODULE_SUPPORT */ #if LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,1,0) -inline static void interruptible_sleep_on_timeout(struct wait_queue **q, unsigned long timeout) +inline static void interruptible_sleep_on_timeout(wait_queue_head_t *q, unsigned long timeout) { current->timeout = jiffies + timeout; interruptible_sleep_on(q); diff -urN linux.devel.vanilla/drivers/sound/lowlevel/awe_wave.c linux.devel/drivers/sound/lowlevel/awe_wave.c --- linux.devel.vanilla/drivers/sound/lowlevel/awe_wave.c Sun Mar 7 18:22:06 1999 +++ linux.devel/drivers/sound/lowlevel/awe_wave.c Fri May 14 23:20:07 1999 @@ -979,7 +979,7 @@ } #else -static struct wait_queue *awe_sleeper = NULL; +static DECLARE_WAIT_QUEUE_HEAD(awe_sleeper); static void awe_wait(unsigned short delay) { interruptible_sleep_on_timeout(&awe_sleeper, (HZ * (unsigned long)delay + 44099) / 44100); diff -urN linux.devel.vanilla/drivers/sound/msnd.h linux.devel/drivers/sound/msnd.h --- linux.devel.vanilla/drivers/sound/msnd.h Wed Dec 16 15:52:01 1998 +++ linux.devel/drivers/sound/msnd.h Fri May 14 23:21:54 1999 @@ -231,8 +231,9 @@ #define F_EXT_MIDI_INUSE 9 #define F_INT_MIDI_INUSE 10 #define F_DISABLE_WRITE_NDELAY 11 - struct wait_queue *writeblock, *readblock; - struct wait_queue *writeflush; + wait_queue_head_t writeblock; + wait_queue_head_t readblock; + wait_queue_head_t writeflush; #ifndef LINUX20 spinlock_t lock; #endif diff -urN linux.devel.vanilla/include/asm-alpha/semaphore.h linux.devel/include/asm-alpha/semaphore.h --- linux.devel.vanilla/include/asm-alpha/semaphore.h Fri May 7 13:55:26 1999 +++ linux.devel/include/asm-alpha/semaphore.h Fri May 14 23:40:11 1999 @@ -16,7 +16,7 @@ /* Careful, inline assembly knows about the position of these two. */ atomic_t count; atomic_t waking; /* biased by -1 */ - struct wait_queue *wait; + wait_queue_head_t wait; }; #define MUTEX ((struct semaphore) \ diff -urN linux.devel.vanilla/include/asm-arm/semaphore.h linux.devel/include/asm-arm/semaphore.h --- linux.devel.vanilla/include/asm-arm/semaphore.h Fri May 14 23:01:51 1999 +++ linux.devel/include/asm-arm/semaphore.h Fri May 14 23:42:51 1999 @@ -10,7 +10,7 @@ struct semaphore { atomic_t count; int waking; - struct wait_queue * wait; + wait_queue_head_t wait; }; #define MUTEX ((struct semaphore) { ATOMIC_INIT(1), 0, NULL }) diff -urN linux.devel.vanilla/include/asm-m68k/adb_mouse.h linux.devel/include/asm-m68k/adb_mouse.h --- linux.devel.vanilla/include/asm-m68k/adb_mouse.h Wed Sep 2 12:39:18 1998 +++ linux.devel/include/asm-m68k/adb_mouse.h Fri May 14 23:41:43 1999 @@ -16,7 +16,7 @@ short dy; int ready; int active; - struct wait_queue *wait; + wait_queue_head_t wait; struct fasync_struct *fasyncptr; }; diff -urN linux.devel.vanilla/include/asm-m68k/atari_joystick.h linux.devel/include/asm-m68k/atari_joystick.h --- linux.devel.vanilla/include/asm-m68k/atari_joystick.h Sat Mar 30 07:11:24 1996 +++ linux.devel/include/asm-m68k/atari_joystick.h Fri May 14 23:41:16 1999 @@ -16,7 +16,7 @@ char dir; int ready; int active; - struct wait_queue *wait; + wait_queue_head_t wait; }; #endif diff -urN linux.devel.vanilla/include/asm-m68k/mac_mouse.h linux.devel/include/asm-m68k/mac_mouse.h --- linux.devel.vanilla/include/asm-m68k/mac_mouse.h Thu Feb 12 19:30:13 1998 +++ linux.devel/include/asm-m68k/mac_mouse.h Fri May 14 23:41:54 1999 @@ -16,7 +16,7 @@ short dy; int ready; int active; - struct wait_queue *wait; + wait_queue_head_t wait; struct fasync_struct *fasyncptr; }; diff -urN linux.devel.vanilla/include/asm-m68k/semaphore.h linux.devel/include/asm-m68k/semaphore.h --- linux.devel.vanilla/include/asm-m68k/semaphore.h Fri May 14 23:01:51 1999 +++ linux.devel/include/asm-m68k/semaphore.h Fri May 14 23:41:28 1999 @@ -18,7 +18,7 @@ struct semaphore { atomic_t count; atomic_t waking; - struct wait_queue * wait; + wait_queue_head_t wait; }; #define MUTEX ((struct semaphore) { ATOMIC_INIT(1), ATOMIC_INIT(0), NULL }) diff -urN linux.devel.vanilla/include/asm-mips/semaphore.h linux.devel/include/asm-mips/semaphore.h --- linux.devel.vanilla/include/asm-mips/semaphore.h Thu Jan 14 18:53:25 1999 +++ linux.devel/include/asm-mips/semaphore.h Fri May 14 23:39:41 1999 @@ -17,7 +17,7 @@ struct semaphore { atomic_t count; atomic_t waking; - struct wait_queue * wait; + wait_queue_head_t wait; }; #define MUTEX ((struct semaphore) { ATOMIC_INIT(1), ATOMIC_INIT(0), NULL }) diff -urN linux.devel.vanilla/include/asm-ppc/adb_mouse.h linux.devel/include/asm-ppc/adb_mouse.h --- linux.devel.vanilla/include/asm-ppc/adb_mouse.h Mon Jan 12 18:18:13 1998 +++ linux.devel/include/asm-ppc/adb_mouse.h Fri May 14 23:42:39 1999 @@ -16,7 +16,7 @@ short dy; int ready; int active; - struct wait_queue *wait; + wait_queue_head_t wait; struct fasync_struct *fasyncptr; }; diff -urN linux.devel.vanilla/include/asm-ppc/semaphore.h linux.devel/include/asm-ppc/semaphore.h --- linux.devel.vanilla/include/asm-ppc/semaphore.h Thu Mar 11 00:30:32 1999 +++ linux.devel/include/asm-ppc/semaphore.h Fri May 14 23:42:23 1999 @@ -13,7 +13,7 @@ struct semaphore { atomic_t count; atomic_t waking; - struct wait_queue *wait; + wait_queue_head_t wait; }; #define sema_init(sem, val) atomic_set(&((sem)->count), (val)) diff -urN linux.devel.vanilla/include/linux/istallion.h linux.devel/include/linux/istallion.h --- linux.devel.vanilla/include/linux/istallion.h Wed Feb 4 17:52:16 1998 +++ linux.devel/include/linux/istallion.h Fri May 14 23:05:20 1999 @@ -70,9 +70,9 @@ long pgrp; unsigned int rxmarkmsk; struct tty_struct *tty; - struct wait_queue *open_wait; - struct wait_queue *close_wait; - struct wait_queue *raw_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; + wait_queue_head_t raw_wait; struct tq_struct tqhangup; struct termios normaltermios; struct termios callouttermios; diff -urN linux.devel.vanilla/include/linux/lp_m68k.h linux.devel/include/linux/lp_m68k.h --- linux.devel.vanilla/include/linux/lp_m68k.h Fri Nov 20 14:44:06 1998 +++ linux.devel/include/linux/lp_m68k.h Fri May 14 23:06:09 1999 @@ -116,7 +116,7 @@ unsigned int chars; /*busy timeout */ unsigned int time; /*wait time */ unsigned int wait; - struct wait_queue *lp_wait_q; /*strobe wait */ + struct wait_queue_head_t lp_wait_q; /*strobe wait */ void *base; /* hardware drivers internal use*/ enum lp_type type; char lp_buffer[LP_BUFFER_SIZE]; diff -urN linux.devel.vanilla/include/linux/rpcsock.h linux.devel/include/linux/rpcsock.h --- linux.devel.vanilla/include/linux/rpcsock.h Thu Dec 12 09:54:20 1996 +++ linux.devel/include/linux/rpcsock.h Fri May 14 23:03:40 1999 @@ -77,7 +77,7 @@ struct rpc_wait * w_next; struct rpc_ioreq * w_req; int w_result; - struct wait_queue * w_wait; + wait_queue_head_t w_wait; rpc_callback_fn_t w_handler; void * w_cdata; char w_queued; @@ -94,8 +94,8 @@ unsigned long cwnd; struct rpc_wait * pending; struct rpc_wait * free; - struct wait_queue * backlog; - struct wait_queue * shutwait; + wait_queue_head_t backlog; + wait_queue_head_t shutwait; int shutdown; }; diff -urN linux.devel.vanilla/include/linux/serial167.h linux.devel/include/linux/serial167.h --- linux.devel.vanilla/include/linux/serial167.h Mon Oct 5 17:12:12 1998 +++ linux.devel/include/linux/serial167.h Fri May 14 23:07:03 1999 @@ -54,8 +54,8 @@ struct tq_struct tqueue; struct termios normal_termios; struct termios callout_termios; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; struct cyclades_monitor mon; }; diff -urN linux.devel.vanilla/include/linux/stallion.h linux.devel/include/linux/stallion.h --- linux.devel.vanilla/include/linux/stallion.h Wed Feb 4 17:52:16 1998 +++ linux.devel/include/linux/stallion.h Fri May 14 23:05:48 1999 @@ -95,8 +95,8 @@ unsigned long hwid; void *uartp; struct tty_struct *tty; - struct wait_queue *open_wait; - struct wait_queue *close_wait; + wait_queue_head_t open_wait; + wait_queue_head_t close_wait; struct termios normaltermios; struct termios callouttermios; struct tq_struct tqueue; diff -urN linux.devel.vanilla/include/linux/umsdos_fs_i.h linux.devel/include/linux/umsdos_fs_i.h --- linux.devel.vanilla/include/linux/umsdos_fs_i.h Mon Dec 28 01:18:28 1998 +++ linux.devel/include/linux/umsdos_fs_i.h Fri May 14 23:35:05 1999 @@ -47,7 +47,7 @@ */ struct dir_locking_info { - struct wait_queue *p; + wait_queue_head_t p; short int looking; /* How many process doing a lookup */ short int creating; /* Is there any creation going on here * Only one at a time, although one | |