File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed
Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -1201,10 +1201,21 @@ struct class block_class = {
12011201 .dev_uevent = block_uevent ,
12021202};
12031203
1204+ static char * block_devnode (struct device * dev , umode_t * mode ,
1205+ kuid_t * uid , kgid_t * gid )
1206+ {
1207+ struct gendisk * disk = dev_to_disk (dev );
1208+
1209+ if (disk -> fops -> devnode )
1210+ return disk -> fops -> devnode (disk , mode );
1211+ return NULL ;
1212+ }
1213+
12041214const struct device_type disk_type = {
12051215 .name = "disk" ,
12061216 .groups = disk_attr_groups ,
12071217 .release = disk_release ,
1218+ .devnode = block_devnode ,
12081219};
12091220
12101221#ifdef CONFIG_PROC_FS
Original file line number Diff line number Diff line change @@ -1395,6 +1395,7 @@ struct block_device_operations {
13951395 void (* swap_slot_free_notify ) (struct block_device * , unsigned long );
13961396 int (* report_zones )(struct gendisk * , sector_t sector ,
13971397 unsigned int nr_zones , report_zones_cb cb , void * data );
1398+ char * (* devnode )(struct gendisk * disk , umode_t * mode );
13981399 /* returns the length of the identifier or a negative errno: */
13991400 int (* get_unique_id )(struct gendisk * disk , u8 id [16 ],
14001401 enum blk_unique_id id_type );
You can’t perform that action at this time.
0 commit comments