fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / cdrom / sonycd535.c
index f4be7bf..f77ada9 100644 (file)
@@ -322,7 +322,7 @@ disable_interrupts(void)
 }
 
 static irqreturn_t
-cdu535_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+cdu535_interrupt(int irq, void *dev_id)
 {
        disable_interrupts();
        if (waitqueue_active(&cdu535_irq_wait)) {
@@ -1478,8 +1478,7 @@ static int __init sony535_init(void)
        /* look for the CD-ROM, follows the procedure in the DOS driver */
        inb(select_unit_reg);
        /* wait for 40 18 Hz ticks (reverse-engineered from DOS driver) */
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule_timeout((HZ+17)*40/18);
+       schedule_timeout_interruptible((HZ+17)*40/18);
        inb(result_reg);
 
        outb(0, read_status_reg);       /* does a reset? */
@@ -1528,7 +1527,7 @@ static int __init sony535_init(void)
        }
        if (sony535_irq_used > 0) {
            if (request_irq(sony535_irq_used, cdu535_interrupt,
-                                               SA_INTERRUPT, CDU535_HANDLE, NULL)) {
+                                               IRQF_DISABLED, CDU535_HANDLE, NULL)) {
                        printk("Unable to grab IRQ%d for the " CDU535_MESSAGE_NAME
                                        " driver; polling instead.\n", sony535_irq_used);
                        sony535_irq_used = 0;
@@ -1590,7 +1589,6 @@ static int __init sony535_init(void)
        cdu_disk->first_minor = 0;
        cdu_disk->fops = &cdu_fops;
        sprintf(cdu_disk->disk_name, "cdu");
-       sprintf(cdu_disk->devfs_name, "cdu535");
 
        if (!request_region(sony535_cd_base_io, 4, CDU535_HANDLE)) {
                printk(KERN_WARNING"sonycd535: Unable to request region 0x%x\n",
@@ -1605,8 +1603,7 @@ out7:
        put_disk(cdu_disk);
 out6:
        for (i = 0; i < sony_buffer_sectors; i++)
-               if (sony_buffer[i]) 
-                       kfree(sony_buffer[i]);
+               kfree(sony_buffer[i]);
 out5:
        kfree(sony_buffer);
 out4: