|
@@ -801,6 +801,7 @@ static void ubd_device_release(struct device *dev)
|
|
|
static int ubd_disk_register(int major, u64 size, int unit,
|
|
|
struct gendisk **disk_out)
|
|
|
{
|
|
|
+ struct device *parent = NULL;
|
|
|
struct gendisk *disk;
|
|
|
|
|
|
disk = alloc_disk(1 << UBD_SHIFT);
|
|
@@ -823,12 +824,12 @@ static int ubd_disk_register(int major, u64 size, int unit,
|
|
|
ubd_devs[unit].pdev.dev.release = ubd_device_release;
|
|
|
dev_set_drvdata(&ubd_devs[unit].pdev.dev, &ubd_devs[unit]);
|
|
|
platform_device_register(&ubd_devs[unit].pdev);
|
|
|
- disk->driverfs_dev = &ubd_devs[unit].pdev.dev;
|
|
|
+ parent = &ubd_devs[unit].pdev.dev;
|
|
|
}
|
|
|
|
|
|
disk->private_data = &ubd_devs[unit];
|
|
|
disk->queue = ubd_devs[unit].queue;
|
|
|
- add_disk(disk);
|
|
|
+ device_add_disk(parent, disk);
|
|
|
|
|
|
*disk_out = disk;
|
|
|
return 0;
|