lkml.org 
[lkml]   [2010]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 11/24] drivers/block/floppy.c: Remove IN/OUT macros, indent switch/case
    Date
    Remove ugly IN/OUT macros, use direct case and code
    Add missing semicolon after ECALL

    Signed-off-by: Joe Perches <joe@perches.com>
    ---
    drivers/block/floppy.c | 218 +++++++++++++++++++++++------------------------
    1 files changed, 107 insertions(+), 111 deletions(-)

    diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
    index 0813c10..d93fc9d 100644
    --- a/drivers/block/floppy.c
    +++ b/drivers/block/floppy.c
    @@ -3466,8 +3466,6 @@ static int fd_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd,
    unsigned long param)
    {
    #define FD_IOCTL_ALLOWED (mode & (FMODE_WRITE|FMODE_WRITE_IOCTL))
    -#define OUT(c,x) case c: outparam = (const char *) (x); break
    -#define IN(c,x,tag) case c: *(x) = inparam. tag ; return 0

    int drive = (long)bdev->bd_disk->private_data;
    int type = ITYPE(UDRS->fd_device);
    @@ -3509,122 +3507,120 @@ static int fd_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd,
    /* copyin */
    memset(&inparam, 0, sizeof(inparam));
    if (_IOC_DIR(cmd) & _IOC_WRITE)
    - ECALL(fd_copyin((void __user *)param, &inparam, size))
    + ECALL(fd_copyin((void __user *)param, &inparam, size));

    - switch (cmd) {
    - case FDEJECT:
    - if (UDRS->fd_ref != 1)
    - /* somebody else has this drive open */
    - return -EBUSY;
    - LOCK_FDC(drive, 1);
    -
    - /* do the actual eject. Fails on
    - * non-Sparc architectures */
    - ret = fd_eject(UNIT(drive));
    -
    - USETF(FD_DISK_CHANGED);
    - USETF(FD_VERIFY);
    - process_fd_request();
    - return ret;
    - case FDCLRPRM:
    - LOCK_FDC(drive, 1);
    - current_type[drive] = NULL;
    - floppy_sizes[drive] = MAX_DISK_SIZE << 1;
    - UDRS->keep_data = 0;
    - return invalidate_drive(bdev);
    - case FDSETPRM:
    - case FDDEFPRM:
    - return set_geometry(cmd, &inparam.g,
    - drive, type, bdev);
    - case FDGETPRM:
    - ECALL(get_floppy_geometry(drive, type,
    - (struct floppy_struct **)
    - &outparam));
    - break;
    -
    - case FDMSGON:
    - UDP->flags |= FTD_MSG;
    - return 0;
    - case FDMSGOFF:
    - UDP->flags &= ~FTD_MSG;
    - return 0;
    -
    - case FDFMTBEG:
    - LOCK_FDC(drive, 1);
    - CALL(poll_drive(1, FD_RAW_NEED_DISK));
    - ret = UDRS->flags;
    - process_fd_request();
    - if (ret & FD_VERIFY)
    - return -ENODEV;
    - if (!(ret & FD_DISK_WRITABLE))
    - return -EROFS;
    - return 0;
    - case FDFMTTRK:
    - if (UDRS->fd_ref != 1)
    - return -EBUSY;
    - return do_format(drive, &inparam.f);
    - case FDFMTEND:
    - case FDFLUSH:
    - LOCK_FDC(drive, 1);
    - return invalidate_drive(bdev);
    -
    - case FDSETEMSGTRESH:
    - UDP->max_errors.reporting =
    - (unsigned short)(param & 0x0f);
    - return 0;
    - OUT(FDGETMAXERRS, &UDP->max_errors);
    - IN(FDSETMAXERRS, &UDP->max_errors, max_errors);
    -
    - case FDGETDRVTYP:
    - outparam = drive_name(type, drive);
    - SUPBOUND(size, strlen(outparam) + 1);
    - break;
    -
    - IN(FDSETDRVPRM, UDP, dp);
    - OUT(FDGETDRVPRM, UDP);
    -
    - case FDPOLLDRVSTAT:
    - LOCK_FDC(drive, 1);
    - CALL(poll_drive(1, FD_RAW_NEED_DISK));
    - process_fd_request();
    - /* fall through */
    - OUT(FDGETDRVSTAT, UDRS);
    -
    - case FDRESET:
    - return user_reset_fdc(drive, (int)param, 1);
    -
    - OUT(FDGETFDCSTAT, UFDCS);
    -
    - case FDWERRORCLR:
    - memset(UDRWE, 0, sizeof(*UDRWE));
    - return 0;
    - OUT(FDWERRORGET, UDRWE);
    -
    - case FDRAWCMD:
    - if (type)
    - return -EINVAL;
    - LOCK_FDC(drive, 1);
    - set_floppy(drive);
    - CALL(i = raw_cmd_ioctl(cmd, (void __user *)param));
    - process_fd_request();
    - return i;
    + switch (cmd) {
    + case FDEJECT:
    + if (UDRS->fd_ref != 1)
    + /* somebody else has this drive open */
    + return -EBUSY;
    + LOCK_FDC(drive, 1);

    - case FDTWADDLE:
    - LOCK_FDC(drive, 1);
    - twaddle();
    - process_fd_request();
    - return 0;
    + /* do the actual eject. Fails on
    + * non-Sparc architectures */
    + ret = fd_eject(UNIT(drive));

    - default:
    + USETF(FD_DISK_CHANGED);
    + USETF(FD_VERIFY);
    + process_fd_request();
    + return ret;
    + case FDCLRPRM:
    + LOCK_FDC(drive, 1);
    + current_type[drive] = NULL;
    + floppy_sizes[drive] = MAX_DISK_SIZE << 1;
    + UDRS->keep_data = 0;
    + return invalidate_drive(bdev);
    + case FDSETPRM:
    + case FDDEFPRM:
    + return set_geometry(cmd, &inparam.g, drive, type, bdev);
    + case FDGETPRM:
    + ECALL(get_floppy_geometry(drive, type,
    + (struct floppy_struct **)
    + &outparam));
    + break;
    + case FDMSGON:
    + UDP->flags |= FTD_MSG;
    + return 0;
    + case FDMSGOFF:
    + UDP->flags &= ~FTD_MSG;
    + return 0;
    + case FDFMTBEG:
    + LOCK_FDC(drive, 1);
    + CALL(poll_drive(1, FD_RAW_NEED_DISK));
    + ret = UDRS->flags;
    + process_fd_request();
    + if (ret & FD_VERIFY)
    + return -ENODEV;
    + if (!(ret & FD_DISK_WRITABLE))
    + return -EROFS;
    + return 0;
    + case FDFMTTRK:
    + if (UDRS->fd_ref != 1)
    + return -EBUSY;
    + return do_format(drive, &inparam.f);
    + case FDFMTEND:
    + case FDFLUSH:
    + LOCK_FDC(drive, 1);
    + return invalidate_drive(bdev);
    + case FDSETEMSGTRESH:
    + UDP->max_errors.reporting = (unsigned short)(param & 0x0f);
    + return 0;
    + case FDGETMAXERRS:
    + outparam = (const char *)&UDP->max_errors;
    + break;
    + case FDSETMAXERRS:
    + UDP->max_errors = inparam.max_errors;
    + break;
    + case FDGETDRVTYP:
    + outparam = drive_name(type, drive);
    + SUPBOUND(size, strlen(outparam) + 1);
    + break;
    + case FDSETDRVPRM:
    + *UDP = inparam.dp;
    + break;
    + case FDGETDRVPRM:
    + outparam = (const char *)UDP;
    + break;
    + case FDPOLLDRVSTAT:
    + LOCK_FDC(drive, 1);
    + CALL(poll_drive(1, FD_RAW_NEED_DISK));
    + process_fd_request();
    + /* fall through */
    + case FDGETDRVSTAT:
    + outparam = (const char *)UDRS;
    + break;
    + case FDRESET:
    + return user_reset_fdc(drive, (int)param, 1);
    + case FDGETFDCSTAT:
    + outparam = (const char *)UFDCS;
    + break;
    + case FDWERRORCLR:
    + memset(UDRWE, 0, sizeof(*UDRWE));
    + return 0;
    + case FDWERRORGET:
    + outparam = (const char *)UDRWE;
    + break;
    + case FDRAWCMD:
    + if (type)
    return -EINVAL;
    - }
    + LOCK_FDC(drive, 1);
    + set_floppy(drive);
    + CALL(i = raw_cmd_ioctl(cmd, (void __user *)param));
    + process_fd_request();
    + return i;
    + case FDTWADDLE:
    + LOCK_FDC(drive, 1);
    + twaddle();
    + process_fd_request();
    + return 0;
    + default:
    + return -EINVAL;
    + }

    if (_IOC_DIR(cmd) & _IOC_READ)
    return fd_copyout((void __user *)param, outparam, size);
    - else
    - return 0;
    -#undef OUT
    -#undef IN
    +
    + return 0;
    }

    static void __init config_types(void)
    --
    1.6.6.rc0.57.gad7a


    \
     
     \ /
      Last update: 2010-01-22 05:57    [W:4.185 / U:0.572 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site