diff options
| -rw-r--r-- | drivers/ide/ide-cd.c | 3 | ||||
| -rw-r--r-- | drivers/ide/ide-disk.c | 13 | ||||
| -rw-r--r-- | drivers/ide/ide-floppy.c | 12 | ||||
| -rw-r--r-- | drivers/ide/ide-probe.c | 9 | ||||
| -rw-r--r-- | drivers/ide/ide.c | 2 | ||||
| -rw-r--r-- | drivers/s390/block/dasd_genhd.c | 2 | ||||
| -rw-r--r-- | drivers/scsi/sd.c | 5 | ||||
| -rw-r--r-- | fs/partitions/check.c | 4 | ||||
| -rw-r--r-- | include/linux/genhd.h | 2 |
9 files changed, 11 insertions, 41 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index d6e7db8b7887..860f2436179d 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c @@ -3147,6 +3147,9 @@ static int ide_cdrom_reinit (ide_drive_t *drive) cdrom_read_toc(drive, &sense); g->minor_shift = 0; + /* probably bogus, but that's the old behaviour */ + g->de_arr[0] = NULL; + g->flags = 0; add_gendisk(g); register_disk(g, mk_kdev(g->major,g->first_minor), 1<<g->minor_shift, ide_fops, diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index ce8e1a9e57b9..5fb72ddaf952 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c @@ -1516,8 +1516,6 @@ static void idedisk_add_settings(ide_drive_t *drive) static void idedisk_setup (ide_drive_t *drive) { - int i; - struct hd_driveid *id = drive->id; unsigned long capacity; @@ -1538,15 +1536,6 @@ static void idedisk_setup (ide_drive_t *drive) drive->doorlocking = 1; } } - for (i = 0; i < MAX_DRIVES; ++i) { - ide_hwif_t *hwif = HWIF(drive); - - if (drive != &hwif->drives[i]) continue; - hwif->gd[i]->de_arr[i] = drive->de; - if (drive->removable) - hwif->gd[i]->flags[i] |= GENHD_FL_REMOVABLE; - break; - } #if 1 (void) probe_lba_addressing(drive, 1); @@ -1714,6 +1703,8 @@ static int idedisk_reinit(ide_drive_t *drive) } DRIVER(drive)->busy--; g->minor_shift = PARTN_BITS; + g->de_arr[0] = drive->de; + g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0; add_gendisk(g); register_disk(g, mk_kdev(g->major,g->first_minor), 1<<g->minor_shift, ide_fops, diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 24ef0f8ba412..94f57d4b5b9f 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c @@ -2065,7 +2065,6 @@ static void idefloppy_add_settings(ide_drive_t *drive) static void idefloppy_setup (ide_drive_t *drive, idefloppy_floppy_t *floppy) { struct idefloppy_id_gcw gcw; - int i; *((unsigned short *) &gcw) = drive->id->config; drive->driver_data = floppy; @@ -2108,15 +2107,6 @@ static void idefloppy_setup (ide_drive_t *drive, idefloppy_floppy_t *floppy) (void) idefloppy_get_capacity (drive); idefloppy_add_settings(drive); - for (i = 0; i < MAX_DRIVES; ++i) { - ide_hwif_t *hwif = HWIF(drive); - - if (drive != &hwif->drives[i]) continue; - hwif->gd[i]->de_arr[i] = drive->de; - if (drive->removable) - hwif->gd[i]->flags[i] |= GENHD_FL_REMOVABLE; - break; - } } static int idefloppy_cleanup (ide_drive_t *drive) @@ -2221,6 +2211,8 @@ static int idefloppy_reinit (ide_drive_t *drive) idefloppy_setup (drive, floppy); DRIVER(drive)->busy--; g->minor_shift = PARTN_BITS; + g->de_arr[0] = drive->de; + g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0; add_gendisk(g); register_disk(g, mk_kdev(g->major,g->first_minor), 1<<g->minor_shift, ide_fops, diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index cd9b76e89e46..9fc3488c111b 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c @@ -809,7 +809,6 @@ static void init_gendisk (ide_hwif_t *hwif) struct gendisk *gd; struct hd_struct *part; devfs_handle_t *de_arr; - char *flags; unsigned int unit, units, minors; extern devfs_handle_t ide_devfs_handle; char *names; @@ -841,11 +840,6 @@ static void init_gendisk (ide_hwif_t *hwif) goto err_kmalloc_gd_de_arr; memset(de_arr, 0, sizeof(devfs_handle_t) * MAX_DRIVES); - flags = kmalloc(sizeof(char) * MAX_DRIVES, GFP_KERNEL); - if (!flags) - goto err_kmalloc_gd_flags; - memset(flags, 0, sizeof(char) * MAX_DRIVES); - names = kmalloc (4 * MAX_DRIVES, GFP_KERNEL); if (!names) goto err_kmalloc_gd_names; @@ -854,7 +848,6 @@ static void init_gendisk (ide_hwif_t *hwif) for (unit = 0; unit < units; ++unit) { gd[unit].part = part + (unit << PARTN_BITS); gd[unit].de_arr = de_arr + unit; - gd[unit].flags = flags + unit; hwif->drives[unit].part = gd[unit].part; gd[unit].major = hwif->major; gd[unit].first_minor = unit << PARTN_BITS; @@ -891,8 +884,6 @@ static void init_gendisk (ide_hwif_t *hwif) return; err_kmalloc_gd_names: - kfree(names); -err_kmalloc_gd_flags: kfree(de_arr); err_kmalloc_gd_de_arr: kfree(part); diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index c81cbf3ae916..7c1ed4dd8f25 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -2064,8 +2064,6 @@ void ide_unregister (unsigned int index) kfree(gd->part); if (gd->de_arr) kfree (gd->de_arr); - if (gd->flags) - kfree (gd->flags); kfree(gd); for (i = 0; i < MAX_DRIVES; i++) hwif->gd[i] = NULL; diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c index 056a917799a8..82d060ba4026 100644 --- a/drivers/s390/block/dasd_genhd.c +++ b/drivers/s390/block/dasd_genhd.c @@ -35,7 +35,6 @@ struct major_info { int major; struct gendisk disks[DASD_PER_MAJOR]; devfs_handle_t de_arr[DASD_PER_MAJOR]; - char flags[DASD_PER_MAJOR]; char names[DASD_PER_MAJOR * 8]; struct hd_struct part[1<<MINORBITS]; }; @@ -108,7 +107,6 @@ dasd_register_major(int major) disk->minor_shift = DASD_PARTN_BITS; disk->fops = &dasd_device_operations; disk->de_arr = mi->de_arr + i; - disk->flags = mi->flags + i; disk->part = mi->part + (i << DASD_PARTN_BITS); } diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index b4edc9266a48..b1686243dccb 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1302,7 +1302,6 @@ static int sd_attach(Scsi_Device * sdp) struct gendisk disk; devfs_handle_t de; struct device *dev; - char flags; char name[5]; } *p; struct gendisk *gd; @@ -1316,7 +1315,6 @@ static int sd_attach(Scsi_Device * sdp) return 1; gd = &p->disk; gd->de_arr = &p->de; - gd->flags = &p->flags; gd->driverfs_dev_arr = &p->dev; SCSI_LOG_HLQUEUE(3, printk("sd_attach: scsi device: <%d,%d,%d,%d>\n", @@ -1361,8 +1359,7 @@ static int sd_attach(Scsi_Device * sdp) else sprintf(p->name, "sd%c", 'a'+dsk_nr%26); gd->major_name = p->name; - if (sdp->removable) - gd->flags[0] |= GENHD_FL_REMOVABLE; + gd->flags = sdp->removable ? GENHD_FL_REMOVABLE : 0; sd_disks[dsk_nr] = gd; sd_dskname(dsk_nr, diskname); printk(KERN_NOTICE "Attached scsi %sdisk %s at scsi%d, channel %d, " diff --git a/fs/partitions/check.c b/fs/partitions/check.c index fa248882183b..db8d2e8269a3 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c @@ -260,7 +260,7 @@ static void devfs_register_partition(struct gendisk *dev, int part) dir = devfs_get_parent(p[0].de); if (!dir) return; - if ( dev->flags && (dev->flags[0] & GENHD_FL_REMOVABLE) ) + if (dev->flags & GENHD_FL_REMOVABLE) devfs_flags |= DEVFS_FL_REMOVABLE; sprintf (devname, "part%d", part); p[part].de = devfs_register (dir, devname, devfs_flags, @@ -282,7 +282,7 @@ static void devfs_register_disc(struct gendisk *dev) if (p[0].de) return; - if ( dev->flags && (dev->flags[0] & GENHD_FL_REMOVABLE) ) + if (dev->flags & GENHD_FL_REMOVABLE) devfs_flags |= DEVFS_FL_REMOVABLE; if (dev->de_arr) { dir = dev->de_arr[0]; diff --git a/include/linux/genhd.h b/include/linux/genhd.h index dcff86342667..aa2f694ceb1a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -81,7 +81,7 @@ struct gendisk { devfs_handle_t *de_arr; /* one per physical disc */ struct device **driverfs_dev_arr;/* support driverfs hierarchy */ - char *flags; /* one per physical disc */ + int flags; }; /* drivers/block/genhd.c */ |
