Commit 050a4f34 authored by Jens Axboe's avatar Jens Axboe
Browse files

Revert "block: remove devnode callback from struct block_device_operations"



This reverts commit 85d6ce58.

We're reinstating the pktcdvd driver, which needs this API.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ee4b4e22
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1201,10 +1201,21 @@ struct class block_class = {
	.dev_uevent	= block_uevent,
};

static char *block_devnode(struct device *dev, umode_t *mode,
			   kuid_t *uid, kgid_t *gid)
{
	struct gendisk *disk = dev_to_disk(dev);

	if (disk->fops->devnode)
		return disk->fops->devnode(disk, mode);
	return NULL;
}

const struct device_type disk_type = {
	.name		= "disk",
	.groups		= disk_attr_groups,
	.release	= disk_release,
	.devnode	= block_devnode,
};

#ifdef CONFIG_PROC_FS
+1 −0
Original line number Diff line number Diff line
@@ -1395,6 +1395,7 @@ struct block_device_operations {
	void (*swap_slot_free_notify) (struct block_device *, unsigned long);
	int (*report_zones)(struct gendisk *, sector_t sector,
			unsigned int nr_zones, report_zones_cb cb, void *data);
	char *(*devnode)(struct gendisk *disk, umode_t *mode);
	/* returns the length of the identifier or a negative errno: */
	int (*get_unique_id)(struct gendisk *disk, u8 id[16],
			enum blk_unique_id id_type);