uint32_t flags = 0;
        int ret = 0;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        if (unlikely(dev_priv->ttm.bdev.dev_mapping == NULL))
                dev_priv->ttm.bdev.dev_mapping = dev_priv->dev->dev_mapping;
 
        struct nouveau_fence *fence = NULL;
        int i, j, ret = 0, do_reloc = 0;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
        NOUVEAU_GET_USER_CHANNEL_WITH_RETURN(req->channel, file_priv, chan);
 
        req->vram_available = dev_priv->fb_aper_free;
        bool no_wait = !!(req->flags & NOUVEAU_GEM_CPU_PREP_NOWAIT);
        int ret = -EINVAL;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        gem = drm_gem_object_lookup(dev, file_priv, req->handle);
        if (!gem)
                return ret;
        struct nouveau_bo *nvbo;
        int ret = -EINVAL;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        gem = drm_gem_object_lookup(dev, file_priv, req->handle);
        if (!gem)
                return ret;
        struct drm_gem_object *gem;
        int ret;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        gem = drm_gem_object_lookup(dev, file_priv, req->handle);
        if (!gem)
                return -EINVAL;
 
        struct nouveau_engine *engine;
        int ret;
 
-       NV_DEBUG(dev, "prev state = %d\n", dev_priv->init_state);
-
-       if (dev_priv->init_state == NOUVEAU_CARD_INIT_DONE)
-               return 0;
-
        vga_client_register(dev->pdev, dev, NULL, nouveau_vga_set_decode);
        vga_switcheroo_register_client(dev->pdev, nouveau_switcheroo_set_state,
                                       nouveau_switcheroo_can_switch);
        if (ret)
                goto out;
        engine = &dev_priv->engine;
-       dev_priv->init_state = NOUVEAU_CARD_INIT_FAILED;
        spin_lock_init(&dev_priv->context_switch_lock);
 
        /* Parse BIOS tables / Run init tables if card not POSTed */
        if (ret)
                NV_ERROR(dev, "Error %d registering backlight\n", ret);
 
-       dev_priv->init_state = NOUVEAU_CARD_INIT_DONE;
-
        nouveau_fbcon_init(dev);
        drm_kms_helper_poll_init(dev);
        return 0;
        struct drm_nouveau_private *dev_priv = dev->dev_private;
        struct nouveau_engine *engine = &dev_priv->engine;
 
-       NV_DEBUG(dev, "prev state = %d\n", dev_priv->init_state);
-
-       if (dev_priv->init_state != NOUVEAU_CARD_INIT_DOWN) {
+       nouveau_backlight_exit(dev);
 
-               nouveau_backlight_exit(dev);
-
-               if (dev_priv->channel) {
-                       nouveau_channel_free(dev_priv->channel);
-                       dev_priv->channel = NULL;
-               }
-
-               if (!nouveau_noaccel) {
-                       engine->fifo.takedown(dev);
-                       engine->graph.takedown(dev);
-               }
-               engine->fb.takedown(dev);
-               engine->timer.takedown(dev);
-               engine->mc.takedown(dev);
+       if (dev_priv->channel) {
+               nouveau_channel_free(dev_priv->channel);
+               dev_priv->channel = NULL;
+       }
 
-               mutex_lock(&dev->struct_mutex);
-               ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
-               ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
-               mutex_unlock(&dev->struct_mutex);
-               nouveau_sgdma_takedown(dev);
+       if (!nouveau_noaccel) {
+               engine->fifo.takedown(dev);
+               engine->graph.takedown(dev);
+       }
+       engine->fb.takedown(dev);
+       engine->timer.takedown(dev);
+       engine->mc.takedown(dev);
 
-               nouveau_gpuobj_takedown(dev);
-               nouveau_mem_close(dev);
-               engine->instmem.takedown(dev);
+       mutex_lock(&dev->struct_mutex);
+       ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_VRAM);
+       ttm_bo_clean_mm(&dev_priv->ttm.bdev, TTM_PL_TT);
+       mutex_unlock(&dev->struct_mutex);
+       nouveau_sgdma_takedown(dev);
 
-               drm_irq_uninstall(dev);
+       nouveau_gpuobj_takedown(dev);
+       nouveau_mem_close(dev);
+       engine->instmem.takedown(dev);
 
-               nouveau_gpuobj_late_takedown(dev);
-               nouveau_bios_takedown(dev);
+       drm_irq_uninstall(dev);
 
-               vga_client_register(dev->pdev, NULL, NULL, NULL);
+       nouveau_gpuobj_late_takedown(dev);
+       nouveau_bios_takedown(dev);
 
-               dev_priv->init_state = NOUVEAU_CARD_INIT_DOWN;
-       }
+       vga_client_register(dev->pdev, NULL, NULL, NULL);
 }
 
 /* here a client dies, release the stuff that was allocated for its
        dev_priv->dev = dev;
 
        dev_priv->flags = flags & NOUVEAU_FLAGS;
-       dev_priv->init_state = NOUVEAU_CARD_INIT_DOWN;
 
        NV_DEBUG(dev, "vendor: 0x%X device: 0x%X class: 0x%X\n",
                 dev->pci_vendor, dev->pci_device, dev->pdev->class);
        struct drm_nouveau_private *dev_priv = dev->dev_private;
        struct drm_nouveau_getparam *getparam = data;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        switch (getparam->param) {
        case NOUVEAU_GETPARAM_CHIPSET_ID:
                getparam->value = dev_priv->chipset;
 {
        struct drm_nouveau_setparam *setparam = data;
 
-       NOUVEAU_CHECK_INITIALISED_WITH_RETURN;
-
        switch (setparam->param) {
        default:
                NV_ERROR(dev, "unknown parameter %lld\n", setparam->param);