Merge tag 'v4.11-rc1' into patchwork
[linux-2.6-microblaze.git] / drivers / gpu / drm / nouveau / nouveau_nvif.c
index 15f0925..b3f29b1 100644 (file)
@@ -60,20 +60,15 @@ nvkm_client_ioctl(void *priv, bool super, void *data, u32 size, void **hack)
 static int
 nvkm_client_resume(void *priv)
 {
-       return nvkm_client_init(priv);
+       struct nvkm_client *client = priv;
+       return nvkm_object_init(&client->object);
 }
 
 static int
 nvkm_client_suspend(void *priv)
-{
-       return nvkm_client_fini(priv, true);
-}
-
-static void
-nvkm_client_driver_fini(void *priv)
 {
        struct nvkm_client *client = priv;
-       nvkm_client_del(&client);
+       return nvkm_object_fini(&client->object, true);
 }
 
 static int
@@ -108,23 +103,14 @@ static int
 nvkm_client_driver_init(const char *name, u64 device, const char *cfg,
                        const char *dbg, void **ppriv)
 {
-       struct nvkm_client *client;
-       int ret;
-
-       ret = nvkm_client_new(name, device, cfg, dbg, &client);
-       *ppriv = client;
-       if (ret)
-               return ret;
-
-       client->ntfy = nvkm_client_ntfy;
-       return 0;
+       return nvkm_client_new(name, device, cfg, dbg, nvkm_client_ntfy,
+                              (struct nvkm_client **)ppriv);
 }
 
 const struct nvif_driver
 nvif_driver_nvkm = {
        .name = "nvkm",
        .init = nvkm_client_driver_init,
-       .fini = nvkm_client_driver_fini,
        .suspend = nvkm_client_suspend,
        .resume = nvkm_client_resume,
        .ioctl = nvkm_client_ioctl,