These were once used by used by userspace tools (with nvkm built as a
library), to access multiple GPUs from a single nvif_client.

The DRM code just uses the driver's default device, so remove the
arguments.

Signed-off-by: Ben Skeggs <bske...@nvidia.com>
---
 drivers/gpu/drm/nouveau/include/nvif/cl0080.h |  7 ----
 drivers/gpu/drm/nouveau/include/nvif/device.h |  3 +-
 drivers/gpu/drm/nouveau/nouveau_drm.c         |  7 +---
 drivers/gpu/drm/nouveau/nvif/device.c         |  9 +++--
 .../gpu/drm/nouveau/nvkm/engine/device/user.c | 36 ++-----------------
 5 files changed, 9 insertions(+), 53 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/include/nvif/cl0080.h 
b/drivers/gpu/drm/nouveau/include/nvif/cl0080.h
index fa161b74d967..ea937fa7bc55 100644
--- a/drivers/gpu/drm/nouveau/include/nvif/cl0080.h
+++ b/drivers/gpu/drm/nouveau/include/nvif/cl0080.h
@@ -2,13 +2,6 @@
 #ifndef __NVIF_CL0080_H__
 #define __NVIF_CL0080_H__
 
-struct nv_device_v0 {
-       __u8  version;
-       __u8  priv;
-       __u8  pad02[6];
-       __u64 device;   /* device identifier, ~0 for client default */
-};
-
 #define NV_DEVICE_V0_INFO                                                  0x00
 #define NV_DEVICE_V0_TIME                                                  0x01
 
diff --git a/drivers/gpu/drm/nouveau/include/nvif/device.h 
b/drivers/gpu/drm/nouveau/include/nvif/device.h
index b0e59800a320..f7c1b3a43c84 100644
--- a/drivers/gpu/drm/nouveau/include/nvif/device.h
+++ b/drivers/gpu/drm/nouveau/include/nvif/device.h
@@ -18,8 +18,7 @@ struct nvif_device {
        struct nvif_user user;
 };
 
-int  nvif_device_ctor(struct nvif_object *, const char *name, u32 handle,
-                     s32 oclass, void *, u32, struct nvif_device *);
+int  nvif_device_ctor(struct nvif_client *, const char *name, struct 
nvif_device *);
 void nvif_device_dtor(struct nvif_device *);
 u64  nvif_device_time(struct nvif_device *);
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c 
b/drivers/gpu/drm/nouveau/nouveau_drm.c
index 8bcfc1f47a26..22cdd987dd2f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -261,12 +261,7 @@ nouveau_cli_init(struct nouveau_drm *drm, const char 
*sname,
                goto done;
        }
 
-       ret = nvif_device_ctor(&cli->base.object, "drmDevice", 0, NV_DEVICE,
-                              &(struct nv_device_v0) {
-                                       .device = ~0,
-                                       .priv = true,
-                              }, sizeof(struct nv_device_v0),
-                              &cli->device);
+       ret = nvif_device_ctor(&cli->base, "drmDevice", &cli->device);
        if (ret) {
                NV_PRINTK(err, cli, "Device allocation failed: %d\n", ret);
                goto done;
diff --git a/drivers/gpu/drm/nouveau/nvif/device.c 
b/drivers/gpu/drm/nouveau/nvif/device.c
index 8c3d883f3313..b14bccb9a93f 100644
--- a/drivers/gpu/drm/nouveau/nvif/device.c
+++ b/drivers/gpu/drm/nouveau/nvif/device.c
@@ -21,8 +21,8 @@
  *
  * Authors: Ben Skeggs <bske...@redhat.com>
  */
-
 #include <nvif/device.h>
+#include <nvif/client.h>
 
 u64
 nvif_device_time(struct nvif_device *device)
@@ -48,11 +48,10 @@ nvif_device_dtor(struct nvif_device *device)
 }
 
 int
-nvif_device_ctor(struct nvif_object *parent, const char *name, u32 handle,
-                s32 oclass, void *data, u32 size, struct nvif_device *device)
+nvif_device_ctor(struct nvif_client *client, const char *name, struct 
nvif_device *device)
 {
-       int ret = nvif_object_ctor(parent, name ? name : "nvifDevice", handle,
-                                  oclass, data, size, &device->object);
+       int ret = nvif_object_ctor(&client->object, name ? name : "nvifDevice", 
0,
+                                  0x0080, NULL, 0, &device->object);
        device->runlist = NULL;
        device->user.func = NULL;
        if (ret == 0) {
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c 
b/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
index d937c54e8dfa..65bd6712bce2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
@@ -357,7 +357,7 @@ nvkm_udevice_child_get(struct nvkm_object *object, int 
index,
 }
 
 static const struct nvkm_object_func
-nvkm_udevice_super = {
+nvkm_udevice = {
        .init = nvkm_udevice_init,
        .fini = nvkm_udevice_fini,
        .mthd = nvkm_udevice_mthd,
@@ -371,50 +371,20 @@ nvkm_udevice_super = {
        .sclass = nvkm_udevice_child_get,
 };
 
-static const struct nvkm_object_func
-nvkm_udevice = {
-       .init = nvkm_udevice_init,
-       .fini = nvkm_udevice_fini,
-       .mthd = nvkm_udevice_mthd,
-       .sclass = nvkm_udevice_child_get,
-};
-
 static int
 nvkm_udevice_new(const struct nvkm_oclass *oclass, void *data, u32 size,
                 struct nvkm_object **pobject)
 {
-       union {
-               struct nv_device_v0 v0;
-       } *args = data;
        struct nvkm_client *client = oclass->client;
-       struct nvkm_object *parent = &client->object;
-       const struct nvkm_object_func *func;
        struct nvkm_udevice *udev;
-       int ret = -ENOSYS;
-
-       nvif_ioctl(parent, "create device size %d\n", size);
-       if (!(ret = nvif_unpack(ret, &data, &size, args->v0, 0, 0, false))) {
-               nvif_ioctl(parent, "create device v%d device %016llx\n",
-                          args->v0.version, args->v0.device);
-       } else
-               return ret;
-
-       /* give priviledged clients register access */
-       if (args->v0.priv)
-               func = &nvkm_udevice_super;
-       else
-               func = &nvkm_udevice;
 
        if (!(udev = kzalloc(sizeof(*udev), GFP_KERNEL)))
                return -ENOMEM;
-       nvkm_object_ctor(func, oclass, &udev->object);
+       nvkm_object_ctor(&nvkm_udevice, oclass, &udev->object);
        *pobject = &udev->object;
 
        /* find the device that matches what the client requested */
-       if (args->v0.device != ~0)
-               udev->device = nvkm_device_find(args->v0.device);
-       else
-               udev->device = nvkm_device_find(client->device);
+       udev->device = nvkm_device_find(client->device);
        if (!udev->device)
                return -ENODEV;
 
-- 
2.45.1

Reply via email to