vserver 1.9.3
[linux-2.6.git] / drivers / ide / ide-proc.c
index 96c8e00..07c989b 100644 (file)
@@ -321,7 +321,6 @@ static int proc_ide_read_imodel
                case ide_cy82c693:      name = "cy82c693";      break;
                case ide_4drives:       name = "4drives";       break;
                case ide_pmac:          name = "mac-io";        break;
-               case ide_pc9800:        name = "pc9800";        break;
                default:                name = "(unknown)";     break;
        }
        len = sprintf(page, "%s\n", name);
@@ -361,27 +360,14 @@ static int proc_ide_read_identify
        int             err = 0;
 
        len = sprintf(page, "\n");
-       
-       if (drive)
-       {
+
+       if (drive) {
                unsigned short *val = (unsigned short *) page;
-               
-               /*
-                *      The current code can't handle a driverless
-                *      identify query taskfile. Now the right fix is
-                *      to add a 'default' driver but that is a bit
-                *      more work. 
-                *
-                *      FIXME: this has to be fixed for hotswap devices
-                */
-                
-               if(DRIVER(drive))
-                       err = taskfile_lib_get_identify(drive, page);
-               else    /* This relies on the ID changes */
-                       val = (unsigned short *)drive->id;
-
-               if(!err)
-               {                                               
+
+               BUG_ON(!drive->driver);
+
+               err = taskfile_lib_get_identify(drive, page);
+               if (!err) {
                        char *out = ((char *)page) + (SECTOR_WORDS * 4);
                        page = out;
                        do {
@@ -791,5 +777,5 @@ void proc_ide_destroy(void)
 {
        remove_proc_entry("ide/drivers", proc_ide_root);
        destroy_proc_ide_interfaces();
-       remove_proc_entry("ide", 0);
+       remove_proc_entry("ide", NULL);
 }