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 6B884C433EF for ; Fri, 14 Jan 2022 02:51:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238905AbiANCvo (ORCPT ); Thu, 13 Jan 2022 21:51:44 -0500 Received: from 113.196.136.162.ll.static.sparqnet.net ([113.196.136.162]:45662 "EHLO mg.sunplus.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S236108AbiANCvn (ORCPT ); Thu, 13 Jan 2022 21:51:43 -0500 X-MailGates: (flag:3,DYNAMIC,RELAY,NOHOST:PASS)(compute_score:DELIVER,40 ,3) Received: from 172.17.9.202 by mg01.sunplus.com with MailGates ESMTP Server V5.0(23029:0:AUTH_RELAY) (envelope-from ); Fri, 14 Jan 2022 10:51:55 +0800 (CST) Received: from sphcmbx02.sunplus.com.tw (172.17.9.112) by sphcmbx01.sunplus.com.tw (172.17.9.202) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 14 Jan 2022 10:51:55 +0800 Received: from sphcmbx02.sunplus.com.tw ([fe80::fd3d:ad1a:de2a:18bd]) by sphcmbx02.sunplus.com.tw ([fe80::fd3d:ad1a:de2a:18bd%14]) with mapi id 15.00.1497.026; Fri, 14 Jan 2022 10:51:55 +0800 From: =?utf-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= To: Andy Shevchenko CC: Wells Lu , Linus Walleij , "open list:GPIO SUBSYSTEM" , "Linux Kernel Mailing List" , Rob Herring , devicetree , linux-arm Mailing List , "dvorkin@tibbo.com" Subject: RE: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 Thread-Topic: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 Thread-Index: AQHX+JsJQRl6kRXEwk+dQHdfPj/+4axC0feAgAMwBYCAFioXgIAEjh2ggAAegACAARLWMA== Date: Fri, 14 Jan 2022 02:51:55 +0000 Message-ID: <9e15ccc8ee844f1eab320001bc8bc235@sphcmbx02.sunplus.com.tw> References: <1640331779-18277-1-git-send-email-wellslutw@gmail.com> <1640331779-18277-3-git-send-email-wellslutw@gmail.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.25.108.39] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiA+ID4gPiA+ID4gKyAgICAgICBib29sICJTdW5wbHVzIFNQNzAyMSBQaW5NdXggYW5kIEdQSU8g ZHJpdmVyIg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV2h5IGJvb2wgYW5kIG5vdCB0cmlzdGF0ZT8N Cj4gPiA+ID4NCj4gPiA+ID4gUGluY3RybCBkcml2ZXIgaXMgc2VsZWN0ZWQgYnkgbWFueSBkcml2 ZXJzIGluIFNQNzAyMSBwbGF0Zm9ybS4NCj4gPiA+ID4gV2UgbmV2ZXIgYnVpbGQgaXQgYXMgYSBt b2R1bGUsIGJ1dCBidWlsZC1pbiB0byBrZXJuZWwuDQo+ID4gPiA+IFNvIHdlIHVzZSAiYm9vbCIu DQo+ID4gPiA+DQo+ID4gPiA+IFNob3VsZCB3ZSBzZXQgaXQgdG8gdHJpc3RhdGU/DQo+ID4gPg0K PiA+ID4gWW91IHN0aWxsIGhhdmVuJ3QgYW5zd2VyZWQgIndoeSIsIHNvIEkgY2FuJ3QgdGVsbCB5 b3UuDQo+ID4NCj4gPiBJIGFtIHB1enpsZWQgYmVjYXVzZSBJIHRoaW5rIEkgaGF2ZSBhbnN3ZXJl ZCAid2h5Ii4NCj4gDQo+IE5vcGUuIDotKQ0KPiANCj4gPiBCZWNhdXNlIFBpbmN0cmwgZHJpdmVy IGlzIG5lY2Vzc2FyeSBmb3IgYWxsIFNQNzAyMS1iYXNlZCBwbGF0Zm9ybXMuDQo+IA0KPiAiV2h5 PyIgV2h5IGlzIGl0IG5lY2Vzc2FyeSAodG8gYmUgYnVpbHQtaW4pPw0KDQpQaW5jdHJsIGlzIG5l Y2Vzc2FyeSB0byBiZSBidWlsdC1pbiBiZWNhdXNlIGRyaXZlcnMgb2YgYm9vdC1kZXZpY2UsIA0K bGlrZSBlTU1DLCBTRCBjYXJkLCBOQU5EIGZsYXNoLCBhbmQgTk9SIGZsYXNoIGRyaXZlcnMsIG5l ZWQgaXQuDQoNClNQNzAyMSBzdXBwb3J0cyBib290aW5nIGZyb20gZU1NQywgU0QgY2FyZCwgTkFO RCBmbGFzaCBhbmQgTk9SIGZsYXNoIA0KZGV2aWNlcy4gVGhlaXIgZHJpdmVycyBuZWVkIFBpbmN0 cmwgZHJpdmVyIHByb2JlcyBpbiBhZHZhbmNlLg0KDQoNCj4gLi4uDQo+IA0KPiA+ID4gPiA+ID4g KyAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0NCj4gPiA+ID4gPiA+ICsgb2Zfbm9kZV9n ZXQocGRldi0+ZGV2Lm9mX25vZGUpOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV2hhdCdzIHRoZSBy b2xlIG9mIG9mX25vZGVfZ2V0KCk/DQo+ID4gPiA+DQo+ID4gPiA+IEknbGwgcmVtb3ZlIHRoZSB1 bnVzZWQgY29kZXMuDQo+ID4gPiA+IEkgdGhpbmsgaXQgd2FzIHVzZWQgdG8gY2hlY2sgaWYgT0Yg bm9kZSBleGlzdHMuDQo+ID4gPg0KPiA+ID4gQW5kIGlmIGl0IGRvZXNuJ3QsIHdoYXQgaXMgdGhl IGRpZmZlcmVuY2U/DQo+ID4gPg0KPiA+ID4gWW91IGFyZSB0aGUgYXV0aG9yIG9mIHRoaXMgY29k ZSwgcGxlYXNlIGJlIHByZXBhcmVkIHRvIGV4cGxhaW4gZXZlcnkgbGluZSBpbiBpdC4NCj4gPg0K PiA+IEZyb20ga2VybmVsLWRvYyBjb21tZW50LCBvZl9ub2RlX2dldCgpIGluY3JlbWVudHMgcmVm Y291bnQgb2YgYSBub2RlLg0KPiA+IEkgdGhpbmsgYXMgYSBwbGF0Zm9ybSBkcml2ZXIsIHdlIGRv bid0IG5lZWQgdG8gY2hlY2sgaWYgdGhlIG5vZGUgZXhpc3RzIG9yIG5vdC4NCj4gPiBJZiBub3Qg ZXhpc3QsIHBsYXRmb3JtIGRyaXZlciB3aWxsIG5vdCBiZSBwcm9iZWQuDQo+IA0KPiBSaWdodCEN Cj4gDQo+IC4uLg0KPiANCj4gPiA+ID4gPiBXaHkgaXMgdGhpcyBpbiB0aGUgaGVhZGVyPw0KPiA+ ID4gPg0KPiA+ID4gPiBEbyB5b3UgbWVhbiBJIG5lZWQgdG8gbW92ZSB0aGlzICJzdHJ1Y3Qgc3Bw Y3RsX2dwaW9fY2hpcCB7IC4uLiB9Ig0KPiA+ID4gPiBkZWNsYXJhdGlvbiB0byBjIGZpbGUgYmVj YXVzZSBpdCBpcyBvbmx5IHVzZWQgYnkgdGhlIGMgZmlsZT8NCj4gPiA+DQo+ID4gPiBZZXMuDQo+ ID4NCj4gPiBCdXQgInN0cnVjdCBzcHBjdGxfZ3Bpb19jaGlwIiBpcyBub3Qgb25seSB1c2VkIGlu IGMgZmlsZSwgYnV0IGFsc28NCj4gPiB1c2VkIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlIGp1c3Qg YmVuZWF0aCBpdC4gUmVmZXIgdG8gY29kZSBiZWxvdzoNCj4gDQo+IFRoYW5rcyBmb3IgdGhlIHNu aXBwZXQuIEl0IGFjdHVhbGx5IHNob3dzIHRoZSBvcHBvc2l0ZS4gTm8sIGJlbG93IGlzIHRoZSB1 c2VyIG9mIHRoZQ0KPiBfcG9pbnRlcl8gdG8gdGhlIHN0cnVjdCBvZiB0aGF0IHR5cGUuIFlvdSBt YXkgZWFzaWx5IHVzZSB0aGUgIm9wYXF1ZSBwb2ludGVyIiBhcHByb2FjaC4NCj4gSS5vLncuIG15 IGNvbW1lbnQgc3RheXMuDQo+IA0KPiA+IHN0cnVjdCBzcHBjdGxfZ3Bpb19jaGlwIHsNCj4gPiAg ICAgICAgIDoNCj4gPiAgICAgICAgIDoNCj4gPiB9Ow0KPiA+DQo+ID4gc3RydWN0IHNwcGN0bF9w ZGF0YSB7DQo+ID4gICAgICAgICA6DQo+ID4gICAgICAgICA6DQo+ID4gICAgICAgICBzdHJ1Y3Qg c3BwY3RsX2dwaW9fY2hpcCAqc3BwX2djaGlwOw0KPiA+ICAgICAgICAgOg0KPiA+ICAgICAgICAg Og0KPiA+IH07DQoNCkkgc2VlIQ0KSSdsbCBtb3ZlIHN0cnVjdCBzcHBjdGxfZ3Bpb19jaGlwIHsu Li59IHRvIGMgZmlsZSBuZXh0IHBhdGNoLg0KDQoNCj4gLS0NCj4gV2l0aCBCZXN0IFJlZ2FyZHMs DQo+IEFuZHkgU2hldmNoZW5rbw0KDQpUaGFua3MsDQpXZWxscyBMdQ0K 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 D78B0C433F5 for ; Fri, 14 Jan 2022 02:53:27 +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:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=e6+xoyN13lr7RoLicK/KDNbpj0sPc++qi8QAWTKWIg8=; b=hCeXuvPaVOVfyk 0sJP1y+6d7VAEV7KPKa/B/vI3hJ2WVsCrYWNuB1g89JraKvvfLFMsaTK6zNNj7NUPeBEOUN2Djn2l uhggTByaWz9N7Bvwlhf7SQG9guZkatlu1y3D6wzLPxrB+t0EmVnLwzL+NRewt2ShG/FAjv0hqppG7 LWh6nS1xxWcIqm617PrEr/oRwovxQNQTSY2Uf/ECNK43UV1vQu68mRaPfkHb1IT1ZSRsO4b2XfoqB vEoxMloo2AtvYTbZOXHkFuy407/XWkVsH48M0a7OcmBROxFj5z+8b0OXG3YH7ZuNCzyP8cWOvX26S Mg/7zUOXwqTWJFL6DMDw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8ChG-007X5u-5r; Fri, 14 Jan 2022 02:52:10 +0000 Received: from [113.196.136.162] (helo=mg.sunplus.com) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8ChC-007X3R-1Y for linux-arm-kernel@lists.infradead.org; Fri, 14 Jan 2022 02:52:08 +0000 X-MailGates: (flag:3,DYNAMIC,RELAY,NOHOST:PASS)(compute_score:DELIVER,40 ,3) Received: from 172.17.9.202 by mg01.sunplus.com with MailGates ESMTP Server V5.0(23029:0:AUTH_RELAY) (envelope-from ); Fri, 14 Jan 2022 10:51:55 +0800 (CST) Received: from sphcmbx02.sunplus.com.tw (172.17.9.112) by sphcmbx01.sunplus.com.tw (172.17.9.202) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 14 Jan 2022 10:51:55 +0800 Received: from sphcmbx02.sunplus.com.tw ([fe80::fd3d:ad1a:de2a:18bd]) by sphcmbx02.sunplus.com.tw ([fe80::fd3d:ad1a:de2a:18bd%14]) with mapi id 15.00.1497.026; Fri, 14 Jan 2022 10:51:55 +0800 From: =?utf-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= To: Andy Shevchenko CC: Wells Lu , Linus Walleij , "open list:GPIO SUBSYSTEM" , "Linux Kernel Mailing List" , Rob Herring , devicetree , linux-arm Mailing List , "dvorkin@tibbo.com" Subject: RE: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 Thread-Topic: [PATCH v5 2/2] pinctrl: Add driver for Sunplus SP7021 Thread-Index: AQHX+JsJQRl6kRXEwk+dQHdfPj/+4axC0feAgAMwBYCAFioXgIAEjh2ggAAegACAARLWMA== Date: Fri, 14 Jan 2022 02:51:55 +0000 Message-ID: <9e15ccc8ee844f1eab320001bc8bc235@sphcmbx02.sunplus.com.tw> References: <1640331779-18277-1-git-send-email-wellslutw@gmail.com> <1640331779-18277-3-git-send-email-wellslutw@gmail.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.25.108.39] MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220113_185206_538338_FCF8E102 X-CRM114-Status: GOOD ( 31.67 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org > > > > > > + 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)? Pinctrl is necessary to be built-in because drivers of boot-device, like eMMC, SD card, NAND flash, and NOR flash drivers, need it. SP7021 supports booting from eMMC, SD card, NAND flash and NOR flash devices. Their drivers need Pinctrl driver probes in advance. > ... > > > > > > > + struct device_node *np = > > > > > > + 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 line 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 or 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 in 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; > > : > > : > > }; I see! I'll move struct sppctl_gpio_chip {...} to c file next patch. > -- > With Best Regards, > Andy Shevchenko Thanks, Wells Lu _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel