PCI: endpoint: pci-epf-test: Clean up pci_epf_test_unbind()
authorNiklas Cassel <cassel@kernel.org>
Wed, 20 Mar 2024 11:31:52 +0000 (12:31 +0100)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 10 Apr 2024 18:02:04 +0000 (18:02 +0000)
Clean up pci_epf_test_unbind() by using a continue if we did not allocate
memory for the BAR index. This reduces the indentation level by one.

This makes pci_epf_test_unbind() more similar to pci_epf_test_set_bar().

Link: https://lore.kernel.org/linux-pci/20240320113157.322695-6-cassel@kernel.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/endpoint/functions/pci-epf-test.c

index faf347216b6bd9c68692450a88543f86adb6adf0..d244a5083d04d3230bd5ead5abc419619f1e281a 100644 (file)
@@ -690,20 +690,18 @@ static void pci_epf_test_unbind(struct pci_epf *epf)
 {
        struct pci_epf_test *epf_test = epf_get_drvdata(epf);
        struct pci_epc *epc = epf->epc;
-       struct pci_epf_bar *epf_bar;
        int bar;
 
        cancel_delayed_work(&epf_test->cmd_handler);
        pci_epf_test_clean_dma_chan(epf_test);
        for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
-               epf_bar = &epf->bar[bar];
+               if (!epf_test->reg[bar])
+                       continue;
 
-               if (epf_test->reg[bar]) {
-                       pci_epc_clear_bar(epc, epf->func_no, epf->vfunc_no,
-                                         epf_bar);
-                       pci_epf_free_space(epf, epf_test->reg[bar], bar,
-                                          PRIMARY_INTERFACE);
-               }
+               pci_epc_clear_bar(epc, epf->func_no, epf->vfunc_no,
+                                 &epf->bar[bar]);
+               pci_epf_free_space(epf, epf_test->reg[bar], bar,
+                                  PRIMARY_INTERFACE);
        }
 }