patch-2.3.46 linux/drivers/block/ide-probe.c
Next file: linux/drivers/block/ide-tape.c
Previous file: linux/drivers/block/ide-floppy.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Wed Feb 16 15:42:05 2000
- Orig file:
v2.3.45/linux/drivers/block/ide-probe.c
- Orig date:
Thu Feb 10 17:11:07 2000
diff -u --recursive --new-file v2.3.45/linux/drivers/block/ide-probe.c linux/drivers/block/ide-probe.c
@@ -699,13 +699,28 @@
gd->nr_real = units; /* current num real drives */
gd->real_devices= hwif; /* ptr to internal data */
gd->next = NULL; /* linked list of major devs */
+ gd->fops = ide_fops; /* file operations */
+ gd->de_arr = kmalloc (sizeof *gd->de_arr * units, GFP_KERNEL);
+ gd->flags = kmalloc (sizeof *gd->flags * units, GFP_KERNEL);
+ if (gd->de_arr)
+ memset (gd->de_arr, 0, sizeof *gd->de_arr * units);
+ if (gd->flags)
+ memset (gd->flags, 0, sizeof *gd->flags * units);
for (gdp = &gendisk_head; *gdp; gdp = &((*gdp)->next)) ;
hwif->gd = *gdp = gd; /* link onto tail of list */
for (unit = 0; unit < units; ++unit) {
- if (hwif->drives[unit].present)
+ if (hwif->drives[unit].present) {
+ char name[64];
+
ide_add_generic_settings(hwif->drives + unit);
+ sprintf (name, "ide/host%d/bus%d/target%d/lun%d",
+ hwif->channel ? hwif->mate->index : hwif->index,
+ hwif->channel, unit, 0);
+ hwif->drives[unit].de =
+ devfs_mk_dir (NULL, name, 0, NULL);
+ }
}
}
@@ -764,7 +779,7 @@
printk("%s: request_fn NOT DEFINED\n", hwif->name);
return (hwif->present = 0);
}
- if (register_blkdev (hwif->major, hwif->name, ide_fops)) {
+ if (devfs_register_blkdev (hwif->major, hwif->name, ide_fops)) {
printk("%s: UNABLE TO GET MAJOR NUMBER %d\n", hwif->name, hwif->major);
return (hwif->present = 0);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)