]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/genhd.h
bsg: add sg_io_v4 structure
[linux-2.6-omap-h63xx.git] / include / linux / genhd.h
index f589559cf0709586d1f126f92ebbbbca9cefa53b..8c43d70326127df3d241cd75f2e204d8a809b0f2 100644 (file)
@@ -66,6 +66,8 @@ struct partition {
 #include <linux/smp.h>
 #include <linux/string.h>
 #include <linux/fs.h>
+#include <linux/workqueue.h>
+#include <linux/bsg.h>
 
 struct partition {
        unsigned char boot_ind;         /* 0x80 - active */
@@ -90,10 +92,12 @@ struct hd_struct {
 #ifdef CONFIG_FAIL_MAKE_REQUEST
        int make_it_fail;
 #endif
+       struct bsg_class_device bsg_dev;
 };
 
 #define GENHD_FL_REMOVABLE                     1
 #define GENHD_FL_DRIVERFS                      2
+#define GENHD_FL_MEDIA_CHANGE_NOTIFY           4
 #define GENHD_FL_CD                            8
 #define GENHD_FL_UP                            16
 #define GENHD_FL_SUPPRESS_PARTITION_INFO       32
@@ -138,6 +142,7 @@ struct gendisk {
 #else
        struct disk_stats dkstats;
 #endif
+       struct work_struct async_notify;
 };
 
 /* Structure for sysfs attributes on block devices */
@@ -419,7 +424,7 @@ extern struct gendisk *alloc_disk_node(int minors, int node_id);
 extern struct gendisk *alloc_disk(int minors);
 extern struct kobject *get_disk(struct gendisk *disk);
 extern void put_disk(struct gendisk *disk);
-
+extern void genhd_media_change_notify(struct gendisk *disk);
 extern void blk_register_region(dev_t dev, unsigned long range,
                        struct module *module,
                        struct kobject *(*probe)(dev_t, int *, void *),
@@ -434,6 +439,10 @@ static inline struct block_device *bdget_disk(struct gendisk *disk, int index)
 
 #endif
 
-#endif
+#else /* CONFIG_BLOCK */
+
+static inline void printk_all_partitions(void) { }
+
+#endif /* CONFIG_BLOCK */
 
 #endif