|
@@ -506,7 +506,7 @@ static int exact_lock(dev_t devt, void *data)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static void register_disk(struct gendisk *disk)
|
|
|
+static void register_disk(struct device *parent, struct gendisk *disk)
|
|
|
{
|
|
|
struct device *ddev = disk_to_dev(disk);
|
|
|
struct block_device *bdev;
|
|
@@ -514,7 +514,7 @@ static void register_disk(struct gendisk *disk)
|
|
|
struct hd_struct *part;
|
|
|
int err;
|
|
|
|
|
|
- ddev->parent = disk->driverfs_dev;
|
|
|
+ ddev->parent = parent;
|
|
|
|
|
|
dev_set_name(ddev, "%s", disk->disk_name);
|
|
|
|
|
@@ -573,7 +573,8 @@ exit:
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * add_disk - add partitioning information to kernel list
|
|
|
+ * device_add_disk - add partitioning information to kernel list
|
|
|
+ * @parent: parent device for the disk
|
|
|
* @disk: per-device partitioning information
|
|
|
*
|
|
|
* This function registers the partitioning information in @disk
|
|
@@ -581,7 +582,7 @@ exit:
|
|
|
*
|
|
|
* FIXME: error handling
|
|
|
*/
|
|
|
-void add_disk(struct gendisk *disk)
|
|
|
+void device_add_disk(struct device *parent, struct gendisk *disk)
|
|
|
{
|
|
|
struct backing_dev_info *bdi;
|
|
|
dev_t devt;
|
|
@@ -617,7 +618,7 @@ void add_disk(struct gendisk *disk)
|
|
|
|
|
|
blk_register_region(disk_devt(disk), disk->minors, NULL,
|
|
|
exact_match, exact_lock, disk);
|
|
|
- register_disk(disk);
|
|
|
+ register_disk(parent, disk);
|
|
|
blk_register_queue(disk);
|
|
|
|
|
|
/*
|
|
@@ -633,7 +634,7 @@ void add_disk(struct gendisk *disk)
|
|
|
disk_add_events(disk);
|
|
|
blk_integrity_add(disk);
|
|
|
}
|
|
|
-EXPORT_SYMBOL(add_disk);
|
|
|
+EXPORT_SYMBOL(device_add_disk);
|
|
|
|
|
|
void del_gendisk(struct gendisk *disk)
|
|
|
{
|
|
@@ -799,10 +800,9 @@ void __init printk_all_partitions(void)
|
|
|
, disk_name(disk, part->partno, name_buf),
|
|
|
part->info ? part->info->uuid : "");
|
|
|
if (is_part0) {
|
|
|
- if (disk->driverfs_dev != NULL &&
|
|
|
- disk->driverfs_dev->driver != NULL)
|
|
|
+ if (dev->parent && dev->parent->driver)
|
|
|
printk(" driver: %s\n",
|
|
|
- disk->driverfs_dev->driver->name);
|
|
|
+ dev->parent->driver->name);
|
|
|
else
|
|
|
printk(" (driver?)\n");
|
|
|
} else
|