pd->write_congestion_off = write_congestion_off;
 
        ret = -ENOMEM;
-       disk = alloc_disk(1);
+       disk = blk_alloc_disk(NUMA_NO_NODE);
        if (!disk)
                goto out_mem;
        pd->disk = disk;
        disk->major = pktdev_major;
        disk->first_minor = idx;
+       disk->minors = 1;
        disk->fops = &pktcdvd_ops;
        disk->flags = GENHD_FL_REMOVABLE;
        strcpy(disk->disk_name, pd->name);
        disk->private_data = pd;
-       disk->queue = blk_alloc_queue(NUMA_NO_NODE);
-       if (!disk->queue)
-               goto out_mem2;
 
        pd->pkt_dev = MKDEV(pktdev_major, idx);
        ret = pkt_new_dev(pd, dev);
        return 0;
 
 out_mem2:
-       put_disk(disk);
+       blk_cleanup_disk(disk);
 out_mem:
        mempool_exit(&pd->rb_pool);
        kfree(pd);
        pkt_dbg(1, pd, "writer unmapped\n");
 
        del_gendisk(pd->disk);
-       blk_cleanup_queue(pd->disk->queue);
-       put_disk(pd->disk);
+       blk_cleanup_disk(pd->disk);
 
        mempool_exit(&pd->rb_pool);
        kfree(pd);