[PATCH] Move nvme driver source into subdirectory and move pci specifics from core into separate file

Ming Lin mlin at kernel.org
Fri Sep 25 22:32:36 PDT 2015


On Thu, Sep 24, 2015 at 5:02 PM, Christoph Hellwig <hch at infradead.org> wrote:
> Hi J,
>
> thanks for starting this important work, but I think we need to do
> this in smaller steps.  This large patch does a few things at the same
> time:
>
>  - move files to a new directory
>  - split data structures
>  - split files
>  - introduces a new internal API
>
> Which need to be split over a few patches.  I'd suggest we start with
> the easiest and most important parts first and then iterate through the
> rest.
>
> My suggestion would be:
>
>  a) move files to a new directory.  My suggestion for that would be
>     driver/nvme/host/ as I have a software NVMe controller
>     implementation under development which I'd like to also add under
>     a different subdirectory of drivers/nvme.

What's the "software NVMe controller"? Is it the initiator for NVMe
over fabrics?

>  b) start splitting struct nvme_dev into a generic struct nvme_ctrl
>     and a PCI-specific nvme_pci_ctrl

Nice. I'll possibly have a virtio-specific nvme_virtio_ctrl.

>
> Based on that we can start thinking about an API and move the PCI code
> to it's own file.  Note that most of your operations should not be
> needed.  With my ongoing work we now have the nvme_submit*cmd* APIs
> that give a nice separatation for anything related to NVMe commans,
> so we'd just need abstractions for the BAR access.



More information about the Linux-nvme mailing list