aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-04-13 15:22:21 -0400
committerChristoph Hellwig <hch@lst.de>2018-05-16 01:24:30 -0400
commit61fb5c043f92f5be4612b7511dcaf3f3fe6ab4c1 (patch)
tree1ce3159ed4d0f3045d431b8d9883be082de2de52
parent2cd1f0ddbb5667f61e69089964209e8f716e9009 (diff)
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: Christoph Hellwig <hch@lst.de> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r--drivers/ide/ide-proc.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c
index 863db44c7916..b3b8b8822d6a 100644
--- a/drivers/ide/ide-proc.c
+++ b/drivers/ide/ide-proc.c
@@ -528,58 +528,12 @@ static int ide_driver_proc_open(struct inode *inode, struct file *file)
528 return single_open(file, ide_driver_proc_show, PDE_DATA(inode)); 528 return single_open(file, ide_driver_proc_show, PDE_DATA(inode));
529} 529}
530 530
531static int ide_replace_subdriver(ide_drive_t *drive, const char *driver)
532{
533 struct device *dev = &drive->gendev;
534 int ret = 1;
535 int err;
536
537 device_release_driver(dev);
538 /* FIXME: device can still be in use by previous driver */
539 strlcpy(drive->driver_req, driver, sizeof(drive->driver_req));
540 err = device_attach(dev);
541 if (err < 0)
542 printk(KERN_WARNING "IDE: %s: device_attach error: %d\n",
543 __func__, err);
544 drive->driver_req[0] = 0;
545 if (dev->driver == NULL) {
546 err = device_attach(dev);
547 if (err < 0)
548 printk(KERN_WARNING
549 "IDE: %s: device_attach(2) error: %d\n",
550 __func__, err);
551 }
552 if (dev->driver && !strcmp(dev->driver->name, driver))
553 ret = 0;
554
555 return ret;
556}
557
558static ssize_t ide_driver_proc_write(struct file *file, const char __user *buffer,
559 size_t count, loff_t *pos)
560{
561 ide_drive_t *drive = PDE_DATA(file_inode(file));
562 char name[32];
563
564 if (!capable(CAP_SYS_ADMIN))
565 return -EACCES;
566 if (count > 31)
567 count = 31;
568 if (copy_from_user(name, buffer, count))
569 return -EFAULT;
570 name[count] = '\0';
571 if (ide_replace_subdriver(drive, name))
572 return -EINVAL;
573 return count;
574}
575
576static const struct file_operations ide_driver_proc_fops = { 531static const struct file_operations ide_driver_proc_fops = {
577 .owner = THIS_MODULE, 532 .owner = THIS_MODULE,
578 .open = ide_driver_proc_open, 533 .open = ide_driver_proc_open,
579 .read = seq_read, 534 .read = seq_read,
580 .llseek = seq_lseek, 535 .llseek = seq_lseek,
581 .release = single_release, 536 .release = single_release,
582 .write = ide_driver_proc_write,
583}; 537};
584 538
585static int ide_media_proc_show(struct seq_file *m, void *v) 539static int ide_media_proc_show(struct seq_file *m, void *v)