summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattia Dongili <malattia@linux.it>2009-09-16 00:05:30 +0900
committerLen Brown <len.brown@intel.com>2009-09-27 23:19:37 -0400
commitd1e0de92d6c706cc68627c884b2d58d3db707804 (patch)
treecd7bdaeaff0a7975b17af1a7c8c267b8b0e56e4b
parent31df7144da55aad9b453f36291b9fd9b19b1eb6a (diff)
downloadop-kernel-dev-d1e0de92d6c706cc68627c884b2d58d3db707804.zip
op-kernel-dev-d1e0de92d6c706cc68627c884b2d58d3db707804.tar.gz
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: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--drivers/platform/x86/sony-laptop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 4dee1a2..903fca3 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2792,7 +2792,7 @@ static int sony_pic_add(struct acpi_device *device)
/* request IRQ */
list_for_each_entry_reverse(irq, &spic_dev.interrupts, list) {
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 - "
"polarity: %d - shr: %d\n",
irq->irq.interrupts[0],
OpenPOWER on IntegriCloud