PCI: epf-test: Cleanup pci_epf_test_cmd_handler()
Command codes are never combined together as flags into a single value. Thus we can replace the series of "if" tests in pci_epf_test_cmd_handler() with a cleaner switch-case statement. This also allows checking that we got a valid command and print an error message if we did not. Link: https://lore.kernel.org/r/20230415023542.77601-11-dlemoal@kernel.org Signed-off-by: Damien Le Moal <dlemoal@kernel.org> Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
This commit is contained in:
parent
fc97f5f7c2
commit
96d513f5ed
@ -676,41 +676,39 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
|
||||
goto reset_handler;
|
||||
}
|
||||
|
||||
if ((command & COMMAND_RAISE_LEGACY_IRQ) ||
|
||||
(command & COMMAND_RAISE_MSI_IRQ) ||
|
||||
(command & COMMAND_RAISE_MSIX_IRQ)) {
|
||||
switch (command) {
|
||||
case COMMAND_RAISE_LEGACY_IRQ:
|
||||
case COMMAND_RAISE_MSI_IRQ:
|
||||
case COMMAND_RAISE_MSIX_IRQ:
|
||||
pci_epf_test_raise_irq(epf_test, reg);
|
||||
goto reset_handler;
|
||||
}
|
||||
|
||||
if (command & COMMAND_WRITE) {
|
||||
break;
|
||||
case COMMAND_WRITE:
|
||||
ret = pci_epf_test_write(epf_test, reg);
|
||||
if (ret)
|
||||
reg->status |= STATUS_WRITE_FAIL;
|
||||
else
|
||||
reg->status |= STATUS_WRITE_SUCCESS;
|
||||
pci_epf_test_raise_irq(epf_test, reg);
|
||||
goto reset_handler;
|
||||
}
|
||||
|
||||
if (command & COMMAND_READ) {
|
||||
break;
|
||||
case COMMAND_READ:
|
||||
ret = pci_epf_test_read(epf_test, reg);
|
||||
if (!ret)
|
||||
reg->status |= STATUS_READ_SUCCESS;
|
||||
else
|
||||
reg->status |= STATUS_READ_FAIL;
|
||||
pci_epf_test_raise_irq(epf_test, reg);
|
||||
goto reset_handler;
|
||||
}
|
||||
|
||||
if (command & COMMAND_COPY) {
|
||||
break;
|
||||
case COMMAND_COPY:
|
||||
ret = pci_epf_test_copy(epf_test, reg);
|
||||
if (!ret)
|
||||
reg->status |= STATUS_COPY_SUCCESS;
|
||||
else
|
||||
reg->status |= STATUS_COPY_FAIL;
|
||||
pci_epf_test_raise_irq(epf_test, reg);
|
||||
goto reset_handler;
|
||||
break;
|
||||
default:
|
||||
dev_err(dev, "Invalid command 0x%x\n", command);
|
||||
break;
|
||||
}
|
||||
|
||||
reset_handler:
|
||||
|
Loading…
x
Reference in New Issue
Block a user