aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-06-16 15:57:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-16 15:57:37 -0400
commit6fd03301d76bc439382710e449f58efbb233df1b (patch)
tree3c8a3217aed67319683ffc1debccdb5b3245b16c /block
parentcd5232bd6be2d215a800f3d88c287ca791debfbe (diff)
parente4792aa30f9d33584d7192685ed149cc5fee737f (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits) debugfs: use specified mode to possibly mark files read/write only debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. xen: remove driver_data direct access of struct device from more drivers usb: gadget: at91_udc: remove driver_data direct access of struct device uml: remove driver_data direct access of struct device block/ps3: remove driver_data direct access of struct device s390: remove driver_data direct access of struct device parport: remove driver_data direct access of struct device parisc: remove driver_data direct access of struct device of_serial: remove driver_data direct access of struct device mips: remove driver_data direct access of struct device ipmi: remove driver_data direct access of struct device infiniband: ehca: remove driver_data direct access of struct device ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device hvcs: remove driver_data direct access of struct device xen block: remove driver_data direct access of struct device thermal: remove driver_data direct access of struct device scsi: remove driver_data direct access of struct device pcmcia: remove driver_data direct access of struct device PCIE: remove driver_data direct access of struct device ... Manually fix up trivial conflicts due to different direct driver_data direct access fixups in drivers/block/{ps3disk.c,ps3vram.c}
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