aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_debugfs.c
diff options
context:
space:
mode:
authorKarol Herbst <nouveau@karolherbst.de>2015-07-30 11:52:23 +0200
committerBen Skeggs <bskeggs@redhat.com>2016-01-11 11:28:25 +1000
commitb126a200e9dbd90fbe2148ee572dd0c2508be81f (patch)
tree5038256b4c4d8ea147767d36403367292a2ec67c /drivers/gpu/drm/nouveau/nouveau_debugfs.c
parentdrm/nouveau/debugfs: rename functions to indicate they are used inside drm (diff)
downloadlinux-dev-b126a200e9dbd90fbe2148ee572dd0c2508be81f.tar.xz
linux-dev-b126a200e9dbd90fbe2148ee572dd0c2508be81f.zip
drm/nouveau/debugfs: we need a ctrl object for debugfs
Signed-off-by: Karol Herbst <nouveau@karolherbst.de> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_debugfs.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_debugfs.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_debugfs.c b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
index 5085c9818140..fd4140be5472 100644
--- a/drivers/gpu/drm/nouveau/nouveau_debugfs.c
+++ b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
@@ -29,6 +29,7 @@
*/
#include <linux/debugfs.h>
+#include <nvif/class.h>
#include "nouveau_debugfs.h"
#include "nouveau_drm.h"
@@ -112,3 +113,30 @@ nouveau_drm_debugfs_cleanup(struct drm_minor *minor)
1, minor);
}
}
+
+int
+nouveau_debugfs_init(struct nouveau_drm *drm)
+{
+ int ret;
+
+ drm->debugfs = kzalloc(sizeof(*drm->debugfs), GFP_KERNEL);
+ if (!drm->debugfs)
+ return -ENOMEM;
+
+ ret = nvif_object_init(&drm->device.object, 0, NVIF_CLASS_CONTROL,
+ NULL, 0, &drm->debugfs->ctrl);
+ if (ret)
+ return ret;
+
+ return 0;
+}
+
+void
+nouveau_debugfs_fini(struct nouveau_drm *drm)
+{
+ if (drm->debugfs && drm->debugfs->ctrl.priv)
+ nvif_object_fini(&drm->debugfs->ctrl);
+
+ kfree(drm->debugfs);
+ drm->debugfs = NULL;
+}