Skip to content

Commit

Permalink
lguest: do not statically allocate root device
Browse files Browse the repository at this point in the history
We shouldn't be statically allocating the root device object,
so dynamically allocate it using root_device_register()
instead.

Signed-off-by: Mark McLoughlin <[email protected]>
Acked-by: Rusty Russell <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
markmc authored and gregkh committed Jan 6, 2009
1 parent 63d1255 commit ff8561c
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions drivers/lguest/lguest_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,10 +321,7 @@ static struct virtio_config_ops lguest_config_ops = {

/* The root device for the lguest virtio devices. This makes them appear as
* /sys/devices/lguest/0,1,2 not /sys/devices/0,1,2. */
static struct device lguest_root = {
.parent = NULL,
.bus_id = "lguest",
};
static struct device *lguest_root;

/*D:120 This is the core of the lguest bus: actually adding a new device.
* It's a separate function because it's neater that way, and because an
Expand All @@ -351,7 +348,7 @@ static void add_lguest_device(struct lguest_device_desc *d,
}

/* This devices' parent is the lguest/ dir. */
ldev->vdev.dev.parent = &lguest_root;
ldev->vdev.dev.parent = lguest_root;
/* We have a unique device index thanks to the dev_index counter. */
ldev->vdev.id.device = d->type;
/* We have a simple set of routines for querying the device's
Expand Down Expand Up @@ -407,7 +404,8 @@ static int __init lguest_devices_init(void)
if (strcmp(pv_info.name, "lguest") != 0)
return 0;

if (device_register(&lguest_root) != 0)
lguest_root = root_device_register("lguest");
if (IS_ERR(lguest_root))
panic("Could not register lguest root");

/* Devices are in a single page above top of "normal" mem */
Expand Down

0 comments on commit ff8561c

Please sign in to comment.