From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.11] helo=sc8-sf-mx1.sourceforge.net) by sc8-sf-list1.sourceforge.net with esmtp (Exim 4.30) id 1CbgpB-0001M6-Uu for user-mode-linux-devel@lists.sourceforge.net; Tue, 07 Dec 2004 07:00:21 -0800 Received: from hirsch.in-berlin.de ([192.109.42.6] ident=root) by sc8-sf-mx1.sourceforge.net with esmtp (TLSv1:AES256-SHA:256) (Exim 4.41) id 1CbgpB-0001H4-2u for user-mode-linux-devel@lists.sourceforge.net; Tue, 07 Dec 2004 07:00:21 -0800 From: Gerd Knorr Message-ID: <20041207143913.GA23659@bytesex> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [uml-devel] [patch] uml: sysfs support for the uml block devices. Sender: user-mode-linux-devel-admin@lists.sourceforge.net Errors-To: user-mode-linux-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: The user-mode Linux development list List-Post: List-Help: List-Subscribe: , List-Archive: Date: Tue, 7 Dec 2004 15:39:13 +0100 To: Andrew Morton , Linux Kernel Mailing List , uml devel , Jeff Dike , Blaisorblade $subject says all ;) Signed-off-by: Gerd Knorr --- arch/um/drivers/ubd_kern.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+) Index: linux-2004-11-23/arch/um/drivers/ubd_kern.c =================================================================== --- linux-2004-11-23.orig/arch/um/drivers/ubd_kern.c 2004-11-24 12:52:38.000000000 +0100 +++ linux-2004-11-23/arch/um/drivers/ubd_kern.c 2004-11-26 17:29:27.138934607 +0100 @@ -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 s sprintf(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; -- #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 User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261826AbULGPCU (ORCPT ); Tue, 7 Dec 2004 10:02:20 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261828AbULGPBH (ORCPT ); Tue, 7 Dec 2004 10:01:07 -0500 Received: from hirsch.in-berlin.de ([192.109.42.6]:45549 "EHLO hirsch.in-berlin.de") by vger.kernel.org with ESMTP id S261823AbULGPA0 (ORCPT ); Tue, 7 Dec 2004 10:00:26 -0500 X-Envelope-From: kraxel@bytesex.org Date: Tue, 7 Dec 2004 15:39:13 +0100 From: Gerd Knorr To: Andrew Morton , Linux Kernel Mailing List , uml devel , Jeff Dike , Blaisorblade Subject: [patch] uml: sysfs support for the uml block devices. Message-ID: <20041207143913.GA23659@bytesex> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org $subject says all ;) Signed-off-by: Gerd Knorr --- arch/um/drivers/ubd_kern.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+) Index: linux-2004-11-23/arch/um/drivers/ubd_kern.c =================================================================== --- linux-2004-11-23.orig/arch/um/drivers/ubd_kern.c 2004-11-24 12:52:38.000000000 +0100 +++ linux-2004-11-23/arch/um/drivers/ubd_kern.c 2004-11-26 17:29:27.138934607 +0100 @@ -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 s sprintf(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; -- #define printk(args...) fprintf(stderr, ## args)