diff options
| author | Kay Sievers <kay.sievers@vrfy.org> | 2007-05-21 22:08:01 +0200 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-01-24 20:40:36 -0800 | 
| commit | edfaa7c36574f1bf09c65ad602412db9da5f96bf (patch) | |
| tree | d591b80ff9229e4845e41d68e2f4c5aadb017027 /drivers/base/class.c | |
| parent | 09f82ea92822a7bbb7e816508abbda47ed54a77f (diff) | |
| download | olio-linux-3.10-edfaa7c36574f1bf09c65ad602412db9da5f96bf.tar.xz olio-linux-3.10-edfaa7c36574f1bf09c65ad602412db9da5f96bf.zip  | |
Driver core: convert block from raw kobjects to core devices
This moves the block devices to /sys/class/block. It will create a
flat list of all block devices, with the disks and partitions in one
directory. For compatibility /sys/block is created and contains symlinks
to the disks.
  /sys/class/block
  |-- sda -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  |-- sda1 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1
  |-- sda10 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10
  |-- sda5 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5
  |-- sda6 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6
  |-- sda7 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7
  |-- sda8 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8
  |-- sda9 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9
  `-- sr0 -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0
  /sys/block/
  |-- sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  `-- sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/class.c')
| -rw-r--r-- | drivers/base/class.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/base/class.c b/drivers/base/class.c index ba6745b0fd2..624b3316e93 100644 --- a/drivers/base/class.c +++ b/drivers/base/class.c @@ -17,6 +17,7 @@  #include <linux/kdev_t.h>  #include <linux/err.h>  #include <linux/slab.h> +#include <linux/genhd.h>  #include "base.h"  #define to_class_attr(_attr) container_of(_attr, struct class_attribute, attr) @@ -149,7 +150,13 @@ int class_register(struct class * cls)  	if (error)  		return error; +#ifdef CONFIG_SYSFS_DEPRECATED +	/* let the block class directory show up in the root of sysfs */ +	if (cls != &block_class) +		cls->subsys.kobj.kset = class_kset; +#else  	cls->subsys.kobj.kset = class_kset; +#endif  	cls->subsys.kobj.ktype = &class_ktype;  	error = kset_register(&cls->subsys);  |