Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp5197621rwb; Tue, 8 Aug 2023 23:32:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYGvCFLxYiI3UJAFpsUQjoJwe2PnJFtZmMQxXYSuCKjsb23MADYnCT92DhxuXEBPI2dCR2 X-Received: by 2002:a05:6a20:6a1c:b0:12e:7ff9:b612 with SMTP id p28-20020a056a206a1c00b0012e7ff9b612mr1921899pzk.45.1691562736679; Tue, 08 Aug 2023 23:32:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691562736; cv=none; d=google.com; s=arc-20160816; b=wDT+8kEo0Iww3i576VXDDc2Qxsz1wZIKmNwj/ffFa+rj9vP/pyigqRCfZ50on+HG5Z ZPRWDTaTr7bOpYkAHXwadeN0PixteHWX9/wniySi79ZY0Du6KoJvUQjjKdFukbRaJFS6 SHDN6xOlk/E8KLEc8MxAn8EI8zZ2agF0LdOr/6kyD8Dv/7m4zKy2dIjzehmuJfuDhCXk raGPAmWt43X66qgPJCb8sVvFDeJHBRIJphXxffqVOIApMm9+/Y3XmED1z4ynytG9qIIY 6hT6G/E6tuFjjFk2B6zAmVc9CWe8NxTkAsJ74Hz3uk95x3zN9V7gJeN/RMdBLkMzKCwF 457A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=s+GprpEYaWKSIBz3lNF0rHXfz5G4zWTRgIo6CIukXOs=; fh=ll0r6sdrVq2ObDuhFF20bFVDK0b6o6lEmEFKEzZr+oQ=; b=XY7Vveh/q9Od6N5YRuzAZHFP1jYlfdfvAEeVFEZ59U1eXp9lwnVG6XhPMryVFSoTcM vTsceKTSHOWHGJgEUzzTb9lGY704Y5uLwd+xRu6Qr3UGA10xyk9keVdJeTCZm+JLAVHU GUMHz76icg5O8sfbGM0RtT1c7j95zhq4CockEbAob5R7hSG8YkCKEa+G/Qwxj22lvUxA Gnw0T7FtfkBXaESmFTug5lwhdfPk1FjIkJdcgvcTHfbB4tSRXkXBiVP12gQ69jfv3sYE tXXcgHU5VqzM745AUr7PKdFshgzbZ4k2y5HWotMG6oFp4hr9ud5ufu9yH36UzHhJ1QsR DR/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=dnisEdRn; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b26-20020a6567da000000b0056535b3fcabsi459706pgs.752.2023.08.08.23.32.04; Tue, 08 Aug 2023 23:32:16 -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; dkim=pass header.i=@gmail.com header.s=20221208 header.b=dnisEdRn; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230459AbjHIGLg (ORCPT + 99 others); Wed, 9 Aug 2023 02:11:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230449AbjHIGLb (ORCPT ); Wed, 9 Aug 2023 02:11:31 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3AE21E61; Tue, 8 Aug 2023 23:11:30 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id a640c23a62f3a-94ea38c90ccso165802366b.1; Tue, 08 Aug 2023 23:11:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691561489; x=1692166289; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=s+GprpEYaWKSIBz3lNF0rHXfz5G4zWTRgIo6CIukXOs=; b=dnisEdRnrIJchTHxIMrhNDkguZRPzCt9B/4Cf+cd5/0Yfl73fh6DiodUad0URAMbxZ jQ9GzsCW1jsLdJjBaQGAs8A+Dn1Ee7JTBG9DCWKBR4PON3tSWoyQc4OHGECV/uMpyUVA HlDFm0BRopDqYg7gWa1WRujuEv++HLcX8rkgPJzAzWcPXYing6Qqa94S6udQ56nag23Z kjoE4JABZ+LNAPqIPEKzKwksvz5u8reMIlyLzXfGHaJu6MuN05P15aXC7ByIxzUpjbUY 36hAE118gfg1pZReKzZsLwwJzIXhOMRrasdWocjWisjkNUN72Z8++hLHZgDOHzD/d6rp SZwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691561489; x=1692166289; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s+GprpEYaWKSIBz3lNF0rHXfz5G4zWTRgIo6CIukXOs=; b=KFfm2SjWipNzd0+9tPSswt0en39eMUmHDBxBSRYSb5FUaBcU+yHN/RQlZl8PMsrI9K FOUM2D4IVshdb8XP4k2K+XJAxT+4P+1GK7wLTOmXI9ih3Zzq+ekStG+XhBNIiqMwe1rj 9fg/kfRdtZ8yBvjmBoikWZ66k1iNe6TLq/8d8LrzjVp/1qeAWYLOClau5AFSEcTDQtst 58XXwHe5XsOlncAHbx6LuBrCNEQzvUvJzr2Muv0UYE4VNEHuxVPpPhHvw8VvQNvC6GhY OOg7CZJUlWUD/ow6L9HRnyK0stzuvLl1BVGsyyalVt3ozhizK66PXbo+hispLE+CUsYl R8Aw== X-Gm-Message-State: AOJu0YzJTgXnvC1W6yUa8sH07jotUzAQ5ZbVDtOCEOYoEtQ7+yDR6Rok yfjTSMDYUMz47eWEjbf8NAs6mdVFnZEsxvLKHBSpbbYULYy04A== X-Received: by 2002:a17:906:10c9:b0:99c:c178:cef9 with SMTP id v9-20020a17090610c900b0099cc178cef9mr1176187ejv.2.1691561488616; Tue, 08 Aug 2023 23:11:28 -0700 (PDT) MIME-Version: 1.0 References: <20230808033106.2174-1-Wenhua.Lin@unisoc.com> <20230808134442.75bb6f04b5612c07d3b7d731@hugovil.com> In-Reply-To: <20230808134442.75bb6f04b5612c07d3b7d731@hugovil.com> From: wenhua lin Date: Wed, 9 Aug 2023 14:11:17 +0800 Message-ID: Subject: Re: [PATCH 1/3] gpio: sprd: Modify the calculation method of eic number To: Hugo Villeneuve Cc: Wenhua Lin , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Orson Zhai , Baolin Wang , Chunyan Zhang , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Xiongpeng Wu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS 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 Hi Hugo: We will re-split the patch submission and explain our reasons for modification in the submission information, thank you very much for your review. Hugo Villeneuve =E4=BA=8E2023=E5=B9=B48=E6=9C=889=E6=97= =A5=E5=91=A8=E4=B8=89 01:44=E5=86=99=E9=81=93=EF=BC=9A > > On Tue, 8 Aug 2023 11:31:06 +0800 > Wenhua Lin wrote: > > > Automatic calculation through matching nodes, > > subsequent projects can avoid modifying driver files. > > > > Signed-off-by: Wenhua Lin > > --- > > drivers/gpio/gpio-eic-sprd.c | 49 +++++++++++++++++++----------------- > > 1 file changed, 26 insertions(+), 23 deletions(-) > > > > diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.= c > > index 84352a6f4973..0d85d9e80848 100644 > > --- a/drivers/gpio/gpio-eic-sprd.c > > +++ b/drivers/gpio/gpio-eic-sprd.c > > @@ -50,10 +50,10 @@ > > #define SPRD_EIC_SYNC_DATA 0x1c > > > > /* > > - * The digital-chip EIC controller can support maximum 3 banks, and ea= ch bank > > + * The digital-chip EIC controller can support maximum 8 banks, and ea= ch bank > > * contains 8 EICs. > > */ > > -#define SPRD_EIC_MAX_BANK 3 > > +#define SPRD_EIC_MAX_BANK 8 > > #define SPRD_EIC_PER_BANK_NR 8 > > #define SPRD_EIC_DATA_MASK GENMASK(7, 0) > > #define SPRD_EIC_BIT(x) ((x) & (SPRD_EIC_PER_BANK= _NR - 1)) > > @@ -99,33 +99,32 @@ struct sprd_eic { > > > > struct sprd_eic_variant_data { > > enum sprd_eic_type type; > > - u32 num_eics; > > }; > > > > +#define SPRD_EIC_VAR_DATA(soc_name) \ > > +static const struct sprd_eic_variant_data soc_name##_eic_dbnc_data =3D= { \ > > + .type =3D SPRD_EIC_DEBOUNCE, = \ > > +}; \ > > + \ > > +static const struct sprd_eic_variant_data soc_name##_eic_latch_data = =3D { \ > > + .type =3D SPRD_EIC_LATCH, = \ > > +}; \ > > + \ > > +static const struct sprd_eic_variant_data soc_name##_eic_async_data = =3D { \ > > + .type =3D SPRD_EIC_ASYNC, = \ > > +}; \ > > + \ > > +static const struct sprd_eic_variant_data soc_name##_eic_sync_data =3D= { \ > > + .type =3D SPRD_EIC_SYNC, = \ > > +} > > + > > +SPRD_EIC_VAR_DATA(sc9860); > > + > > static const char *sprd_eic_label_name[SPRD_EIC_MAX] =3D { > > "eic-debounce", "eic-latch", "eic-async", > > "eic-sync", > > }; > > > > -static const struct sprd_eic_variant_data sc9860_eic_dbnc_data =3D { > > - .type =3D SPRD_EIC_DEBOUNCE, > > - .num_eics =3D 8, > > -}; > > - > > -static const struct sprd_eic_variant_data sc9860_eic_latch_data =3D { > > - .type =3D SPRD_EIC_LATCH, > > - .num_eics =3D 8, > > -}; > > - > > -static const struct sprd_eic_variant_data sc9860_eic_async_data =3D { > > - .type =3D SPRD_EIC_ASYNC, > > - .num_eics =3D 8, > > -}; > > - > > -static const struct sprd_eic_variant_data sc9860_eic_sync_data =3D { > > - .type =3D SPRD_EIC_SYNC, > > - .num_eics =3D 8, > > -}; > > > > static inline void __iomem *sprd_eic_offset_base(struct sprd_eic *sprd= _eic, > > unsigned int bank) > > @@ -583,6 +582,7 @@ static int sprd_eic_probe(struct platform_device *p= dev) > > struct sprd_eic *sprd_eic; > > struct resource *res; > > int ret, i; > > + u16 num_banks =3D 0; > > > > pdata =3D of_device_get_match_data(&pdev->dev); > > if (!pdata) { > > @@ -613,12 +613,13 @@ static int sprd_eic_probe(struct platform_device = *pdev) > > break; > > > > sprd_eic->base[i] =3D devm_ioremap_resource(&pdev->dev, r= es); > > + num_banks++; > > if (IS_ERR(sprd_eic->base[i])) > > return PTR_ERR(sprd_eic->base[i]); > > } > > > > sprd_eic->chip.label =3D sprd_eic_label_name[sprd_eic->type]; > > - sprd_eic->chip.ngpio =3D pdata->num_eics; > > + sprd_eic->chip.ngpio =3D num_banks * SPRD_EIC_PER_BANK_NR; > > sprd_eic->chip.base =3D -1; > > sprd_eic->chip.parent =3D &pdev->dev; > > sprd_eic->chip.direction_input =3D sprd_eic_direction_input; > > @@ -630,10 +631,12 @@ static int sprd_eic_probe(struct platform_device = *pdev) > > sprd_eic->chip.set =3D sprd_eic_set; > > fallthrough; > > case SPRD_EIC_ASYNC: > > + fallthrough; > > Hi, > this probably should go in a separate patch as a fix or an > improvement with proper comments explaining the reason? > > > case SPRD_EIC_SYNC: > > sprd_eic->chip.get =3D sprd_eic_get; > > break; > > case SPRD_EIC_LATCH: > > + fallthrough; > > ditto. > > Hugo Villeneuve > > > > default: > > break; > > } > > -- > > 2.17.1 > >