Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp5090152rwb; Tue, 8 Aug 2023 20:53:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEnTBcFOVQnMtpFWfL1B86KEfkr+R5MXyOa5pTAhVaPtOcNE39rfeRnN3DNa8txw/JBeRNL X-Received: by 2002:aa7:d804:0:b0:522:18b6:c01f with SMTP id v4-20020aa7d804000000b0052218b6c01fmr2060086edq.3.1691553195308; Tue, 08 Aug 2023 20:53:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691553195; cv=none; d=google.com; s=arc-20160816; b=cmB1poJlJHq3jM/JxpJhgLeca8clP7e8ZA1J7t+flGcQUL2srocOI8qtC+xnTYOm8l yXXl4Eu2LPfyqFjb3KZmfYFdpp72mAiF5HqtZ5MoCGM8OSkwdqmOAAPSLpjfwCuK40y9 YgbVBXYRMmnPFqD3BF7Fp1WIqoIh/NvNsO8fCfYfUYpwbcYwTIlToRdelwlZDVJVRYH2 bZsDU0MlTb7Z1B3h7FyJghqR9EyaRtBQyjyktMbfgc8OQo+DIoGej2liA8z20fXmOdLw Bpi7+6apO+IklCCmINCsJbaE2oSYY+wMK/ksJNRf0EoX6hFfWQF+ZrhOfmzxuLgL6kDV FWFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=37x5N7SFBYPS9wlsnz1ta5UduxrXFLWK0kQpbod2OE4=; fh=aD6yyndq1BsSjSYybasKqsTtDtBNU2DB0Jd5xlfeYUs=; b=hfVObl220rzwD14Xy4azoNuwa/luS9UUY+ln+QwCiH3odeiqEW05n3Q3Kt4rofQ7F3 GphG88jEj493PzZJGCDBnGgpXyjQcPNC7dxHHdL/1TroTBwLvc4b/NoqXrQmc0QkrwHU uCLu7B+F0OvAuPhW3fDlPaPPIhh2W68GMt5Z99hUruZNIZzzuL7SYPSRbn5ib1h3G7TW 7IDaM583I5T6PwWOp4D4jia+9MO5qCHChGvEUlgJoEQwtfBiYp+4kjN5pPYqt32CSjK1 AjXmbnBIOayiRLBo0zed+r2rg2jZtFpBiHGDDoW5AK7IHWxMcHrcaAKouvwTGgnfuc4u CChQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d3-20020a056402078300b005221d87d56bsi8820496edy.573.2023.08.08.20.52.34; Tue, 08 Aug 2023 20:53:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229914AbjHIBbk (ORCPT + 99 others); Tue, 8 Aug 2023 21:31:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229519AbjHIBbj (ORCPT ); Tue, 8 Aug 2023 21:31:39 -0400 Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A71619AD; Tue, 8 Aug 2023 18:31:38 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R141e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045192;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=10;SR=0;TI=SMTPD_---0VpMvEyN_1691544693; Received: from 30.97.48.62(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0VpMvEyN_1691544693) by smtp.aliyun-inc.com; Wed, 09 Aug 2023 09:31:34 +0800 Message-ID: Date: Wed, 9 Aug 2023 09:31:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [PATCH 3/3] gpio: sprd: Add clear interrupt To: Wenhua Lin , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Orson Zhai , Chunyan Zhang Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, wenhua lin , Xiongpeng Wu References: <20230808033144.2276-1-Wenhua.Lin@unisoc.com> From: Baolin Wang In-Reply-To: <20230808033144.2276-1-Wenhua.Lin@unisoc.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,NICE_REPLY_A,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/8/2023 11:31 AM, Wenhua Lin wrote: > Clear interrupt after set the interrupt type. Sorry, NAK. The commit message is meaningless. > Signed-off-by: Wenhua Lin > --- > drivers/gpio/gpio-eic-sprd.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c > index c506cfd6df8e..31125f53bc97 100644 > --- a/drivers/gpio/gpio-eic-sprd.c > +++ b/drivers/gpio/gpio-eic-sprd.c > @@ -374,29 +374,34 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type) > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_EDGE_FALLING: > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 0); > + sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_EDGE_BOTH: > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_LEVEL_HIGH: > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 1); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_level_irq); > break; > case IRQ_TYPE_LEVEL_LOW: > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTMODE, 1); > sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTPOL, 0); > + sprd_eic_update(chip, offset, SPRD_EIC_ASYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_level_irq); > break; > default: > @@ -409,29 +414,34 @@ static int sprd_eic_irq_set_type(struct irq_data *data, unsigned int flow_type) > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_EDGE_FALLING: > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 0); > + sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_EDGE_BOTH: > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_edge_irq); > break; > case IRQ_TYPE_LEVEL_HIGH: > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 1); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 1); > + sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_level_irq); > break; > case IRQ_TYPE_LEVEL_LOW: > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTBOTH, 0); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTMODE, 1); > sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTPOL, 0); > + sprd_eic_update(chip, offset, SPRD_EIC_SYNC_INTCLR, 1); > irq_set_handler_locked(data, handle_level_irq); > break; > default: