search for: request_irq

Displaying 20 results from an estimated 293 matches for "request_irq".

2008 Jan 18
2
[PATCH 2/3] Make IRQ handlers typesafe.
...) diff -r 0fe1a980708b include/linux/interrupt.h --- a/include/linux/interrupt.h Thu Jan 17 14:48:56 2008 +1100 +++ b/include/linux/interrupt.h Thu Jan 17 15:42:01 2008 +1100 @@ -69,13 +69,26 @@ struct irqaction { }; extern irqreturn_t no_action(int cpl, void *dev_id); -extern int __must_check request_irq(unsigned int, irq_handler_t handler, + +/* Typesafe version of request_irq. Also takes old-style void * handlers. */ +#define request_irq(irq, handler, flags, name, dev_id) \ + __request_irq((irq), \ + check_either_type((handler), irq_handler_t, \ + int (*)(int, typeof(dev_id))),...
2008 Jan 18
2
[PATCH 2/3] Make IRQ handlers typesafe.
...) diff -r 0fe1a980708b include/linux/interrupt.h --- a/include/linux/interrupt.h Thu Jan 17 14:48:56 2008 +1100 +++ b/include/linux/interrupt.h Thu Jan 17 15:42:01 2008 +1100 @@ -69,13 +69,26 @@ struct irqaction { }; extern irqreturn_t no_action(int cpl, void *dev_id); -extern int __must_check request_irq(unsigned int, irq_handler_t handler, + +/* Typesafe version of request_irq. Also takes old-style void * handlers. */ +#define request_irq(irq, handler, flags, name, dev_id) \ + __request_irq((irq), \ + check_either_type((handler), irq_handler_t, \ + int (*)(int, typeof(dev_id))),...
2009 Jan 07
3
mISDN compile problem
.../usr/src/mISDN-1_1_8/include/linux/mISDNif.h:862: error: field 'class_dev' has incomplete type /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c: In function 'init_card': /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c:889: warning: passing argument 2 of 'request_irq' from incompatible pointer type /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c:895: warning: passing argument 2 of 'request_irq' from incompatible pointer type make[2]: *** [/usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.o] Erreur 1 I'm missing something...
2019 Jul 02
2
[PATCH v2] virtio-mmio: add error check for platform_get_irq
in vm_find_vqs() irq has a wrong type so, in case of no IRQ resource defined, wrong parameter will be passed to request_irq() Signed-off-by: Ihor Matushchak <ihor.matushchak at foobox.net> --- Changes in v2: Don't overwrite error code value. drivers/virtio/virtio_mmio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index...
2019 Jul 02
2
[PATCH v2] virtio-mmio: add error check for platform_get_irq
in vm_find_vqs() irq has a wrong type so, in case of no IRQ resource defined, wrong parameter will be passed to request_irq() Signed-off-by: Ihor Matushchak <ihor.matushchak at foobox.net> --- Changes in v2: Don't overwrite error code value. drivers/virtio/virtio_mmio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index...
2008 Sep 19
19
MSI causing softpanics in guest
...0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Call Trace: [<c0248aef>] startup_pirq+0x3f/0x250 [<c0150b50>] setup_irq+0x160/0x1b0 [<ee0dd270>] nfe_interrupt_handler+0x0/0x30 [nfemsg] [<c0150c43>] request_irq+0xa3/0xc0 [<ee02c8ad>] nfemsg_module_init+0x8ad/0x133e [nfemsg] [<c030531b>] cond_resched+0x2b/0x40 [<c0305369>] wait_for_completion+0x19/0xf0 [<c0142818>] sys_init_module+0x148/0x1b50 [<c010595f>] syscall_call+0x7/0xb Code: 00 00 89 d1 d3 e0 85 05 c4 2c 42 c0 74...
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...t vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, struct virtqueue *vqs[], vq_callback_t *callbacks[], @@ -400,8 +425,13 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, unsigned int irq = platform_get_irq(vm_dev->pdev, 0); int i, err; - err = request_irq(irq, vm_interrupt, IRQF_SHARED, - dev_name(&vdev->dev), vm_dev); + if (*vm_dev->isr_mem & VIRTIO_MMIO_F_IRQFD) { + err = request_irq(irq, vm_interrupt_irqfd, IRQF_SHARED, + dev_name(&vdev->dev), vm_dev); + } else { + err = request_irq(irq, vm_interrupt, IRQF_SHARED, +...
2014 Oct 25
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...t vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, struct virtqueue *vqs[], vq_callback_t *callbacks[], @@ -400,8 +425,13 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, unsigned int irq = platform_get_irq(vm_dev->pdev, 0); int i, err; - err = request_irq(irq, vm_interrupt, IRQF_SHARED, - dev_name(&vdev->dev), vm_dev); + if (*vm_dev->isr_mem & VIRTIO_MMIO_F_IRQFD) { + err = request_irq(irq, vm_interrupt_irqfd, IRQF_SHARED, + dev_name(&vdev->dev), vm_dev); + } else { + err = request_irq(irq, vm_interrupt, IRQF_SHARED, +...
2019 Jul 02
2
[PATCH] virtio-mmio: add error check for platform_get_irq
in vm_find_vqs() irq has a wrong type so, in case of no IRQ resource defined, wrong parameter will be passed to request_irq() Signed-off-by: Ihor Matushchak <ihor.matushchak at foobox.net> --- drivers/virtio/virtio_mmio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index f363fbeb5ab0..60dde8ed163b 100644 --- a/drivers/virti...
2019 Jul 02
2
[PATCH] virtio-mmio: add error check for platform_get_irq
in vm_find_vqs() irq has a wrong type so, in case of no IRQ resource defined, wrong parameter will be passed to request_irq() Signed-off-by: Ihor Matushchak <ihor.matushchak at foobox.net> --- drivers/virtio/virtio_mmio.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index f363fbeb5ab0..60dde8ed163b 100644 --- a/drivers/virti...
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...t; struct virtqueue *vqs[], >> vq_callback_t *callbacks[], >> @@ -400,8 +425,13 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, >> unsigned int irq = platform_get_irq(vm_dev->pdev, 0); >> int i, err; >> >> - err = request_irq(irq, vm_interrupt, IRQF_SHARED, >> - dev_name(&vdev->dev), vm_dev); >> + if (*vm_dev->isr_mem & VIRTIO_MMIO_F_IRQFD) { >> + err = request_irq(irq, vm_interrupt_irqfd, IRQF_SHARED, >> + dev_name(&vdev->dev), vm_dev); >> + } else { >> +...
2014 Oct 27
1
[RFC PATCH 2/2] Assign a new irq handler while irqfd enabled
...t; struct virtqueue *vqs[], >> vq_callback_t *callbacks[], >> @@ -400,8 +425,13 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs, >> unsigned int irq = platform_get_irq(vm_dev->pdev, 0); >> int i, err; >> >> - err = request_irq(irq, vm_interrupt, IRQF_SHARED, >> - dev_name(&vdev->dev), vm_dev); >> + if (*vm_dev->isr_mem & VIRTIO_MMIO_F_IRQFD) { >> + err = request_irq(irq, vm_interrupt_irqfd, IRQF_SHARED, >> + dev_name(&vdev->dev), vm_dev); >> + } else { >> +...
2011 Feb 15
4
[PATCH]: Staging: hv: Allocate the vmbus irq dynamically
...s_drv.device_ctx; int ret; unsigned int vector; + bool irq_assigned = false; DPRINT_INFO(VMBUS, "+++++++ HV Driver version = %s +++++++", HV_DRV_VERSION); @@ -517,20 +536,42 @@ static int vmbus_bus_init(void) goto cleanup; } - /* Get the interrupt resource */ - ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, - driver->name, NULL); - - if (ret != 0) { - DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", - vmbus_irq); + /* + * Get an unused interrupt line and register our handler. + * Since there is a window between getting an unus...
2011 Feb 15
4
[PATCH]: Staging: hv: Allocate the vmbus irq dynamically
...s_drv.device_ctx; int ret; unsigned int vector; + bool irq_assigned = false; DPRINT_INFO(VMBUS, "+++++++ HV Driver version = %s +++++++", HV_DRV_VERSION); @@ -517,20 +536,42 @@ static int vmbus_bus_init(void) goto cleanup; } - /* Get the interrupt resource */ - ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, - driver->name, NULL); - - if (ret != 0) { - DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", - vmbus_irq); + /* + * Get an unused interrupt line and register our handler. + * Since there is a window between getting an unus...
2009 May 14
1
[PATCHv6 4/4] virtio_pci: optional MSI-X support
...nvectors; ++i) + vp_dev->msix_entries[i].entry = i; + + err = vp_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, + options, ARRAY_SIZE(options)); + if (err < 0) { + /* Can't allocate enough MSI-X vectors, use regular interrupt */ + vp_dev->msix_vectors = 0; + err = request_irq(vp_dev->pci_dev->irq, vp_interrupt, + IRQF_SHARED, name, vp_dev); + if (err) + goto error_irq; + vp_dev->intx_enabled = 1; + } else { + vp_dev->msix_vectors = err; + vp_dev->msix_enabled = 1; + + /* Set the vector used for configuration */ + v = vp_dev->msix_used_vect...
2009 May 14
1
[PATCHv6 4/4] virtio_pci: optional MSI-X support
...nvectors; ++i) + vp_dev->msix_entries[i].entry = i; + + err = vp_enable_msix(vp_dev->pci_dev, vp_dev->msix_entries, + options, ARRAY_SIZE(options)); + if (err < 0) { + /* Can't allocate enough MSI-X vectors, use regular interrupt */ + vp_dev->msix_vectors = 0; + err = request_irq(vp_dev->pci_dev->irq, vp_interrupt, + IRQF_SHARED, name, vp_dev); + if (err) + goto error_irq; + vp_dev->intx_enabled = 1; + } else { + vp_dev->msix_vectors = err; + vp_dev->msix_enabled = 1; + + /* Set the vector used for configuration */ + v = vp_dev->msix_used_vect...
2008 Jun 03
12
[RFC 0/3]: hvc_console rework for platform without hard irqs
This patch set if my first attempt to make virtio_console usable on s390. To do so, I had to change hvc_console, because s390 has no request_irq and no free_irq. I want to get feedback from the main users of hvc_console before I proceed. The basic idea of this patch set is to remove the calls to request_irq and free_irq and replace them with backend specific callbacks. Please see the descriptions of the patches for further details: 1/3:...
2008 Jun 03
12
[RFC 0/3]: hvc_console rework for platform without hard irqs
This patch set if my first attempt to make virtio_console usable on s390. To do so, I had to change hvc_console, because s390 has no request_irq and no free_irq. I want to get feedback from the main users of hvc_console before I proceed. The basic idea of this patch set is to remove the calls to request_irq and free_irq and replace them with backend specific callbacks. Please see the descriptions of the patches for further details: 1/3:...
2009 Jan 08
2
Could you compile mISDN 1.1.8 on Lenny ?
.../usr/src/mISDN-1_1_8/include/linux/mISDNif.h:862: error: field 'class_dev' has incomplete type /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c: In function 'init_card': /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c:889: warning: passing argument 2 of 'request_irq' from incompatible pointer type /usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.c:895: warning: passing argument 2 of 'request_irq' from incompatible pointer type make[2]: *** [/usr/src/mISDN-1_1_8/drivers/isdn/hardware/mISDN/avm_fritz.o] Erreur 1 The same procedure is succ...
2009 Jul 26
1
[PATCHv4 2/2] virtio: refactor find_vqs
...ors for config and a shared for queues. - * Finally fall back to regular interrupts. */ - int options[] = { max_vqs + 1, 2 }; - int nvectors = max(options[0], options[1]); + + if (!nvectors) { + /* Can't allocate MSI-X vectors, use regular interrupt */ + vp_dev->msix_vectors = 0; + err = request_irq(vp_dev->pci_dev->irq, vp_interrupt, + IRQF_SHARED, name, vp_dev); + if (err) + return err; + vp_dev->intx_enabled = 1; + return 0; + } vp_dev->msix_entries = kmalloc(nvectors * sizeof *vp_dev->msix_entries, GFP_KERNEL); @@ -312,41 +311,34 @@ static int vp_re...