Skip to content

Commit 5444737

Browse files
damien-lemoalbjorn-helgaas
authored andcommitted
PCI: epf-test: Simplify pci_epf_test_raise_irq()
Change the interface of the function pci_epf_test_raise_irq() to directly pass a pointer to the struct pci_epf_test_reg defining the test being executed. This avoids the need for grabbing this pointer using the register BAR address and simplifies the call sites as the IRQ type and IRQ numbers do not have to be passed as arguments. 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 62d48ec commit 5444737

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

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

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -607,29 +607,27 @@ static int pci_epf_test_write(struct pci_epf_test *epf_test,
607607
return ret;
608608
}
609609

610-
static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, u8 irq_type,
611-
u16 irq)
610+
static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
611+
struct pci_epf_test_reg *reg)
612612
{
613613
struct pci_epf *epf = epf_test->epf;
614614
struct device *dev = &epf->dev;
615615
struct pci_epc *epc = epf->epc;
616-
enum pci_barno test_reg_bar = epf_test->test_reg_bar;
617-
struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
618616

619617
reg->status |= STATUS_IRQ_RAISED;
620618

621-
switch (irq_type) {
619+
switch (reg->irq_type) {
622620
case IRQ_TYPE_LEGACY:
623621
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
624622
PCI_EPC_IRQ_LEGACY, 0);
625623
break;
626624
case IRQ_TYPE_MSI:
627625
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
628-
PCI_EPC_IRQ_MSI, irq);
626+
PCI_EPC_IRQ_MSI, reg->irq_number);
629627
break;
630628
case IRQ_TYPE_MSIX:
631629
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
632-
PCI_EPC_IRQ_MSIX, irq);
630+
PCI_EPC_IRQ_MSIX, reg->irq_number);
633631
break;
634632
default:
635633
dev_err(dev, "Failed to raise IRQ, unknown type\n");
@@ -675,8 +673,7 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
675673
reg->status |= STATUS_WRITE_FAIL;
676674
else
677675
reg->status |= STATUS_WRITE_SUCCESS;
678-
pci_epf_test_raise_irq(epf_test, reg->irq_type,
679-
reg->irq_number);
676+
pci_epf_test_raise_irq(epf_test, reg);
680677
goto reset_handler;
681678
}
682679

@@ -686,8 +683,7 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
686683
reg->status |= STATUS_READ_SUCCESS;
687684
else
688685
reg->status |= STATUS_READ_FAIL;
689-
pci_epf_test_raise_irq(epf_test, reg->irq_type,
690-
reg->irq_number);
686+
pci_epf_test_raise_irq(epf_test, reg);
691687
goto reset_handler;
692688
}
693689

@@ -697,8 +693,7 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
697693
reg->status |= STATUS_COPY_SUCCESS;
698694
else
699695
reg->status |= STATUS_COPY_FAIL;
700-
pci_epf_test_raise_irq(epf_test, reg->irq_type,
701-
reg->irq_number);
696+
pci_epf_test_raise_irq(epf_test, reg);
702697
goto reset_handler;
703698
}
704699

0 commit comments

Comments
 (0)