@@ -528,58 +528,12 @@ static int ide_driver_proc_open(struct inode *inode, struct file *file)
528
528
return single_open (file , ide_driver_proc_show , PDE_DATA (inode ));
529
529
}
530
530
531
- static 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
-
558
- static 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
-
576
531
static const struct file_operations ide_driver_proc_fops = {
577
532
.owner = THIS_MODULE ,
578
533
.open = ide_driver_proc_open ,
579
534
.read = seq_read ,
580
535
.llseek = seq_lseek ,
581
536
.release = single_release ,
582
- .write = ide_driver_proc_write ,
583
537
};
584
538
585
539
static int ide_media_proc_show (struct seq_file * m , void * v )
0 commit comments