Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2179025ybl; Thu, 30 Jan 2020 12:46:32 -0800 (PST) X-Google-Smtp-Source: APXvYqzaSsfRSQaKaAxN7xqyFo9YFT/EGlIMZeN6er+srnpp9+qNsIFKlCSIv7ZKl3mCt3ejGPua X-Received: by 2002:a9d:32f:: with SMTP id 44mr4907105otv.234.1580417192608; Thu, 30 Jan 2020 12:46:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580417192; cv=none; d=google.com; s=arc-20160816; b=G7GHbm5AX6eyurLpUQcgOEPgHrqT4LZReJzGIgS9AKRjVmkbzcIxJVdNnUwWLXK117 LNdH/pJD2Cn/ffaj6Pp1s70Zz1SHL4fT+BS28sGdM+bjQKY/RtEQ+zqwN7k2mSNYXJoI gttgLInIVckgul6ZRU/0MLVFiosyFY8EzZ20TU63y71epc6i3WZvxVVhUOuC9IuPerks N/dg1IblBgLwMcUM8hjBNDlB0ryFF7k+/iSWc0z20w1czts/Wy305Ux+KRIOMFr8LlZR D8iT8mdcCNhzA5umehC9o1zUZTVrxbcK55J+7XY4ayfF28yC9jZApz6wzFCBINzTH7H4 u/GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=ieWAQTrOem5SRCTrltmfG6dgZLD+sBaJH9/U+lcfZjk=; b=k7ivzRXcQuXSevy4I65Z40ZwRuDsEwryy5CUK7CJzo19XpZp/XE7QpYjQamML3JbYA HTyxYtvGc7+xfXJJzO2UCuTyZatXqDv3gNRtF1rHDKxCXOJM63sOSPIlz0DU8MO9cVfm XJ+vwc/H40CPr6df/wzmqfITgGbQ0a0kD6tJt1nphPvjajyEY4a6fAiGf6/g2+TnNhCv Pm7UO+H5rjPf5TZIEyTSbxcUqNLbi6kF39HWHmiVXP+NH2rEm9UGGi2voHJaY2OnGDaa OVCBjU4+4y8gIM9zaGJA6YUNlHv5LKBycsB1BjOLsPk8FPB0jFTRmSF7OMhND/wxcGX9 /68g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p3si3227853oih.186.2020.01.30.12.46.20; Thu, 30 Jan 2020 12:46:32 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727703AbgA3Up0 (ORCPT + 99 others); Thu, 30 Jan 2020 15:45:26 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:41841 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727240AbgA3UpZ (ORCPT ); Thu, 30 Jan 2020 15:45:25 -0500 Received: by mail-wr1-f68.google.com with SMTP id c9so5820773wrw.8; Thu, 30 Jan 2020 12:45:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ieWAQTrOem5SRCTrltmfG6dgZLD+sBaJH9/U+lcfZjk=; b=aMBF2zKEbx9veZdKawIcTaBy+201a6IZidPg2le9miaRo2O6ggXD1t1GFVx1WiXewo GwvavFunI1UMP54qrnnaUx3rG0WGQNOEaoAwmkHHDFdzZXViH3sX/0J3gU29OeVp49FA ugPbMUfdNF1q0dgs3z1A0mTMckk3o9hVkyShNEUZZEe9A/M+7nTAfvXE2K36G0zUOJuy DmwMXs+Y765Fb4iM0FNSUYMkfQulWLwunCxj8KtdbfCtLSWF1ceerjCaIh3bTfoOW8XT 4jUIlaSduCLAmshZyEZL0qV0/MqZAPNBK8A+m8oV09IVj/20nIsdDgwFUOzjw9yC8YeC 8qTg== X-Gm-Message-State: APjAAAXLmIATy1grgoZoKGQ5nRVc2X8xozH2aIPdMacUWqNSSoVmMQVU jf3UkcHpt8AgKVb5VzWLWFLchBCq0a0= X-Received: by 2002:a5d:568a:: with SMTP id f10mr6962723wrv.180.1580417122955; Thu, 30 Jan 2020 12:45:22 -0800 (PST) Received: from 1aq-andre.garage.tyco.com ([77.107.218.170]) by smtp.gmail.com with ESMTPSA id x7sm8874885wrq.41.2020.01.30.12.45.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jan 2020 12:45:22 -0800 (PST) From: =?UTF-8?q?Andr=C3=A9=20Draszik?= To: linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Andr=C3=A9=20Draszik?= , Anson Huang , Dmitry Torokhov , Alessandro Zummo , Alexandre Belloni , linux-input@vger.kernel.org Subject: [PATCH 3/3] Input: snvs_pwrkey - only IRQ_HANDLED for our own events Date: Thu, 30 Jan 2020 20:45:16 +0000 Message-Id: <20200130204516.4760-3-git@andred.net> X-Mailer: git-send-email 2.23.0.rc1 In-Reply-To: <20200130204516.4760-1-git@andred.net> References: <20200130204516.4760-1-git@andred.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The snvs_pwrkey shares the SNVS LPSR status register with the snvs_rtc. This driver here should only return IRQ_HANDLED if the status register indicates that the event we're handling in the irq handler was genuinely intended for this driver. Otheriwse the interrupt subsystem will assume the interrupt was handled successfully even though it wasn't at all. Signed-off-by: André Draszik Cc: Anson Huang Cc: Dmitry Torokhov Cc: Alessandro Zummo Cc: Alexandre Belloni Cc: linux-input@vger.kernel.org --- drivers/input/keyboard/snvs_pwrkey.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/input/keyboard/snvs_pwrkey.c b/drivers/input/keyboard/snvs_pwrkey.c index c29711d8735c..9f51bcc5b5fd 100644 --- a/drivers/input/keyboard/snvs_pwrkey.c +++ b/drivers/input/keyboard/snvs_pwrkey.c @@ -80,7 +80,9 @@ static irqreturn_t imx_snvs_pwrkey_interrupt(int irq, void *dev_id) pm_wakeup_event(input->dev.parent, 0); regmap_read(pdata->snvs, SNVS_LPSR_REG, &lp_status); - if (lp_status & SNVS_LPSR_SPO) { + lp_status &= SNVS_LPSR_SPO; + + if (lp_status) { if (pdata->minor_rev == 0) { /* * The first generation i.MX6 SoCs only sends an @@ -96,15 +98,14 @@ static irqreturn_t imx_snvs_pwrkey_interrupt(int irq, void *dev_id) mod_timer(&pdata->check_timer, jiffies + msecs_to_jiffies(DEBOUNCE_TIME)); } - } - /* clear SPO status */ - regmap_write(pdata->snvs, SNVS_LPSR_REG, SNVS_LPSR_SPO); + regmap_write(pdata->snvs, SNVS_LPSR_REG, SNVS_LPSR_SPO); + } if (pdata->clk) clk_disable(pdata->clk); - return IRQ_HANDLED; + return lp_status ? IRQ_HANDLED : IRQ_NONE; } static void imx_snvs_pwrkey_act(void *pdata) -- 2.23.0.rc1