aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2008-12-15 07:58:28 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-01-06 13:44:34 -0500
commitff8561c4ad09ca38c866436c9d67df2309b7dd40 (patch)
tree7cc96a3fcaf43b1e34dfcffd4d936edf9b596a6a /drivers
parent63d12556703f17817a46e140704360b29b851bad (diff)
lguest: do not statically allocate root device
We shouldn't be statically allocating the root device object, so dynamically allocate it using root_device_register() instead. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Acked-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/lguest/lguest_device.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/lguest/lguest_device.c b/drivers/lguest/lguest_device.c
index 915da6b8c924..b4d44e571d76 100644
--- a/drivers/lguest/lguest_device.c
+++ b/drivers/lguest/lguest_device.c
@@ -321,10 +321,7 @@ static struct virtio_config_ops lguest_config_ops = {
321 321
322/* The root device for the lguest virtio devices. This makes them appear as 322/* The root device for the lguest virtio devices. This makes them appear as
323 * /sys/devices/lguest/0,1,2 not /sys/devices/0,1,2. */ 323 * /sys/devices/lguest/0,1,2 not /sys/devices/0,1,2. */
324static struct device lguest_root = { 324static struct device *lguest_root;
325 .parent = NULL,
326 .bus_id = "lguest",
327};
328 325
329/*D:120 This is the core of the lguest bus: actually adding a new device. 326/*D:120 This is the core of the lguest bus: actually adding a new device.
330 * It's a separate function because it's neater that way, and because an 327 * It's a separate function because it's neater that way, and because an
@@ -351,7 +348,7 @@ static void add_lguest_device(struct lguest_device_desc *d,
351 } 348 }
352 349
353 /* This devices' parent is the lguest/ dir. */ 350 /* This devices' parent is the lguest/ dir. */
354 ldev->vdev.dev.parent = &lguest_root; 351 ldev->vdev.dev.parent = lguest_root;
355 /* We have a unique device index thanks to the dev_index counter. */ 352 /* We have a unique device index thanks to the dev_index counter. */
356 ldev->vdev.id.device = d->type; 353 ldev->vdev.id.device = d->type;
357 /* We have a simple set of routines for querying the device's 354 /* We have a simple set of routines for querying the device's
@@ -407,7 +404,8 @@ static int __init lguest_devices_init(void)
407 if (strcmp(pv_info.name, "lguest") != 0) 404 if (strcmp(pv_info.name, "lguest") != 0)
408 return 0; 405 return 0;
409 406
410 if (device_register(&lguest_root) != 0) 407 lguest_root = root_device_register("lguest");
408 if (IS_ERR(lguest_root))
411 panic("Could not register lguest root"); 409 panic("Could not register lguest root");
412 410
413 /* Devices are in a single page above top of "normal" mem */ 411 /* Devices are in a single page above top of "normal" mem */