From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7FB09C433EF for ; Thu, 13 Jan 2022 18:06:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237458AbiAMSGS (ORCPT ); Thu, 13 Jan 2022 13:06:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230329AbiAMSGR (ORCPT ); Thu, 13 Jan 2022 13:06:17 -0500 Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7339FC061574; Thu, 13 Jan 2022 10:06:16 -0800 (PST) Received: by mail-ed1-x530.google.com with SMTP id k15so26010544edk.13; Thu, 13 Jan 2022 10:06:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jm0IN7OuQqYoHMgQAF3hasCHaG8wJhHFzsPPlKKF2VE=; b=VLvv8XZyDLHHO/LKcFoOGnSRFo6Ipchbza9EqqUyl+J5nRE+tygJmLL+FYGR80f0Q4 tGCykf7UE6ufTWnXfpqLiuKS1E2wIl7raKCMd6NTYqeTwfi0epFUfkv0vUEKQW/Paolv GbljhyA9WonlUOE+TXX1S43oBHtO91eMMAxPRJXsr25EcPmcrbRwZVn0wJ93l0IYVpdx TfiLfPg3fGN4Lm8iUGZxa/1A2OobuBh5x8T0VvFUhwtk2MxmY5DFekLyqYympmnTH0a/ Ye1sZPPLFxPtQPIXZ/ghKWKItOuqzVLjl6p6U7M/Xx7yv+V936P0lDjBQ/GCYxZedIXv YuKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jm0IN7OuQqYoHMgQAF3hasCHaG8wJhHFzsPPlKKF2VE=; b=dB5zvHB16qB3gqJFcUXi6mh1+sSLdUkqb+7J3HGHWBA94FgkxBZbgyqd1Yl5beT9MI NlJzEPOG08aqRZfuEsOSnsz51vT00F//lKpNF6v935IO1KuJrtmjlNmZXAkuU7ZAGXNb WVkPRa4R6U4wVOBmm2VRaWnq1WzNx8/bbbOTs7e/g3hJt/RUs6M4XFDd0XRu/4i+Sqvd 8UQ9JrGUklzu7hp78ibOuYqMwtaX9RBbEqJTInN4QLzDa2kcOmT8pnDSuNy0rMJ2Btfa kuUvhRbhv/2BFuCsohxPpmnR0eNLxru/CT2pHU0KAzWdX12axdCss1v6end6FLPyBezU K/5A== X-Gm-Message-State: AOAM5301JuDGb2xylptURDi1KjL+eKsNzZftjBF6Qk5yp9+5CvspRLAJ EVozAGgKFoImbCpzbSzaZVMlNPJRHKrIBTGe79o= X-Google-Smtp-Source: ABdhPJwYzKGaMqd0LTSao7N9p+ByRU8ZSuhIRyDQQebjD8+362ZauRmnZHpxCQfym5MWLjoldpIGIDl1fJCCuMCKB04= X-Received: by 2002:aa7:ccda:: with SMTP id y26mr5231276edt.218.1642097174560; Thu, 13 Jan 2022 10:06:14 -0800 (PST) MIME-Version: 1.0 References: <1640331779-18277-1-git-send-email-wellslutw@gmail.com> <1640331779-18277-3-git-send-email-wellslutw@gmail.com> In-Reply-To: From: Andy Shevchenko Date: Thu, 13 Jan 2022 20:04:28 +0200 Message-ID: Subject: Re: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 To: =?UTF-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= Cc: Wells Lu , Linus Walleij , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List , Rob Herring , devicetree , linux-arm Mailing List , "dvorkin@tibbo.com" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 13, 2022 at 7:04 PM Wells Lu =E5=91=82=E8=8A=B3=E9=A8=B0 wrote: ... > > > > > + bool "Sunplus SP7021 PinMux and GPIO driver" > > > > > > > > Why bool and not tristate? > > > > > > Pinctrl driver is selected by many drivers in SP7021 platform. > > > We never build it as a module, but build-in to kernel. > > > So we use "bool". > > > > > > Should we set it to tristate? > > > > You still haven't answered "why", so I can't tell you. > > I am puzzled because I think I have answered "why". Nope. :-) > Because Pinctrl driver is necessary for all SP7021-based platforms. "Why?" Why is it necessary (to be built-in)? ... > > > > > + struct device_node *np =3D of_node_get(pdev->dev.of_node)= ; > > > > > > > > What's the role of of_node_get()? > > > > > > I'll remove the unused codes. > > > I think it was used to check if OF node exists. > > > > And if it doesn't, what is the difference? > > > > You are the author of this code, please be prepared to explain every li= ne in it. > > From kernel-doc comment, of_node_get() increments refcount of a node. > I think as a platform driver, we don't need to check if the node exists o= r not. > If not exist, platform driver will not be probed. Right! ... > > > > Why is this in the header? > > > > > > Do you mean I need to move this "struct sppctl_gpio_chip { ... }" > > > declaration to c file because it is only used by the c file? > > > > Yes. > > But "struct sppctl_gpio_chip" is not only used in c file, but also used i= n the > same header file just beneath it. Refer to code below: Thanks for the snippet. It actually shows the opposite. No, below is the user of the _pointer_ to the struct of that type. You may easily use the "opaque pointer" approach. I.o.w. my comment stays. > struct sppctl_gpio_chip { > : > : > }; > > struct sppctl_pdata { > : > : > struct sppctl_gpio_chip *spp_gchip; > : > : > }; --=20 With Best Regards, Andy Shevchenko From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CA3B0C433F5 for ; Thu, 13 Jan 2022 18:07:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dfeT1V9vSjZSj2KrdcUeNct0SlCb8prcqu9HLH2GtGY=; b=ZnqZGEAnzI1yIr waVbTdWdkB0ChjvOOjbYA53DGerU5g4SAj7ii4wJUqfDEl2HK8kJ3oRztD2Wb67aGfJU6vz03iHx+ iU9HN8EiiyMyUdDrLS5K1zOZhc374UbaCJ5DyKgCkXebsxoKHWieUQs9NCXzn134KKNOktlnwAikg ecEU++aLCjNFZAM++NFHyGDnXNJPp8khkUG665ndDkzWlgpP/5DSctSqpJvxX6CkEtB5ZvDG/+8xv 4Ekk0NMC9RA9ZCb2cIArFsWoFYjFINeMV1FAHr//nImXTyeGGeQOYc897m+O2OcpsLcL8d5PGFdRr 3BXTxUiaNCPvLot7rbyg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n84UN-006q2b-QU; Thu, 13 Jan 2022 18:06:20 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n84UK-006q27-Ql for linux-arm-kernel@lists.infradead.org; Thu, 13 Jan 2022 18:06:18 +0000 Received: by mail-ed1-x530.google.com with SMTP id z22so26112615edd.12 for ; Thu, 13 Jan 2022 10:06:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jm0IN7OuQqYoHMgQAF3hasCHaG8wJhHFzsPPlKKF2VE=; b=VLvv8XZyDLHHO/LKcFoOGnSRFo6Ipchbza9EqqUyl+J5nRE+tygJmLL+FYGR80f0Q4 tGCykf7UE6ufTWnXfpqLiuKS1E2wIl7raKCMd6NTYqeTwfi0epFUfkv0vUEKQW/Paolv GbljhyA9WonlUOE+TXX1S43oBHtO91eMMAxPRJXsr25EcPmcrbRwZVn0wJ93l0IYVpdx TfiLfPg3fGN4Lm8iUGZxa/1A2OobuBh5x8T0VvFUhwtk2MxmY5DFekLyqYympmnTH0a/ Ye1sZPPLFxPtQPIXZ/ghKWKItOuqzVLjl6p6U7M/Xx7yv+V936P0lDjBQ/GCYxZedIXv YuKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jm0IN7OuQqYoHMgQAF3hasCHaG8wJhHFzsPPlKKF2VE=; b=UQah3vH/JTlbpuEep0BeRU6msDDgmS9SIgv9FhKHlwAB0fWohLuapF0+uBZKgy8lV8 xbcMyi/uYeGsB5Qgk6af1L4Vb/dYr0i5NFxJp86SpE6I02dpfQ7GdTxjuvzgkACiJ3hG mcpu4o4sAFVQ5EHPN+JwDkcn4ayuxpqD3ckGG1unfiBJCtbsf84q036J/ogTgl2c2ppK VvknVc5DEjFi2p2Q9and7dt421wqmBArtnSs3JlGA6kjzDMBG50LsN/hec0eOF58FD80 Sw8i8+ahJmDgmmNbeMPiKxz75yDK60xJihI3zyxgM3luu+maGwn6omJyrChm/IB1MQC/ 6q6w== X-Gm-Message-State: AOAM5320s89jcmp+2glhJ3La4CPe8KQlfYY1tE3elvfZ7YnDMVyvHHyN or43ow71EE822CJg+yjMzMk8yB4sHnxWcKogHrA= X-Google-Smtp-Source: ABdhPJwYzKGaMqd0LTSao7N9p+ByRU8ZSuhIRyDQQebjD8+362ZauRmnZHpxCQfym5MWLjoldpIGIDl1fJCCuMCKB04= X-Received: by 2002:aa7:ccda:: with SMTP id y26mr5231276edt.218.1642097174560; Thu, 13 Jan 2022 10:06:14 -0800 (PST) MIME-Version: 1.0 References: <1640331779-18277-1-git-send-email-wellslutw@gmail.com> <1640331779-18277-3-git-send-email-wellslutw@gmail.com> In-Reply-To: From: Andy Shevchenko Date: Thu, 13 Jan 2022 20:04:28 +0200 Message-ID: Subject: Re: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 To: =?UTF-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= Cc: Wells Lu , Linus Walleij , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List , Rob Herring , devicetree , linux-arm Mailing List , "dvorkin@tibbo.com" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220113_100616_891469_BFFA4773 X-CRM114-Status: GOOD ( 28.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKYW4gMTMsIDIwMjIgYXQgNzowNCBQTSBXZWxscyBMdSDlkYLoirPpqLAgPHdlbGxz Lmx1QHN1bnBsdXMuY29tPiB3cm90ZToKCi4uLgoKPiA+ID4gPiA+ICsgICAgICAgYm9vbCAiU3Vu cGx1cyBTUDcwMjEgUGluTXV4IGFuZCBHUElPIGRyaXZlciIKPiA+ID4gPgo+ID4gPiA+IFdoeSBi b29sIGFuZCBub3QgdHJpc3RhdGU/Cj4gPiA+Cj4gPiA+IFBpbmN0cmwgZHJpdmVyIGlzIHNlbGVj dGVkIGJ5IG1hbnkgZHJpdmVycyBpbiBTUDcwMjEgcGxhdGZvcm0uCj4gPiA+IFdlIG5ldmVyIGJ1 aWxkIGl0IGFzIGEgbW9kdWxlLCBidXQgYnVpbGQtaW4gdG8ga2VybmVsLgo+ID4gPiBTbyB3ZSB1 c2UgImJvb2wiLgo+ID4gPgo+ID4gPiBTaG91bGQgd2Ugc2V0IGl0IHRvIHRyaXN0YXRlPwo+ID4K PiA+IFlvdSBzdGlsbCBoYXZlbid0IGFuc3dlcmVkICJ3aHkiLCBzbyBJIGNhbid0IHRlbGwgeW91 Lgo+Cj4gSSBhbSBwdXp6bGVkIGJlY2F1c2UgSSB0aGluayBJIGhhdmUgYW5zd2VyZWQgIndoeSIu CgpOb3BlLiA6LSkKCj4gQmVjYXVzZSBQaW5jdHJsIGRyaXZlciBpcyBuZWNlc3NhcnkgZm9yIGFs bCBTUDcwMjEtYmFzZWQgcGxhdGZvcm1zLgoKIldoeT8iIFdoeSBpcyBpdCBuZWNlc3NhcnkgKHRv IGJlIGJ1aWx0LWluKT8KCi4uLgoKPiA+ID4gPiA+ICsgICAgICAgc3RydWN0IGRldmljZV9ub2Rl ICpucCA9IG9mX25vZGVfZ2V0KHBkZXYtPmRldi5vZl9ub2RlKTsKPiA+ID4gPgo+ID4gPiA+IFdo YXQncyB0aGUgcm9sZSBvZiBvZl9ub2RlX2dldCgpPwo+ID4gPgo+ID4gPiBJJ2xsIHJlbW92ZSB0 aGUgdW51c2VkIGNvZGVzLgo+ID4gPiBJIHRoaW5rIGl0IHdhcyB1c2VkIHRvIGNoZWNrIGlmIE9G IG5vZGUgZXhpc3RzLgo+ID4KPiA+IEFuZCBpZiBpdCBkb2Vzbid0LCB3aGF0IGlzIHRoZSBkaWZm ZXJlbmNlPwo+ID4KPiA+IFlvdSBhcmUgdGhlIGF1dGhvciBvZiB0aGlzIGNvZGUsIHBsZWFzZSBi ZSBwcmVwYXJlZCB0byBleHBsYWluIGV2ZXJ5IGxpbmUgaW4gaXQuCj4KPiBGcm9tIGtlcm5lbC1k b2MgY29tbWVudCwgb2Zfbm9kZV9nZXQoKSBpbmNyZW1lbnRzIHJlZmNvdW50IG9mIGEgbm9kZS4K PiBJIHRoaW5rIGFzIGEgcGxhdGZvcm0gZHJpdmVyLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIGlm IHRoZSBub2RlIGV4aXN0cyBvciBub3QuCj4gSWYgbm90IGV4aXN0LCBwbGF0Zm9ybSBkcml2ZXIg d2lsbCBub3QgYmUgcHJvYmVkLgoKUmlnaHQhCgouLi4KCj4gPiA+ID4gV2h5IGlzIHRoaXMgaW4g dGhlIGhlYWRlcj8KPiA+ID4KPiA+ID4gRG8geW91IG1lYW4gSSBuZWVkIHRvIG1vdmUgdGhpcyAi c3RydWN0IHNwcGN0bF9ncGlvX2NoaXAgeyAuLi4gfSIKPiA+ID4gZGVjbGFyYXRpb24gdG8gYyBm aWxlIGJlY2F1c2UgaXQgaXMgb25seSB1c2VkIGJ5IHRoZSBjIGZpbGU/Cj4gPgo+ID4gWWVzLgo+ Cj4gQnV0ICJzdHJ1Y3Qgc3BwY3RsX2dwaW9fY2hpcCIgaXMgbm90IG9ubHkgdXNlZCBpbiBjIGZp bGUsIGJ1dCBhbHNvIHVzZWQgaW4gdGhlCj4gc2FtZSBoZWFkZXIgZmlsZSBqdXN0IGJlbmVhdGgg aXQuIFJlZmVyIHRvIGNvZGUgYmVsb3c6CgpUaGFua3MgZm9yIHRoZSBzbmlwcGV0LiBJdCBhY3R1 YWxseSBzaG93cyB0aGUgb3Bwb3NpdGUuIE5vLCBiZWxvdyBpcwp0aGUgdXNlciBvZiB0aGUgX3Bv aW50ZXJfIHRvIHRoZSBzdHJ1Y3Qgb2YgdGhhdCB0eXBlLiBZb3UgbWF5IGVhc2lseQp1c2UgdGhl ICJvcGFxdWUgcG9pbnRlciIgYXBwcm9hY2guIEkuby53LiBteSBjb21tZW50IHN0YXlzLgoKPiBz dHJ1Y3Qgc3BwY3RsX2dwaW9fY2hpcCB7Cj4gICAgICAgICA6Cj4gICAgICAgICA6Cj4gfTsKPgo+ IHN0cnVjdCBzcHBjdGxfcGRhdGEgewo+ICAgICAgICAgOgo+ICAgICAgICAgOgo+ICAgICAgICAg c3RydWN0IHNwcGN0bF9ncGlvX2NoaXAgKnNwcF9nY2hpcDsKPiAgICAgICAgIDoKPiAgICAgICAg IDoKPiB9OwoKLS0gCldpdGggQmVzdCBSZWdhcmRzLApBbmR5IFNoZXZjaGVua28KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK