diff options
| author | Alexander Viro <viro@math.psu.edu> | 2002-10-17 19:36:36 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-10-17 19:36:36 -0700 |
| commit | 14149d7ecf8298bc6e69cd4fd5d620e0b78a8355 (patch) | |
| tree | b7d29499b82cb991b335a730786c65abd144bee6 /drivers/cdrom | |
| parent | 06869782e2e844c3d252a6d1d07ca61ce9e9ad36 (diff) | |
[PATCH] mcd.c
* switched to private queue
* set ->queue
Diffstat (limited to 'drivers/cdrom')
| -rw-r--r-- | drivers/cdrom/mcd.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/cdrom/mcd.c b/drivers/cdrom/mcd.c index 1494c25d742b..a12e6c63d2a4 100644 --- a/drivers/cdrom/mcd.c +++ b/drivers/cdrom/mcd.c @@ -102,7 +102,7 @@ #include <asm/uaccess.h> #define MAJOR_NR MITSUMI_CDROM_MAJOR -#define DEVICE_NR(device) (minor(device)) +#define QUEUE (&mcd_queue) #include <linux/blk.h> #define mcd_port mcd /* for compatible parameter passing with "insmod" */ @@ -116,6 +116,7 @@ static int mcd1xhold; /* Is the drive connected properly and responding?? */ static int mcdPresent; +static struct request_queue mcd_queue; #define QUICK_LOOP_DELAY udelay(45) /* use udelay */ #define QUICK_LOOP_COUNT 20 @@ -123,7 +124,6 @@ static int mcdPresent; static int current_valid(void) { return !blk_queue_empty(QUEUE) && - major(CURRENT->rq_dev) == MAJOR_NR && CURRENT->cmd == READ && CURRENT->sector != -1; } @@ -188,9 +188,9 @@ static void mcd_release(struct cdrom_device_info *cdi); static int mcd_media_changed(struct cdrom_device_info *cdi, int disc_nr); static int mcd_tray_move(struct cdrom_device_info *cdi, int position); static spinlock_t mcd_spinlock = SPIN_LOCK_UNLOCKED; -int mcd_audio_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, +static int mcd_audio_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, void *arg); -int mcd_drive_status(struct cdrom_device_info *cdi, int slot_nr); +static int mcd_drive_status(struct cdrom_device_info *cdi, int slot_nr); static struct timer_list mcd_timer; @@ -1076,8 +1076,7 @@ int __init mcd_init(void) goto out_region; } - blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), do_mcd_request, - &mcd_spinlock); + blk_init_queue(&mcd_queue, do_mcd_request, &mcd_spinlock); /* check for card */ @@ -1154,6 +1153,7 @@ int __init mcd_init(void) printk(KERN_ERR "mcd: Unable to register Mitsumi CD-ROM.\n"); goto out_cdrom; } + disk->queue = &mcd_queue; add_disk(disk); printk(msg); return 0; @@ -1164,7 +1164,7 @@ out_probe: release_region(mcd_port, 4); out_region: unregister_blkdev(MAJOR_NR, "mcd"); - blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR)); + blk_cleanup_queue(&mcd_queue); put_disk(disk); return -EIO; } @@ -1543,7 +1543,7 @@ void __exit mcd_exit(void) printk(KERN_WARNING "Can't unregister major mcd\n"); return; } - blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR)); + blk_cleanup_queue(&mcd_queue); del_timer_sync(&mcd_timer); } |
