misc: pci_endpoint_test: Add ioctl to clear IRQ
Add ioctl to clear IRQ which can be used to free the allocated IRQ vectors and free the requested IRQ. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
This commit is contained in:
parent
b2ba9225e0
commit
475007f9ce
|
@ -652,6 +652,13 @@ err:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool pci_endpoint_test_clear_irq(struct pci_endpoint_test *test)
|
||||||
|
{
|
||||||
|
pci_endpoint_test_release_irq(test);
|
||||||
|
pci_endpoint_test_free_irq_vectors(test);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static bool pci_endpoint_test_set_irq(struct pci_endpoint_test *test,
|
static bool pci_endpoint_test_set_irq(struct pci_endpoint_test *test,
|
||||||
int req_irq_type)
|
int req_irq_type)
|
||||||
{
|
{
|
||||||
|
@ -722,6 +729,9 @@ static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd,
|
||||||
case PCITEST_GET_IRQTYPE:
|
case PCITEST_GET_IRQTYPE:
|
||||||
ret = irq_type;
|
ret = irq_type;
|
||||||
break;
|
break;
|
||||||
|
case PCITEST_CLEAR_IRQ:
|
||||||
|
ret = pci_endpoint_test_clear_irq(test);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret:
|
ret:
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#define PCITEST_MSIX _IOW('P', 0x7, int)
|
#define PCITEST_MSIX _IOW('P', 0x7, int)
|
||||||
#define PCITEST_SET_IRQTYPE _IOW('P', 0x8, int)
|
#define PCITEST_SET_IRQTYPE _IOW('P', 0x8, int)
|
||||||
#define PCITEST_GET_IRQTYPE _IO('P', 0x9)
|
#define PCITEST_GET_IRQTYPE _IO('P', 0x9)
|
||||||
|
#define PCITEST_CLEAR_IRQ _IO('P', 0x10)
|
||||||
|
|
||||||
#define PCITEST_FLAGS_USE_DMA 0x00000001
|
#define PCITEST_FLAGS_USE_DMA 0x00000001
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue