aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
Diffstat (limited to 'block')
-rw-r--r--block/bsg.c6
-rw-r--r--block/genhd.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/block/bsg.c b/block/bsg.c
index 5358f9ae13c1..54106f052f70 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -1065,6 +1065,11 @@ EXPORT_SYMBOL_GPL(bsg_register_queue);
1065 1065
1066static struct cdev bsg_cdev; 1066static struct cdev bsg_cdev;
1067 1067
1068static char *bsg_nodename(struct device *dev)
1069{
1070 return kasprintf(GFP_KERNEL, "bsg/%s", dev_name(dev));
1071}
1072
1068static int __init bsg_init(void) 1073static int __init bsg_init(void)
1069{ 1074{
1070 int ret, i; 1075 int ret, i;
@@ -1085,6 +1090,7 @@ static int __init bsg_init(void)
1085 ret = PTR_ERR(bsg_class); 1090 ret = PTR_ERR(bsg_class);
1086 goto destroy_kmemcache; 1091 goto destroy_kmemcache;
1087 } 1092 }
1093 bsg_class->nodename = bsg_nodename;
1088 1094
1089 ret = alloc_chrdev_region(&devid, 0, BSG_MAX_DEVS, "bsg"); 1095 ret = alloc_chrdev_region(&devid, 0, BSG_MAX_DEVS, "bsg");
1090 if (ret) 1096 if (ret)
diff --git a/block/genhd.c b/block/genhd.c
index fe7ccc0a618f..f4c64c2b303a 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -996,10 +996,20 @@ struct class block_class = {
996 .name = "block", 996 .name = "block",
997}; 997};
998 998
999static char *block_nodename(struct device *dev)
1000{
1001 struct gendisk *disk = dev_to_disk(dev);
1002
1003 if (disk->nodename)
1004 return disk->nodename(disk);
1005 return NULL;
1006}
1007
999static struct device_type disk_type = { 1008static struct device_type disk_type = {
1000 .name = "disk", 1009 .name = "disk",
1001 .groups = disk_attr_groups, 1010 .groups = disk_attr_groups,
1002 .release = disk_release, 1011 .release = disk_release,
1012 .nodename = block_nodename,
1003}; 1013};
1004 1014
1005#ifdef CONFIG_PROC_FS 1015#ifdef CONFIG_PROC_FS