Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit badf8082 authored by Al Viro's avatar Al Viro
Browse files

[PATCH] switch ide_disk_ops ->ioctl() to sane prototype



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 83ff6fe8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ ide_decl_devset(wcache);
ide_decl_devset(acoustic);

/* ide-disk_ioctl.c */
int ide_disk_ioctl(ide_drive_t *, struct inode *, struct file *, unsigned int,
int ide_disk_ioctl(ide_drive_t *, struct block_device *, fmode_t, unsigned int,
		   unsigned long);

#ifdef CONFIG_IDE_PROC_FS
+1 −2
Original line number Diff line number Diff line
@@ -13,10 +13,9 @@ static const struct ide_ioctl_devset ide_disk_ioctl_settings[] = {
{ 0 }
};

int ide_disk_ioctl(ide_drive_t *drive, struct inode *inode, struct file *file,
int ide_disk_ioctl(ide_drive_t *drive, struct block_device *bdev, fmode_t mode,
		   unsigned int cmd, unsigned long arg)
{
	struct block_device *bdev = inode->i_bdev;
	int err;

	err = ide_setting_ioctl(drive, bdev, cmd, arg, ide_disk_ioctl_settings);
+2 −2
Original line number Diff line number Diff line
@@ -23,8 +23,8 @@ void ide_floppy_create_mode_sense_cmd(struct ide_atapi_pc *, u8);
void ide_floppy_create_read_capacity_cmd(struct ide_atapi_pc *);

/* ide-floppy_ioctl.c */
int ide_floppy_ioctl(ide_drive_t *, struct inode *, struct file *, unsigned int,
		     unsigned long);
int ide_floppy_ioctl(ide_drive_t *, struct block_device *, fmode_t,
		     unsigned int, unsigned long);

#ifdef CONFIG_IDE_PROC_FS
/* ide-floppy_proc.c */
+6 −7
Original line number Diff line number Diff line
@@ -241,7 +241,7 @@ static int ide_floppy_lockdoor(ide_drive_t *drive, struct ide_atapi_pc *pc,
	return 0;
}

static int ide_floppy_format_ioctl(ide_drive_t *drive, struct file *file,
static int ide_floppy_format_ioctl(ide_drive_t *drive, fmode_t mode,
				   unsigned int cmd, void __user *argp)
{
	switch (cmd) {
@@ -250,7 +250,7 @@ static int ide_floppy_format_ioctl(ide_drive_t *drive, struct file *file,
	case IDEFLOPPY_IOCTL_FORMAT_GET_CAPACITY:
		return ide_floppy_get_format_capacities(drive, argp);
	case IDEFLOPPY_IOCTL_FORMAT_START:
		if (!(file->f_mode & FMODE_WRITE))
		if (!(mode & FMODE_WRITE))
			return -EPERM;
		return ide_floppy_format_unit(drive, (int __user *)argp);
	case IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS:
@@ -260,10 +260,9 @@ static int ide_floppy_format_ioctl(ide_drive_t *drive, struct file *file,
	}
}

int ide_floppy_ioctl(ide_drive_t *drive, struct inode *inode,
		     struct file *file, unsigned int cmd, unsigned long arg)
int ide_floppy_ioctl(ide_drive_t *drive, struct block_device *bdev,
		     fmode_t mode, unsigned int cmd, unsigned long arg)
{
	struct block_device *bdev = inode->i_bdev;
	struct ide_atapi_pc pc;
	void __user *argp = (void __user *)arg;
	int err;
@@ -271,7 +270,7 @@ int ide_floppy_ioctl(ide_drive_t *drive, struct inode *inode,
	if (cmd == CDROMEJECT || cmd == CDROM_LOCKDOOR)
		return ide_floppy_lockdoor(drive, &pc, arg, cmd);

	err = ide_floppy_format_ioctl(drive, file, cmd, argp);
	err = ide_floppy_format_ioctl(drive, mode, cmd, argp);
	if (err != -ENOTTY)
		return err;

@@ -281,7 +280,7 @@ int ide_floppy_ioctl(ide_drive_t *drive, struct inode *inode,
	 */
	if (cmd != CDROM_SEND_PACKET && cmd != SCSI_IOCTL_SEND_COMMAND)
		err = scsi_cmd_ioctl(bdev->bd_disk->queue, bdev->bd_disk,
				file ? file->f_mode : 0, cmd, argp);
				mode, cmd, argp);

	if (err == -ENOTTY)
		err = generic_ide_ioctl(drive, bdev, cmd, arg);
+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ static int ide_gd_ioctl(struct inode *inode, struct file *file,
	struct ide_disk_obj *idkp = ide_drv_g(bdev->bd_disk, ide_disk_obj);
	ide_drive_t *drive = idkp->drive;

	return drive->disk_ops->ioctl(drive, inode, file, cmd, arg);
	return drive->disk_ops->ioctl(drive, bdev, file ? file->f_mode : 0, cmd, arg);
}

static struct block_device_operations ide_gd_ops = {
Loading