On Mon, 2012-08-13 at 15:16 -0300, Herton Ronaldo Krzesinski wrote: > Simplify/cleanup code, replacing remaining checks for drives present > using disk_registered array. > > Acked-by: Vivek Goyal > Signed-off-by: Herton Ronaldo Krzesinski > --- > drivers/block/floppy.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c > index 3eafe93..381b9c1 100644 > --- a/drivers/block/floppy.c > +++ b/drivers/block/floppy.c > @@ -4114,9 +4114,7 @@ static struct platform_device floppy_device[N_DRIVE]; > static struct kobject *floppy_find(dev_t dev, int *part, void *data) > { > int drive = (*part & 3) | ((*part & 0x80) >> 5); > - if (drive >= N_DRIVE || > - !(allowed_drive_mask & (1 << drive)) || > - fdc_state[FDC(drive)].version == FDC_NONE) > + if (drive >= N_DRIVE || !disk_registered[drive]) > return NULL; > if (((*part >> 2) & 0x1f) >= ARRAY_SIZE(floppy_type)) > return NULL; > @@ -4561,8 +4559,7 @@ static void __exit floppy_module_exit(void) > for (drive = 0; drive < N_DRIVE; drive++) { > del_timer_sync(&motor_off_timer[drive]); > > - if ((allowed_drive_mask & (1 << drive)) && > - fdc_state[FDC(drive)].version != FDC_NONE) { > + if (disk_registered[drive]) { > del_gendisk(disks[drive]); > device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos); > platform_device_unregister(&floppy_device[drive]); The same function I suggested for 4/6 would also be used here. A little neater than yet another static array, I think. But I have nothing to do with this code so you could just ignore my preferences. :-) Ben. > @@ -4573,8 +4570,7 @@ static void __exit floppy_module_exit(void) > * These disks have not called add_disk(). Don't put down > * queue reference in put_disk(). > */ > - if (!(allowed_drive_mask & (1 << drive)) || > - fdc_state[FDC(drive)].version == FDC_NONE) > + if (!disk_registered[drive]) > disks[drive]->queue = NULL; > > put_disk(disks[drive]); -- Ben Hutchings I say we take off; nuke the site from orbit. It's the only way to be sure.