Кратчайший путь выглядит как block_device->bd_disk->driverfs_dev
.
Также возможно block_device->bd_inode_backing_dev_info->dev
Да. И члены bd_disk, и bd_inode_backing_dev_info могут быть нулевыми, в зависимости от того, где вы пытаетесь их получить, и ваши kobj_lookupcall также обеспечивает отображение, хотя и по запросу, а не через существующую структурную иерархию.