From patchwork Tue Sep 15 15:05:30 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mattia Dongili X-Patchwork-Id: 47678 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n8FFEVal020348 for ; Tue, 15 Sep 2009 15:14:32 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754641AbZIOPO1 (ORCPT ); Tue, 15 Sep 2009 11:14:27 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754681AbZIOPO1 (ORCPT ); Tue, 15 Sep 2009 11:14:27 -0400 Received: from static-220-247-10-204.b-man.svips.gol.ne.jp ([220.247.10.204]:43821 "EHLO smtp.kamineko.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754641AbZIOPO0 (ORCPT ); Tue, 15 Sep 2009 11:14:26 -0400 Received: by smtp.kamineko.org (Postfix, from userid 1004) id D8B16742DA; Wed, 16 Sep 2009 00:06:30 +0900 (JST) Received: from caligola.kamineko.org (unknown [192.168.1.34]) by smtp.kamineko.org (Postfix) with ESMTP id ECB08742A4; Wed, 16 Sep 2009 00:06:29 +0900 (JST) Received: by caligola.kamineko.org (Postfix, from userid 1000) id D889215E7A; Wed, 16 Sep 2009 00:06:27 +0900 (JST) From: Mattia Dongili To: Len Brown Cc: linux-acpi@vger.kernel.org, Mattia Dongili Subject: [PATCH 2/4] sony-laptop: SPIC unset IRQF_SHARED, set IRQF_DISABLED Date: Wed, 16 Sep 2009 00:05:30 +0900 Message-Id: <1253027132-5903-3-git-send-email-malattia@linux.it> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1253027132-5903-2-git-send-email-malattia@linux.it> References: <1253027132-5903-1-git-send-email-malattia@linux.it> <1253027132-5903-2-git-send-email-malattia@linux.it> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.0 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org 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 --- drivers/platform/x86/sony-laptop.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c index e283fe9..f2482f2 100644 --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c @@ -2795,7 +2795,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],