uml: sysfs support for the uml block devices.
PATCH 1/1 uml: sysfs support for the uml block devices.
$subject says all ;)
Signed-off-by Gerd Knorr <[email protected]>
--- arch/um/drivers/ubd_kern.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+)
arch/um/drivers/ubd_kern.c +18 -0
@@ -54,6 +54,8 @@#include "mem.h" #include "mem_kern.h" +#define DRIVER_NAME "uml-blkdev" +static spinlock_t ubd_io_lock =SPIN_LOCK_UNLOCKED ;static spinlock_t ubd_lock =SPIN_LOCK_UNLOCKED ;
@@ -117,6 +119,7 @@ struct ubd {struct openflags openflags;int no_cow;struct cow cow; +struct platform_device pdev;int map_writes;int map_reads;
@@ -585,6 +588,14 @@ static int ubd_new_disk(int major, u64 ssprintf (disk->devfs_name,"ubd_fake/disc%d" , unit); } +/* sysfs register (not for ide fake devices) */ +if (major ==MAJOR_NR ) { + ubd_dev[unit].pdev.id = unit; + ubd_dev[unit].pdev.name =DRIVER_NAME ; +platform_device_register (&ubd_dev[unit].pdev); + disk->driverfs_dev = &ubd_dev[unit].pdev.dev; + } + disk->private_data = &ubd_dev[unit]; disk->queue = ubd_queue;add_disk (disk);
@@ -718,6 +729,7 @@ static int ubd_remove(char *str) fake_gendisk[n] =NULL ; } +platform_device_unregister (&dev->pdev); *dev = ((struct ubd )DEFAULT_UBD ); err =0 ; out:
@@ -740,6 +752,11 @@ static int ubd_mc_init(void)__initcall (ubd_mc_init); +static struct device_driver ubd_driver = { + .name =DRIVER_NAME , + .bus = &platform_bus_type, +}; +int ubd_init (void ) {int i;
@@ -762,6 +779,7 @@ int ubd_init(void)if (register_blkdev (fake_major,"ubd" ))return -1 ; } +driver_register (&ubd_driver);for (i =0 ; i <MAX_DEV ; i++)ubd_add (i);return 0 ;
Signature · 12 lines
#define printk(args...) fprintf(stderr, ## args) ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel