Skip to content

Commit 2eec4be

Browse files
damien-lemoalbjorn-helgaas
authored andcommitted
PCI: epf-test: Cleanup request result handling
Each of the test functions pci_epf_test_write(), pci_epf_test_read() and pci_epf_test_copy() return an int result which is used by pci_epf_test_cmd_handler() to set a success or error bit in the request status. In the spirit of keeping the processing of each test case self-contained within its own test function, move the request status field update from pci_epf_test_cmd_handler() to each of these test functions and change these functions declaration to returning void. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Damien Le Moal <[email protected]> Signed-off-by: Lorenzo Pieralisi <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Manivannan Sadhasivam <[email protected]>
1 parent 96d513f commit 2eec4be

File tree

1 file changed

+21
-25
lines changed

1 file changed

+21
-25
lines changed

drivers/pci/endpoint/functions/pci-epf-test.c

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,8 @@ static void pci_epf_test_print_rate(const char *ops, u64 size,
325325
(u64)ts.tv_sec, (u32)ts.tv_nsec, rate / 1024);
326326
}
327327

328-
static int pci_epf_test_copy(struct pci_epf_test *epf_test,
329-
struct pci_epf_test_reg *reg)
328+
static void pci_epf_test_copy(struct pci_epf_test *epf_test,
329+
struct pci_epf_test_reg *reg)
330330
{
331331
int ret;
332332
bool use_dma;
@@ -420,11 +420,14 @@ static int pci_epf_test_copy(struct pci_epf_test *epf_test,
420420
pci_epc_mem_free_addr(epc, src_phys_addr, src_addr, reg->size);
421421

422422
err:
423-
return ret;
423+
if (!ret)
424+
reg->status |= STATUS_COPY_SUCCESS;
425+
else
426+
reg->status |= STATUS_COPY_FAIL;
424427
}
425428

426-
static int pci_epf_test_read(struct pci_epf_test *epf_test,
427-
struct pci_epf_test_reg *reg)
429+
static void pci_epf_test_read(struct pci_epf_test *epf_test,
430+
struct pci_epf_test_reg *reg)
428431
{
429432
int ret;
430433
void __iomem *src_addr;
@@ -509,11 +512,14 @@ static int pci_epf_test_read(struct pci_epf_test *epf_test,
509512
pci_epc_mem_free_addr(epc, phys_addr, src_addr, reg->size);
510513

511514
err:
512-
return ret;
515+
if (!ret)
516+
reg->status |= STATUS_READ_SUCCESS;
517+
else
518+
reg->status |= STATUS_READ_FAIL;
513519
}
514520

515-
static int pci_epf_test_write(struct pci_epf_test *epf_test,
516-
struct pci_epf_test_reg *reg)
521+
static void pci_epf_test_write(struct pci_epf_test *epf_test,
522+
struct pci_epf_test_reg *reg)
517523
{
518524
int ret;
519525
void __iomem *dst_addr;
@@ -604,7 +610,10 @@ static int pci_epf_test_write(struct pci_epf_test *epf_test,
604610
pci_epc_mem_free_addr(epc, phys_addr, dst_addr, reg->size);
605611

606612
err:
607-
return ret;
613+
if (!ret)
614+
reg->status |= STATUS_WRITE_SUCCESS;
615+
else
616+
reg->status |= STATUS_WRITE_FAIL;
608617
}
609618

610619
static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
@@ -655,7 +664,6 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
655664

656665
static void pci_epf_test_cmd_handler(struct work_struct *work)
657666
{
658-
int ret;
659667
u32 command;
660668
struct pci_epf_test *epf_test = container_of(work, struct pci_epf_test,
661669
cmd_handler.work);
@@ -683,27 +691,15 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
683691
pci_epf_test_raise_irq(epf_test, reg);
684692
break;
685693
case COMMAND_WRITE:
686-
ret = pci_epf_test_write(epf_test, reg);
687-
if (ret)
688-
reg->status |= STATUS_WRITE_FAIL;
689-
else
690-
reg->status |= STATUS_WRITE_SUCCESS;
694+
pci_epf_test_write(epf_test, reg);
691695
pci_epf_test_raise_irq(epf_test, reg);
692696
break;
693697
case COMMAND_READ:
694-
ret = pci_epf_test_read(epf_test, reg);
695-
if (!ret)
696-
reg->status |= STATUS_READ_SUCCESS;
697-
else
698-
reg->status |= STATUS_READ_FAIL;
698+
pci_epf_test_read(epf_test, reg);
699699
pci_epf_test_raise_irq(epf_test, reg);
700700
break;
701701
case COMMAND_COPY:
702-
ret = pci_epf_test_copy(epf_test, reg);
703-
if (!ret)
704-
reg->status |= STATUS_COPY_SUCCESS;
705-
else
706-
reg->status |= STATUS_COPY_FAIL;
702+
pci_epf_test_copy(epf_test, reg);
707703
pci_epf_test_raise_irq(epf_test, reg);
708704
break;
709705
default:

0 commit comments

Comments
 (0)