nvdimm/pmem device lifetime

From: Mika PenttilÃ
Date: Fri Apr 28 2017 - 00:49:14 EST


Hi,

Just wondering the pmem struct device vs gendisk lifetimes.. from pmem_attach_disk():

device_add_disk(dev, disk);
devm_add_action_or_reset(dev, pmem_release_disk, disk);


where:
static void pmem_release_disk(void *disk)
{
del_gendisk(disk);
put_disk(disk);
}


but device_add_disk() makes disk pin dev (as a parent), and it's unpinned by del_gendisk()
which is called when dev is released, but it's not because of this circular dependency?

--Mika