floppy: replace NO_GEOM macro with a function
authorPekka Enberg <penberg@kernel.org>
Mon, 8 Nov 2010 13:44:34 +0000 (14:44 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Mon, 8 Nov 2010 13:44:34 +0000 (14:44 +0100)
This patch replaces the NO_GEOM macro with a proper static inline function and
converts an open-coded caller in check_floppy_change() to use it.

Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
drivers/block/floppy.c

index cf04c1b..709e69c 100644 (file)
@@ -596,6 +596,11 @@ static unsigned char fsector_t;    /* sector in track */
 static unsigned char in_sector_offset; /* offset within physical sector,
                                         * expressed in units of 512 bytes */
 
+static inline bool drive_no_geom(int drive)
+{
+       return !current_type[drive] && !ITYPE(UDRS->fd_device);
+}
+
 #ifndef fd_eject
 static inline int fd_eject(int drive)
 {
@@ -3757,7 +3762,7 @@ static int check_floppy_change(struct gendisk *disk)
        if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags) ||
            test_bit(FD_VERIFY_BIT, &UDRS->flags) ||
            test_bit(drive, &fake_change) ||
-           (!ITYPE(UDRS->fd_device) && !current_type[drive]))
+           drive_no_geom(drive))
                return 1;
        return 0;
 }
@@ -3823,13 +3828,13 @@ static int __floppy_read_block_0(struct block_device *bdev)
 static int floppy_revalidate(struct gendisk *disk)
 {
        int drive = (long)disk->private_data;
-#define NO_GEOM (!current_type[drive] && !ITYPE(UDRS->fd_device))
        int cf;
        int res = 0;
 
        if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags) ||
            test_bit(FD_VERIFY_BIT, &UDRS->flags) ||
-           test_bit(drive, &fake_change) || NO_GEOM) {
+           test_bit(drive, &fake_change) ||
+           drive_no_geom(drive)) {
                if (WARN(atomic_read(&usage_count) == 0,
                         "VFS: revalidate called on non-open device.\n"))
                        return -EFAULT;
@@ -3837,7 +3842,7 @@ static int floppy_revalidate(struct gendisk *disk)
                lock_fdc(drive, false);
                cf = (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags) ||
                      test_bit(FD_VERIFY_BIT, &UDRS->flags));
-               if (!(cf || test_bit(drive, &fake_change) || NO_GEOM)) {
+               if (!(cf || test_bit(drive, &fake_change) || drive_no_geom(drive))) {
                        process_fd_request();   /*already done by another thread */
                        return 0;
                }
@@ -3849,7 +3854,7 @@ static int floppy_revalidate(struct gendisk *disk)
                clear_bit(FD_DISK_CHANGED_BIT, &UDRS->flags);
                if (cf)
                        UDRS->generation++;
-               if (NO_GEOM) {
+               if (drive_no_geom(drive)) {
                        /* auto-sensing */
                        res = __floppy_read_block_0(opened_bdev[drive]);
                } else {