Skip to content

Commit

Permalink
drm/nouveau/device: enable proper constructor/destructor
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Apr 26, 2013
1 parent 9aecbad commit 066a5d0
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion drivers/gpu/drm/nouveau/core/engine/device/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,20 @@ nouveau_device_sclass[] = {
{}
};

static int
nouveau_device_fini(struct nouveau_object *object, bool suspend)
{
struct nouveau_device *device = (void *)object;
return nouveau_subdev_fini(&device->base, suspend);
}

static int
nouveau_device_init(struct nouveau_object *object)
{
struct nouveau_device *device = (void *)object;
return nouveau_subdev_init(&device->base);
}

static void
nouveau_device_dtor(struct nouveau_object *object)
{
Expand All @@ -439,6 +453,8 @@ nouveau_device_oclass = {
.handle = NV_ENGINE(DEVICE, 0x00),
.ofuncs = &(struct nouveau_ofuncs) {
.dtor = nouveau_device_dtor,
.init = nouveau_device_init,
.fini = nouveau_device_fini,
},
};

Expand All @@ -462,7 +478,6 @@ nouveau_device_create_(struct pci_dev *pdev, u64 name, const char *sname,
if (ret)
goto done;

atomic_set(&nv_object(device)->usecount, 2);
device->pdev = pdev;
device->handle = name;
device->cfgopt = cfg;
Expand Down

0 comments on commit 066a5d0

Please sign in to comment.