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...