]> git.baikalelectronics.ru Git - kernel.git/commit
nvme: move chardev and sysfs interface to common code
authorChristoph Hellwig <hch@lst.de>
Sat, 28 Nov 2015 14:40:19 +0000 (15:40 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 1 Dec 2015 17:59:40 +0000 (10:59 -0700)
commitc4d837a461078874a488ab79ce3bd99d8621cf87
tree1db6d155210c4f11a48a2285eb7691313fa73496
parent534aa592eacfec278bcad4c12b3c5ff3835e8259
nvme: move chardev and sysfs interface to common code

For this we need to add a proper controller init routine and a list of
all controllers that is in addition to the list of PCIe controllers,
which stays in pci.c.  Note that we remove the sysfs device when the
last reference to a controller is dropped now - the old code would have
kept it around longer, which doesn't make much sense.

This requires a new ->reset_ctrl operation to implement controleller
resets, and a new ->write_reg32 operation that is required to implement
subsystem resets.  We also now store caches copied of the NVMe compliance
version and the flag if a controller is attached to a subsystem or not in
the generic controller structure now.

Signed-off-by: Christoph Hellwig <hch@lst.de>
[Fixes for pr merge]
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c
drivers/nvme/host/scsi.c