]> Pileus Git - ~andy/linux/blobdiff - drivers/block/amiflop.c
Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[~andy/linux] / drivers / block / amiflop.c
index 7888501ad9ee1af078b47695a00c8074011797c3..456c0cc90dcfd58d87de3d34ace5dda354795112 100644 (file)
@@ -1658,12 +1658,12 @@ static int floppy_release(struct gendisk *disk, fmode_t mode)
 }
 
 /*
- * floppy-change is never called from an interrupt, so we can relax a bit
+ * check_events is never called from an interrupt, so we can relax a bit
  * here, sleep etc. Note that floppy-on tries to set current_DOR to point
  * to the desired drive, but it will probably not survive the sleep if
  * several floppies are used at the same time: thus the loop.
  */
-static int amiga_floppy_change(struct gendisk *disk)
+static unsigned amiga_check_events(struct gendisk *disk, unsigned int clearing)
 {
        struct amiga_floppy_struct *p = disk->private_data;
        int drive = p - unit;
@@ -1686,7 +1686,7 @@ static int amiga_floppy_change(struct gendisk *disk)
                p->dirty = 0;
                writepending = 0; /* if this was true before, too bad! */
                writefromint = 0;
-               return 1;
+               return DISK_EVENT_MEDIA_CHANGE;
        }
        return 0;
 }
@@ -1697,7 +1697,7 @@ static const struct block_device_operations floppy_fops = {
        .release        = floppy_release,
        .ioctl          = fd_ioctl,
        .getgeo         = fd_getgeo,
-       .media_changed  = amiga_floppy_change,
+       .check_events   = amiga_check_events,
 };
 
 static int __init fd_probe_drives(void)
@@ -1736,6 +1736,7 @@ static int __init fd_probe_drives(void)
                disk->major = FLOPPY_MAJOR;
                disk->first_minor = drive;
                disk->fops = &floppy_fops;
+               disk->events = DISK_EVENT_MEDIA_CHANGE;
                sprintf(disk->disk_name, "fd%d", drive);
                disk->private_data = &unit[drive];
                set_capacity(disk, 880*2);
@@ -1768,8 +1769,8 @@ static int __init amiga_floppy_probe(struct platform_device *pdev)
                return -EBUSY;
 
        ret = -ENOMEM;
-       if ((raw_buf = (char *)amiga_chip_alloc (RAW_BUF_SIZE, "Floppy")) ==
-           NULL) {
+       raw_buf = amiga_chip_alloc(RAW_BUF_SIZE, "Floppy");
+       if (!raw_buf) {
                printk("fd: cannot get chip mem buffer\n");
                goto out_blkdev;
        }