mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Mark McLoughlin <markmc@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 21/60] virtio: do not statically allocate root device
Date: Tue,  6 Jan 2009 14:11:40 -0800	[thread overview]
Message-ID: <1231279939-32728-21-git-send-email-gregkh@suse.de> (raw)
In-Reply-To: <20090106221123.GA32689@kroah.com>

From: Mark McLoughlin <markmc@redhat.com>

We shouldn't be statically allocating the root device object,
so dynamically allocate it using root_device_register()
instead.

Also avoids this warning from 'rmmod virtio_pci':

  Device 'virtio-pci' does not have a release() function, it is broken and must be fixed

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/virtio/virtio_pci.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 265fdf2..bef6b45 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -73,10 +73,7 @@ MODULE_DEVICE_TABLE(pci, virtio_pci_id_table);
 /* A PCI device has it's own struct device and so does a virtio device so
  * we create a place for the virtio devices to show up in sysfs.  I think it
  * would make more sense for virtio to not insist on having it's own device. */
-static struct device virtio_pci_root = {
-	.parent		= NULL,
-	.init_name	= "virtio-pci",
-};
+static struct device *virtio_pci_root;
 
 /* Convert a generic virtio device to our structure */
 static struct virtio_pci_device *to_vp_device(struct virtio_device *vdev)
@@ -343,7 +340,7 @@ static int __devinit virtio_pci_probe(struct pci_dev *pci_dev,
 	if (vp_dev == NULL)
 		return -ENOMEM;
 
-	vp_dev->vdev.dev.parent = &virtio_pci_root;
+	vp_dev->vdev.dev.parent = virtio_pci_root;
 	vp_dev->vdev.dev.release = virtio_pci_release_dev;
 	vp_dev->vdev.config = &virtio_pci_config_ops;
 	vp_dev->pci_dev = pci_dev;
@@ -437,13 +434,13 @@ static int __init virtio_pci_init(void)
 {
 	int err;
 
-	err = device_register(&virtio_pci_root);
-	if (err)
-		return err;
+	virtio_pci_root = root_device_register("virtio-pci");
+	if (IS_ERR(virtio_pci_root))
+		return PTR_ERR(virtio_pci_root);
 
 	err = pci_register_driver(&virtio_pci_driver);
 	if (err)
-		device_unregister(&virtio_pci_root);
+		device_unregister(virtio_pci_root);
 
 	return err;
 }
@@ -452,8 +449,8 @@ module_init(virtio_pci_init);
 
 static void __exit virtio_pci_exit(void)
 {
-	device_unregister(&virtio_pci_root);
 	pci_unregister_driver(&virtio_pci_driver);
+	root_device_unregister(virtio_pci_root);
 }
 
 module_exit(virtio_pci_exit);
-- 
1.6.0.4


  parent reply	other threads:[~2009-01-06 22:20 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-06 22:11 [GIT PATCH] driver core patches for your 2.6-git tree Greg KH
2009-01-06 22:11 ` [PATCH 01/60] PM: Simplify the new suspend/hibernation framework for devices Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 02/60] Fix misspellings in pm.h macros Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 03/60] driver core: Rearrange struct device for better packing Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 04/60] driver core: Remove completion from struct klist_node Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 05/60] driver core: struct device - replace bus_id with dev_name(), dev_set_name() Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 06/60] sysfs: clarify SYSFS_DEPRECATED help text Greg Kroah-Hartman
2009-01-07  9:21   ` Mikael Pettersson
2009-01-07 19:38     ` Greg KH
2009-01-06 22:11 ` [PATCH 07/60] uevent: don't pass envp_ext[] as format string in kobject_uevent_env() Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 08/60] kobject: return the result of uevent sending by netlink Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 09/60] kernel/ksysfs.c:fix dependence on CONFIG_NET Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 10/60] PCI: Rework default handling of suspend and resume Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 11/60] kobject: Make Documentation/kobject.txt a little more coherent Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 12/60] dynamic_printk: reduce one level of indentation Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 13/60] driver core: create a private portion of struct device Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 14/60] driver core: move klist_children into private structure Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 15/60] driver core: move knode_driver " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 16/60] driver core: move knode_bus " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 17/60] Make DEBUG take precedence over DYNAMIC_PRINTK_DEBUG Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 18/60] Driver core: move the bus notifier call points Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 19/60] driver core:fix duplicate removing driver link in __device_release_driver Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 20/60] driver core: add root_device_register() Greg Kroah-Hartman
2009-01-06 22:11 ` Greg Kroah-Hartman [this message]
2009-01-06 22:11 ` [PATCH 22/60] lguest: do not statically allocate root device Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 23/60] s390: remove s390_root_dev_*() Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 24/60] xen: struct device - replace bus_id with dev_name(), dev_set_name() Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 25/60] w1: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 26/60] video: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 27/60] tifm: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 28/60] thermal: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 29/60] swiotlb: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 30/60] spi: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 31/60] SGI: " Greg Kroah-Hartman
2009-01-06 23:03   ` Jack Steiner
2009-01-06 22:11 ` [PATCH 32/60] serial: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 33/60] power-supply: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 34/60] pnp: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 35/60] mwave: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 36/60] mtd: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 37/60] mips: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 38/60] memstick: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 39/60] macintosh: " Greg Kroah-Hartman
2009-01-06 22:11 ` [PATCH 40/60] pm: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 41/60] ISDN: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 42/60] infiniband: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 43/60] i7300_idle: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 44/60] IA64: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 45/60] i2o: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 46/60] hwmon: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 47/60] gpu: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 48/60] gpio: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 49/60] gadget: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 50/60] dmi: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 51/60] chris: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 52/60] block: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 53/60] avr: " Greg Kroah-Hartman
2009-01-07  8:54   ` Haavard Skinnemoen
2009-01-07 19:36     ` Greg KH
2009-01-06 22:12 ` [PATCH 54/60] libata: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 55/60] arm: " Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 56/60] UIO: use pci_ioremap_bar() in drivers/uio Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 57/60] UIO: uio_pdrv_genirq: allow custom irq_flags Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 58/60] UIO: Pass information about ioports to userspace (V2) Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 59/60] UIO: Documentation for UIO ioport info handling Greg Kroah-Hartman
2009-01-06 22:12 ` [PATCH 60/60] uio: make uio_info's name and version const Greg Kroah-Hartman
2009-01-06 23:23 ` [GIT PATCH] driver core patches for your 2.6-git tree Hans J. Koch
2009-01-07  0:36   ` Greg KH
2009-01-07 11:33 ` [PATCH 41/60] ISDN: struct device - replace bus_id with dev_name(), dev_set_name() Karsten Keil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1231279939-32728-21-git-send-email-gregkh@suse.de \
    --to=gregkh@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markmc@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®