Hi all, this series is the first part of cleaning up lifetimes and allocation of the gendisk and request_queue structure. It adds a new interface to allocate the disk and queue together for bio based drivers, and a helper for cleanup/free them when a driver is unloaded or a device is removed. Together this removes the need to treat the gendisk and request_queue as separate entities for bio based drivers. Diffstat: arch/m68k/emu/nfblock.c | 20 +--- arch/xtensa/platforms/iss/simdisk.c | 29 +------ block/blk-core.c | 1 block/blk.h | 6 - block/genhd.c | 149 +++++++++++++++++++----------------- block/partitions/core.c | 19 ++-- drivers/block/brd.c | 94 +++++++--------------- drivers/block/drbd/drbd_main.c | 23 +---- drivers/block/n64cart.c | 8 - drivers/block/null_blk/main.c | 38 ++++----- drivers/block/pktcdvd.c | 11 -- drivers/block/ps3vram.c | 31 +------ drivers/block/rsxx/dev.c | 39 +++------ drivers/block/rsxx/rsxx_priv.h | 1 drivers/block/zram/zram_drv.c | 19 ---- drivers/lightnvm/core.c | 24 +---- drivers/md/bcache/super.c | 15 --- drivers/md/dm.c | 16 +-- drivers/md/md.c | 25 ++---- drivers/memstick/core/ms_block.c | 1 drivers/nvdimm/blk.c | 27 +----- drivers/nvdimm/btt.c | 25 +----- drivers/nvdimm/btt.h | 2 drivers/nvdimm/pmem.c | 17 +--- drivers/nvme/host/core.c | 1 drivers/nvme/host/multipath.c | 46 +++-------- drivers/s390/block/dcssblk.c | 26 +----- drivers/s390/block/xpram.c | 26 ++---- include/linux/blkdev.h | 1 include/linux/genhd.h | 23 +++++ 30 files changed, 297 insertions(+), 466 deletions(-)