From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C598A4779A1 for ; Wed, 15 Jul 2026 12:29:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784118585; cv=none; b=YddpR30BmDDER9NWxPvoZeCEgSgoJSIZhGs1O8d4QPUW8BUzE8To6HOkk1/E41sqyazghaaUdJG2EZI0QcEEwkpkedCekCOHARwdq+0dJrrJ+qwPsgg4iCgD9bdm+yIipZGt3LqQs74WsN7TkQp/G6TUp9bL3ieiaZdS8zJ1Wy4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784118585; c=relaxed/simple; bh=tb6VVpndxV1WisXM8GvWuIHPq6saMoF/pm1lAK1wGqY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JOfgleNmSgSyWsAO/l07qerrzKpCYZY9NSlIsbuCjn8FP7d33KPm7PZKZKkS2BplTtFf3mw6EbOSF/aJg4oj8oHBPo+NDMV7tpFnXdfURW7hD5CJdxpv8VC92utiacGajH6rj1K27b3UZysCACbw6Hi2NH8y5otAefPPTsmZ9XI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=P6g554fH; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="P6g554fH" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-493b27c7451so7622595e9.0 for ; Wed, 15 Jul 2026 05:29:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784118580; x=1784723380; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=PTAx7TYBkRxSJa6QqLMtR87q/GzHDKuudoBFd1PCFdQ=; b=P6g554fHIjC54HIS57uTIlMSUJpJgxUf4GfqgnS2AyvZRs0ARLk64Q0bsLUPNDOMUj IYGj7cppKTTUPvUax4r9d+96P1QUQtFyCGukuIpZV+gglkXwSpct81lm92oaip/kd5gd 6mzC0oBU68x8Zv3NK2P30ay4L1LNjpg0lUqWMeRIrryvrxFxJmiwRHQAcbuXN+gpJr0f yF6Kx6Aq73YXe8K8EP5ck7XBmptYPVpKm5jvC4YGTUBeM5ciNd6cd5iWTty1PpxLm4ZM JgJFB/igm0rqCo0YhrRMHfw6FxfB94v//5rR8bhnj3op6RNbWaOOaGlpGJqg4r651Z5v RQvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784118580; x=1784723380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=PTAx7TYBkRxSJa6QqLMtR87q/GzHDKuudoBFd1PCFdQ=; b=Kd6AcdrEi2YSyv/xPwIXXe+9lcV/jeKE3rj8B1SX8pWMg0afa9E2+j67tzp9T9ECpA hQqn7Bw0q6Nb8UCwM1mJJ3Q08Z+3CH80qCI20NK0TpmRGZvZnJ/n9WRYWmQYm1Uv6ApU 3aBAUkbNR0CrdKbxiGkizk8QNJL49roRh1P2xuQlwQYmx/rSd4lsg3hX2ceQwveNBEbF 5MlRyk1maa/vLPu3H1icUiQp68TT2QR8Jt4Lzg+kS9fITWXBJrchqXcNbgKxw3sE10Yj FwFspQj89OWaaWVqo2j1IoFmvwqJDl/5cG+45J3Hgm0NWVWOdB0FRjPYNEu3nehZzWt7 rPow== X-Forwarded-Encrypted: i=1; AHgh+RoptI5JYISbpicTOA0YV2pnSS5n/Y6XW46jqnOds+SmDnxMgmHGvo269Pba56UiqIU/SMwiIoJ20M01VUI=@vger.kernel.org X-Gm-Message-State: AOJu0YwdigEEWu3MHTHC15x4pEbExjoAz8toms1vu0akoSgbbZ0tPb2m nVSpDjSlzjjLWPhx6fJWeFcRfnX+RYNYAYL+vq2sgLZP2B4IXzcl3oWB X-Gm-Gg: AfdE7cnv2NNWPLM5yXxnPAuJzpK7FbjjNPFPQuzJhRqjwad3UxKjq7cjyuqYKsynGf/ nwf/+4/uu7r14U5yDyhg9pocaGW096YTKUqxgJC1xza5EvyzE3CEUzNvBMKvNP5dJDCarXsChPB 5AHXFC+hysfqUTuXHwvQSs+MxzZ3TP9qBPAy367RpRvHt3UwBEtv5FLFZc6fqoLYqdWseZLq/Ju 9vDxACyB6r0Trcc5qIbh3BW2fNC24RlTIOHDIOkrzn52krzopcEWFIw76cnP0hGOTet+MpEE4mX Re7AcpzO5oloe/V390Tj5z1zVK0AJV/CeM4JOb+lOvNGlml6/JnbHkn1iqp59FHzy9KUx4Ipna8 E8J/N3vI+QTMswl1TqCBDG+Iqt4NkuTANVWGFJMnHUgw2werJy5vXdmq4DfrWiSU51sUyPDovtU /AQB4b0SskRO00O6rDGw3Z7TM= X-Received: by 2002:a05:600c:3b0e:b0:493:f806:fc4d with SMTP id 5b1f17b1804b1-493f88268e9mr161675915e9.0.1784118579463; Wed, 15 Jul 2026 05:29:39 -0700 (PDT) Received: from taln60.nuvoton.co.il ([212.199.177.18]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950a32a2casm216770715e9.12.2026.07.15.05.29.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 05:29:38 -0700 (PDT) From: Tomer Maimon To: andrew@codeconstruct.com.au, linusw@kernel.org, brgl@kernel.org Cc: openbmc@lists.ozlabs.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, avifishman70@gmail.com, tmaimon77@gmail.com, tali.perry1@gmail.com, venture@google.com, yuenn@google.com, benjaminfair@google.com Subject: [PATCH v1 4/8] pinctrl: npcm8xx: clear pending GPIO events during init Date: Wed, 15 Jul 2026 15:29:19 +0300 Message-Id: <20260715122923.1938327-5-tmaimon77@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260715122923.1938327-1-tmaimon77@gmail.com> References: <20260715122923.1938327-1-tmaimon77@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit A bank may retain pending event status across resets of the GPIO block. If probe leaves the old state in place, the chained IRQ handler can see spurious events as soon as the irqchip is registered. Disable event generation and clear EVST before wiring each GPIO bank into gpiolib so the driver starts from a known state. Signed-off-by: Tomer Maimon --- drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c b/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c index 8d7dfb326..5dcb01923 100644 --- a/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c +++ b/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c @@ -2471,6 +2471,9 @@ static int npcm8xx_gpio_fw(struct npcm8xx_pinctrl *pctrl) if (ret < 0) return dev_err_probe(dev, ret, "Failed to retrieve IRQ for bank %u\n", id); + iowrite32(0, pctrl->gpio_bank[id].base + NPCM8XX_GP_N_EVEN); + iowrite32(0xffffffff, pctrl->gpio_bank[id].base + NPCM8XX_GP_N_EVST); + pctrl->gpio_bank[id].irq = ret; pctrl->gpio_bank[id].irq_chip = npcmgpio_irqchip; pctrl->gpio_bank[id].irqbase = id * NPCM8XX_GPIO_PER_BANK; -- 2.34.1