]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/genhd.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
[linux-2.6-omap-h63xx.git] / include / linux / genhd.h
index ecf649c3deed4e19d47b6060f706cf08f149ae3b..e439e6aed832f3fc98b3a7944521f108e5740fbb 100644 (file)
@@ -25,9 +25,6 @@ extern struct device_type part_type;
 extern struct kobject *block_depr;
 extern struct class block_class;
 
-extern const struct seq_operations partitions_op;
-extern const struct seq_operations diskstats_op;
-
 enum {
 /* These three have identical behaviour; use the second one if DOS FDISK gets
    confused about extended/logical partitions starting past cylinder 1023. */
@@ -58,6 +55,9 @@ enum {
        UNIXWARE_PARTITION = 0x63,      /* Same as GNU_HURD and SCO Unix */
 };
 
+#define DISK_MAX_PARTS                 256
+#define DISK_NAME_LEN                  32
+
 #include <linux/major.h>
 #include <linux/device.h>
 #include <linux/smp.h>
@@ -112,6 +112,7 @@ struct hd_struct {
 #define GENHD_FL_CD                            8
 #define GENHD_FL_UP                            16
 #define GENHD_FL_SUPPRESS_PARTITION_INFO       32
+#define GENHD_FL_EXT_DEVT                      64 /* allow extended devt */
 
 #define BLK_SCSI_MAX_CMDS      (256)
 #define BLK_SCSI_CMD_PER_LONG  (BLK_SCSI_MAX_CMDS / (sizeof(long) * 8))
@@ -129,17 +130,15 @@ struct disk_part_tbl {
 };
 
 struct gendisk {
-       /* major, first_minor, minors and ext_minors are input
-        * parameters only, don't use directly.  Use disk_devt() and
-        * disk_max_parts().
+       /* major, first_minor and minors are input parameters only,
+        * don't use directly.  Use disk_devt() and disk_max_parts().
         */
        int major;                      /* major number of driver */
        int first_minor;
        int minors;                     /* maximum number of minors, =1 for
                                          * disks that can't be partitioned. */
-       int ext_minors;                 /* number of extended dynamic minors */
 
-       char disk_name[32];             /* name of major driver */
+       char disk_name[DISK_NAME_LEN];  /* name of major driver */
 
        /* Array of pointers to partitions indexed by partno.
         * Protected with matching bdev lock but stat and other
@@ -180,7 +179,9 @@ static inline struct gendisk *part_to_disk(struct hd_struct *part)
 
 static inline int disk_max_parts(struct gendisk *disk)
 {
-       return disk->minors + disk->ext_minors;
+       if (disk->flags & GENHD_FL_EXT_DEVT)
+               return DISK_MAX_PARTS;
+       return disk->minors;
 }
 
 static inline bool disk_partitionable(struct gendisk *disk)
@@ -527,9 +528,6 @@ extern void printk_all_partitions(void);
 
 extern struct gendisk *alloc_disk_node(int minors, int node_id);
 extern struct gendisk *alloc_disk(int minors);
-extern struct gendisk *alloc_disk_ext_node(int minors, int ext_minrs,
-                                          int node_id);
-extern struct gendisk *alloc_disk_ext(int minors, int ext_minors);
 extern struct kobject *get_disk(struct gendisk *disk);
 extern void put_disk(struct gendisk *disk);
 extern void blk_register_region(dev_t devt, unsigned long range,