Message ID | 20200415130159.611361-17-its@irrelevant.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvme: refactoring and cleanups | expand |
On Wed, 2020-04-15 at 15:01 +0200, Klaus Jensen wrote: > From: Klaus Jensen <k.jensen@samsung.com> > > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/block/nvme.c | 52 +++++++++++++++++++++++++++---------------------- > 1 file changed, 29 insertions(+), 23 deletions(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 4c28d75e0fc8..804f24719dce 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -1422,32 +1422,11 @@ static void nvme_init_pci(NvmeCtrl *n, PCIDevice *pci_dev) > } > } > > -static void nvme_realize(PCIDevice *pci_dev, Error **errp) > +static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev) > { > - NvmeCtrl *n = NVME(pci_dev); > NvmeIdCtrl *id = &n->id_ctrl; > - Error *err = NULL; > + uint8_t *pci_conf = pci_dev->config; > > - int i; > - uint8_t *pci_conf; > - > - nvme_check_constraints(n, &err); > - if (err) { > - error_propagate(errp, err); > - return; > - } > - > - nvme_init_state(n); > - > - nvme_init_blk(n, &err); > - if (err) { > - error_propagate(errp, err); > - return; > - } > - > - nvme_init_pci(n, pci_dev); > - > - pci_conf = pci_dev->config; > id->vid = cpu_to_le16(pci_get_word(pci_conf + PCI_VENDOR_ID)); > id->ssvid = cpu_to_le16(pci_get_word(pci_conf + PCI_SUBSYSTEM_VENDOR_ID)); > strpadcpy((char *)id->mn, sizeof(id->mn), "QEMU NVMe Ctrl", ' '); > @@ -1481,6 +1460,33 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp) > n->bar.vs = 0x00010200; > n->bar.intmc = n->bar.intms = 0; > > + > +} > + > +static void nvme_realize(PCIDevice *pci_dev, Error **errp) > +{ > + NvmeCtrl *n = NVME(pci_dev); > + Error *err = NULL; > + > + int i; > + > + nvme_check_constraints(n, &err); > + if (err) { > + error_propagate(errp, err); > + return; > + } > + > + > + nvme_init_state(n); > + nvme_init_blk(n, &err); > + if (err) { > + error_propagate(errp, err); > + return; > + } > + > + nvme_init_pci(n, pci_dev); > + nvme_init_ctrl(n, pci_dev); > + > for (i = 0; i < n->num_namespaces; i++) { > nvme_init_namespace(n, &n->namespaces[i], &err); > if (err) { Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Best regards, Maxim Levitsky
diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 4c28d75e0fc8..804f24719dce 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -1422,32 +1422,11 @@ static void nvme_init_pci(NvmeCtrl *n, PCIDevice *pci_dev) } } -static void nvme_realize(PCIDevice *pci_dev, Error **errp) +static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev) { - NvmeCtrl *n = NVME(pci_dev); NvmeIdCtrl *id = &n->id_ctrl; - Error *err = NULL; + uint8_t *pci_conf = pci_dev->config; - int i; - uint8_t *pci_conf; - - nvme_check_constraints(n, &err); - if (err) { - error_propagate(errp, err); - return; - } - - nvme_init_state(n); - - nvme_init_blk(n, &err); - if (err) { - error_propagate(errp, err); - return; - } - - nvme_init_pci(n, pci_dev); - - pci_conf = pci_dev->config; id->vid = cpu_to_le16(pci_get_word(pci_conf + PCI_VENDOR_ID)); id->ssvid = cpu_to_le16(pci_get_word(pci_conf + PCI_SUBSYSTEM_VENDOR_ID)); strpadcpy((char *)id->mn, sizeof(id->mn), "QEMU NVMe Ctrl", ' '); @@ -1481,6 +1460,33 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp) n->bar.vs = 0x00010200; n->bar.intmc = n->bar.intms = 0; + +} + +static void nvme_realize(PCIDevice *pci_dev, Error **errp) +{ + NvmeCtrl *n = NVME(pci_dev); + Error *err = NULL; + + int i; + + nvme_check_constraints(n, &err); + if (err) { + error_propagate(errp, err); + return; + } + + + nvme_init_state(n); + nvme_init_blk(n, &err); + if (err) { + error_propagate(errp, err); + return; + } + + nvme_init_pci(n, pci_dev); + nvme_init_ctrl(n, pci_dev); + for (i = 0; i < n->num_namespaces; i++) { nvme_init_namespace(n, &n->namespaces[i], &err); if (err) {