# \[PATCH v5 3/5\] um: track 'parent' device in a local variable

- Subsystems: THE REST, USER-MODE LINUX (UML)
- Maintainers: Linus Torvalds, Richard Weinberger, Anton Ivanov, Johannes Berg
- Revision v5 (5 revisions archived).
- List: linux-block
- 4 messages, 4 authors
- Page: https://ratatoskr.run/linux-block/2016/06/4783621/t

## \[PATCH v5 3/5\] um: track 'parent' device in a local variable

- From: Dan Williams \<hidden\>
- Date: 2016-06-27 19:30:53 
- Message: https://ratatoskr.run/linux-block/2016/06/4783621.md

```text
In preparation for the removal of 'driverfs_dev' from 'struct gendisk'
use a local variable to track the parented vs un-parented case in
ubd_disk_register().

Cc: Jeff Dike <redacted>
Cc: Richard Weinberger <richard@nod.at>
Cc: Bart Van Assche <redacted>
Signed-off-by: Dan Williams <redacted>
---
 arch/um/drivers/ubd_kern.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index ef6b4d960bad..f3540270d096 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -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;

```

## Re: \[PATCH v5 3/5\] um: track 'parent' device in a local variable

- From: Bart Van Assche \<hidden\>
- Date: 2016-06-28 07:23:37 
- Message: https://ratatoskr.run/linux-block/2016/06/4783931.md

```text
On 06/27/2016 09:30 PM, Dan Williams wrote:
> In preparation for the removal of 'driverfs_dev' from 'struct gendisk'
> use a local variable to track the parented vs un-parented case in
> ubd_disk_register().

Reviewed-by: Bart Van Assche <redacted>
```

## Re: \[PATCH v5 3/5\] um: track 'parent' device in a local variable

- From: Richard Weinberger \<richard@nod.at\>
- Date: 2016-06-28 08:14:18 
- Message: https://ratatoskr.run/linux-block/2016/06/4783987.md

```text
Am 28.06.2016 um 09:23 schrieb Bart Van Assche:
> On 06/27/2016 09:30 PM, Dan Williams wrote:
>> In preparation for the removal of 'driverfs_dev' from 'struct gendisk'
>> use a local variable to track the parented vs un-parented case in
>> ubd_disk_register().
> 
> Reviewed-by: Bart Van Assche <redacted>

Acked-by: Richard Weinberger <richard@nod.at>

Thanks,
//richard
```

## Re: \[PATCH v5 3/5\] um: track 'parent' device in a local variable

- From: Christoph Hellwig \<hch@lst.de\>
- Date: 2016-06-28 11:58:27 
- Message: https://ratatoskr.run/linux-block/2016/06/4784291.md

```text
Looks fine,

Reviewed-by: Christoph Hellwig <hch@lst.de>
```
