|
@@ -41,6 +41,10 @@
|
|
|
#include <asm/io.h>
|
|
|
#include <asm/div64.h>
|
|
|
|
|
|
+#define IDE_DISK_PARTS (1 << PARTN_BITS)
|
|
|
+#define IDE_DISK_MINORS IDE_DISK_PARTS
|
|
|
+#define IDE_DISK_EXT_MINORS (IDE_DISK_PARTS - IDE_DISK_MINORS)
|
|
|
+
|
|
|
struct ide_disk_obj {
|
|
|
ide_drive_t *drive;
|
|
|
ide_driver_t *driver;
|
|
@@ -1151,8 +1155,8 @@ static int ide_disk_probe(ide_drive_t *drive)
|
|
|
if (!idkp)
|
|
|
goto failed;
|
|
|
|
|
|
- g = alloc_disk_node(1 << PARTN_BITS,
|
|
|
- hwif_to_node(drive->hwif));
|
|
|
+ g = alloc_disk_ext_node(IDE_DISK_MINORS, IDE_DISK_EXT_MINORS,
|
|
|
+ hwif_to_node(drive->hwif));
|
|
|
if (!g)
|
|
|
goto out_free_idkp;
|
|
|
|
|
@@ -1178,7 +1182,8 @@ static int ide_disk_probe(ide_drive_t *drive)
|
|
|
} else
|
|
|
drive->attach = 1;
|
|
|
|
|
|
- g->minors = 1 << PARTN_BITS;
|
|
|
+ g->minors = IDE_DISK_MINORS;
|
|
|
+ g->ext_minors = IDE_DISK_EXT_MINORS;
|
|
|
g->driverfs_dev = &drive->gendev;
|
|
|
g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0;
|
|
|
set_capacity(g, idedisk_capacity(drive));
|