提交 d1e0de92 编写于 作者: M Mattia Dongili 提交者: Len Brown

sony-laptop: SPIC unset IRQF_SHARED, set IRQF_DISABLED

The SPIC irq is not really shareable, the IO port cannot be cleared and
always returns some data so there is no real way to understand if the irq
is for us or not. Moreover the _PRS acpi method says the irq is not
shareable.
In addition to this, in some cases, an additional write to the IO port has
to be performed in order to properly decode the event received from the
device. This generates another interrupt which may overlap with the
previous one. In the future this is going to be important for properly
decoding events.
Signed-off-by: NMattia Dongili <malattia@linux.it>
Signed-off-by: NLen Brown <len.brown@intel.com>
上级 31df7144
...@@ -2792,7 +2792,7 @@ static int sony_pic_add(struct acpi_device *device) ...@@ -2792,7 +2792,7 @@ static int sony_pic_add(struct acpi_device *device)
/* request IRQ */ /* request IRQ */
list_for_each_entry_reverse(irq, &spic_dev.interrupts, list) { list_for_each_entry_reverse(irq, &spic_dev.interrupts, list) {
if (!request_irq(irq->irq.interrupts[0], sony_pic_irq, if (!request_irq(irq->irq.interrupts[0], sony_pic_irq,
IRQF_SHARED, "sony-laptop", &spic_dev)) { IRQF_DISABLED, "sony-laptop", &spic_dev)) {
dprintk("IRQ: %d - triggering: %d - " dprintk("IRQ: %d - triggering: %d - "
"polarity: %d - shr: %d\n", "polarity: %d - shr: %d\n",
irq->irq.interrupts[0], irq->irq.interrupts[0],
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册