Commit 61fb5c04 authored by Christoph Hellwig's avatar Christoph Hellwig

ide: remove ide_driver_proc_write

The driver proc file hasn't been writeable for a long time, so this is
just dead code.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 2cd1f0dd
...@@ -528,58 +528,12 @@ static int ide_driver_proc_open(struct inode *inode, struct file *file) ...@@ -528,58 +528,12 @@ static int ide_driver_proc_open(struct inode *inode, struct file *file)
return single_open(file, ide_driver_proc_show, PDE_DATA(inode)); return single_open(file, ide_driver_proc_show, PDE_DATA(inode));
} }
static int ide_replace_subdriver(ide_drive_t *drive, const char *driver)
{
struct device *dev = &drive->gendev;
int ret = 1;
int err;
device_release_driver(dev);
/* FIXME: device can still be in use by previous driver */
strlcpy(drive->driver_req, driver, sizeof(drive->driver_req));
err = device_attach(dev);
if (err < 0)
printk(KERN_WARNING "IDE: %s: device_attach error: %d\n",
__func__, err);
drive->driver_req[0] = 0;
if (dev->driver == NULL) {
err = device_attach(dev);
if (err < 0)
printk(KERN_WARNING
"IDE: %s: device_attach(2) error: %d\n",
__func__, err);
}
if (dev->driver && !strcmp(dev->driver->name, driver))
ret = 0;
return ret;
}
static ssize_t ide_driver_proc_write(struct file *file, const char __user *buffer,
size_t count, loff_t *pos)
{
ide_drive_t *drive = PDE_DATA(file_inode(file));
char name[32];
if (!capable(CAP_SYS_ADMIN))
return -EACCES;
if (count > 31)
count = 31;
if (copy_from_user(name, buffer, count))
return -EFAULT;
name[count] = '\0';
if (ide_replace_subdriver(drive, name))
return -EINVAL;
return count;
}
static const struct file_operations ide_driver_proc_fops = { static const struct file_operations ide_driver_proc_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = ide_driver_proc_open, .open = ide_driver_proc_open,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
.release = single_release, .release = single_release,
.write = ide_driver_proc_write,
}; };
static int ide_media_proc_show(struct seq_file *m, void *v) static int ide_media_proc_show(struct seq_file *m, void *v)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment