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 38AF9C433EF for ; Thu, 25 Nov 2021 09:52:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351371AbhKYJze (ORCPT ); Thu, 25 Nov 2021 04:55:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354334AbhKYJxd (ORCPT ); Thu, 25 Nov 2021 04:53:33 -0500 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 85BA0C0613E1; Thu, 25 Nov 2021 01:50:17 -0800 (PST) Received: by mail-ed1-x52d.google.com with SMTP id o20so22822046eds.10; Thu, 25 Nov 2021 01:50:17 -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=n5Wf9BQyo6FYoctvlwglENI9zvaw7nRwVtTBUMkFJ6Q=; b=NJZRzqryQtbc9EOyrmaVFPS5ff9tWNGZvXhxda518Yuw95cTXMAOepGDSAJMEB0wJR mrIVpWCcnzmuAZekibqfPQAcEUE2XfzJQeRQHH48n4JdzzpJTnWGGa8/K/h6LcFXSeOb FVblfXVcVbsiPJJnnRPwzxftLWK28ggKjdDTZgGpCy6TSpheq042649lkHOUvDm/9W/5 121dYQzXb6I6NUo24hQxd5skBoFmWjz/LS0yZy80/Ijhf0n9ch5Vz4EdpslIaymwVI5T L3YDehB/dRwX9j0WQXvSSLK6zj0eecLLaNnKT7NsB/ruvqspBPkoZZSjtIhSQxGRMB3g 0ytQ== 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=n5Wf9BQyo6FYoctvlwglENI9zvaw7nRwVtTBUMkFJ6Q=; b=mR1Mc0tLtChJauhiS80tcUD9KdDTHUGn1cVXhns4TB5uIpHABa5ZFCQoErLxcsS+lZ MMTQZflejAoK2PDpw0uxxXKmAS5pI2CVt9anYCigbO+5s3gZcdOBeZyVDaKSlISVn8// 5FT6JHyRM6aUlllCsNfq+CtT6Hee4Ll7nvucO15XcCZykxcOhzzIoYfmQQx4EJ4jm/wa 1R9piFDKS3qn5kggm/2GdVrV439/dbSeKD7fCNEzEPzgLRjvl1OIDLdXUq6rBPMFFHBf HLW7jTbR4W5t3AwCe5AzqXNFa73+eUK/BDeOV1WsTfo4vYMZ16O6VgRUENBCG4ur7zXm 91MQ== X-Gm-Message-State: AOAM531Bo5F9vLJbNcS3Iae8+MNXN4wMGFtmLk186wdId8Jj8cMV9XgR a7Ca4h7lvCtSwNULpwujTnkIxDcNic4N7DsMkkU= X-Google-Smtp-Source: ABdhPJyfZ0exQwQZRq+G5hjG8/AGd5PHsxUAFgNjuxGD4H2PVKsZVU7xYc0D1MrScEOZgpoalpxp0pb/PIdCdcx4nQg= X-Received: by 2002:a50:fb09:: with SMTP id d9mr36568200edq.283.1637833815690; Thu, 25 Nov 2021 01:50:15 -0800 (PST) MIME-Version: 1.0 References: <20211124230439.17531-1-zajec5@gmail.com> <20211124230439.17531-5-zajec5@gmail.com> In-Reply-To: <20211124230439.17531-5-zajec5@gmail.com> From: Andy Shevchenko Date: Thu, 25 Nov 2021 11:49:39 +0200 Message-ID: Subject: Re: [PATCH V2 4/6] pinctrl: support reading pins, groups & functions from DT To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Linus Walleij , Rob Herring , Tony Lindgren , "open list:GPIO SUBSYSTEM" , devicetree , linux-arm Mailing List , Florian Fainelli , bcm-kernel-feedback-list , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On Thu, Nov 25, 2021 at 1:04 AM Rafa=C5=82 Mi=C5=82ecki = wrote: > > From: Rafa=C5=82 Mi=C5=82ecki > > DT binding allows specifying pins, groups & functions now. That allows > storing them in DT instead of hardcoding in drivers. > > This adds support for DT as data source to recently introduced API. a data the recently ... > int pinctrl_generic_load_pins(struct pinctrl_desc *pctldesc, struct devi= ce *dev) > { > + if (dev->of_node) Again, it's a layering violation. > + return pinctrl_generic_dt_load_pins(pctldesc, dev); > + > return -ENOENT; > } > EXPORT_SYMBOL_GPL(pinctrl_generic_load_pins); > int pinctrl_generic_load_groups(struct pinctrl_dev *pctldev) > { > + if (pctldev->dev->of_node) > + return pinctrl_generic_load_dt_groups(pctldev); > + > return -ENOENT; > } > EXPORT_SYMBOL_GPL(pinctrl_generic_load_groups); > int pinmux_generic_load_functions(struct pinctrl_dev *pctldev) > { > + if (pctldev->dev->of_node) > + return pinmux_generic_load_dt_functions(pctldev); > + > return -ENOENT; > } > EXPORT_SYMBOL_GPL(pinmux_generic_load_functions); Have you thought about making ops structure (or ops inside existing structure) and all above will be something like stuct ops *... =3D ...->ops; if (ops && ops->METHOD) return ops->METHOD(...); return -ERRNO; --=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 EF59FC433F5 for ; Thu, 25 Nov 2021 09:52:13 +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=w4yu4+5QDR5iNYZC6UPsQLpX4Z3hN2Lgw5/Ne8+qDVw=; b=CGEQM05B/cbawB tiGNvgThD4RoA+jR0N6JganiOBCAfQSVwHAUgdVqfmzgOZU7TU+XV3B2Eh4YK5bl1xUZXZUIPmliV kL/Vumg/F0mOBgODhR4Sbsj4OShrFzoPQeaU+NQel9cEDYjCT1EEJdwLL8v3JqwBYAqxiAe57ew4X LeKFIAB9/wmp0NCeWx+GDrgKMTvK/d+ZG+r3kU6d/RtgUnPp+Ezlj5+0LZbxUowIX2o2KDDYIvA/M 6x+2o7OsYTaal6n7X5ExIWIC18bQjiZb4npSM0sla3g3xj6APcFI4PiRgUpSWPoFAgWtfYJZxLAGS wPzIdltyPvPAwtdZ9gOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqBOX-006y5n-MV; Thu, 25 Nov 2021 09:50:21 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqBOU-006y52-Dx for linux-arm-kernel@lists.infradead.org; Thu, 25 Nov 2021 09:50:19 +0000 Received: by mail-ed1-x52f.google.com with SMTP id r11so22994243edd.9 for ; Thu, 25 Nov 2021 01:50: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=n5Wf9BQyo6FYoctvlwglENI9zvaw7nRwVtTBUMkFJ6Q=; b=NJZRzqryQtbc9EOyrmaVFPS5ff9tWNGZvXhxda518Yuw95cTXMAOepGDSAJMEB0wJR mrIVpWCcnzmuAZekibqfPQAcEUE2XfzJQeRQHH48n4JdzzpJTnWGGa8/K/h6LcFXSeOb FVblfXVcVbsiPJJnnRPwzxftLWK28ggKjdDTZgGpCy6TSpheq042649lkHOUvDm/9W/5 121dYQzXb6I6NUo24hQxd5skBoFmWjz/LS0yZy80/Ijhf0n9ch5Vz4EdpslIaymwVI5T L3YDehB/dRwX9j0WQXvSSLK6zj0eecLLaNnKT7NsB/ruvqspBPkoZZSjtIhSQxGRMB3g 0ytQ== 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=n5Wf9BQyo6FYoctvlwglENI9zvaw7nRwVtTBUMkFJ6Q=; b=58Rie8h0YBLlXzmwUJqcrQ9ZagERfiL/2FN6fVbXOdBdD1I9Q+sh9y1jZfgIkrK78s o0NBbQ6SRu9WkbrGX3T7zxwixrsdKNJflfqjR4PUVLlTLzeDFgKzGHf2nxes8070cZbG RbhcWy4qhJ7SC6FaCaMNA6lbdZvObWtwaGpaqqcPh4DXztQ9LZ4tyIT3bRHg28U/ZPIK TVbKdrZOQ10WcJ58WSc0tfR3AK2Pd8GmHm3Zc9w/L4cWNvM/HGsJEcGJTyLAaEdgs+GD zKRutv3aO4AuNs/dq0ajPxwUchKNBMU10FWQDGO7cOVEWCMFSi2t4yxWo/UjINqIz9HN DtbA== X-Gm-Message-State: AOAM530iy2EopUgKOdEuwMN1NqyAfDm25ZjSRAuDbKxkZUPgBy3pf/bR Mfy+e/3yyuMO0u6HRXMR2NpAiR7k9Y6pvuvQ7NE= X-Google-Smtp-Source: ABdhPJyfZ0exQwQZRq+G5hjG8/AGd5PHsxUAFgNjuxGD4H2PVKsZVU7xYc0D1MrScEOZgpoalpxp0pb/PIdCdcx4nQg= X-Received: by 2002:a50:fb09:: with SMTP id d9mr36568200edq.283.1637833815690; Thu, 25 Nov 2021 01:50:15 -0800 (PST) MIME-Version: 1.0 References: <20211124230439.17531-1-zajec5@gmail.com> <20211124230439.17531-5-zajec5@gmail.com> In-Reply-To: <20211124230439.17531-5-zajec5@gmail.com> From: Andy Shevchenko Date: Thu, 25 Nov 2021 11:49:39 +0200 Message-ID: Subject: Re: [PATCH V2 4/6] pinctrl: support reading pins, groups & functions from DT To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Linus Walleij , Rob Herring , Tony Lindgren , "open list:GPIO SUBSYSTEM" , devicetree , linux-arm Mailing List , Florian Fainelli , bcm-kernel-feedback-list , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211125_015018_511136_85864622 X-CRM114-Status: GOOD ( 11.81 ) 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 T24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMTowNCBBTSBSYWZhxYIgTWnFgmVja2kgPHphamVjNUBn bWFpbC5jb20+IHdyb3RlOgo+Cj4gRnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tp LnBsPgo+Cj4gRFQgYmluZGluZyBhbGxvd3Mgc3BlY2lmeWluZyBwaW5zLCBncm91cHMgJiBmdW5j dGlvbnMgbm93LiBUaGF0IGFsbG93cwo+IHN0b3JpbmcgdGhlbSBpbiBEVCBpbnN0ZWFkIG9mIGhh cmRjb2RpbmcgaW4gZHJpdmVycy4KPgo+IFRoaXMgYWRkcyBzdXBwb3J0IGZvciBEVCBhcyBkYXRh IHNvdXJjZSB0byByZWNlbnRseSBpbnRyb2R1Y2VkIEFQSS4KCmEgZGF0YQp0aGUgcmVjZW50bHkK Ci4uLgoKPiAgaW50IHBpbmN0cmxfZ2VuZXJpY19sb2FkX3BpbnMoc3RydWN0IHBpbmN0cmxfZGVz YyAqcGN0bGRlc2MsIHN0cnVjdCBkZXZpY2UgKmRldikKPiAgewo+ICsgICAgICAgaWYgKGRldi0+ b2Zfbm9kZSkKCkFnYWluLCBpdCdzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgoKPiArICAgICAgICAg ICAgICAgcmV0dXJuIHBpbmN0cmxfZ2VuZXJpY19kdF9sb2FkX3BpbnMocGN0bGRlc2MsIGRldik7 Cj4gKwo+ICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTF9HUEwo cGluY3RybF9nZW5lcmljX2xvYWRfcGlucyk7Cgo+ICBpbnQgcGluY3RybF9nZW5lcmljX2xvYWRf Z3JvdXBzKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldikKPiAgewo+ICsgICAgICAgaWYgKHBj dGxkZXYtPmRldi0+b2Zfbm9kZSkKPiArICAgICAgICAgICAgICAgcmV0dXJuIHBpbmN0cmxfZ2Vu ZXJpY19sb2FkX2R0X2dyb3VwcyhwY3RsZGV2KTsKPiArCj4gICAgICAgICByZXR1cm4gLUVOT0VO VDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTChwaW5jdHJsX2dlbmVyaWNfbG9hZF9ncm91cHMp OwoKPiAgaW50IHBpbm11eF9nZW5lcmljX2xvYWRfZnVuY3Rpb25zKHN0cnVjdCBwaW5jdHJsX2Rl diAqcGN0bGRldikKPiAgewo+ICsgICAgICAgaWYgKHBjdGxkZXYtPmRldi0+b2Zfbm9kZSkKPiAr ICAgICAgICAgICAgICAgcmV0dXJuIHBpbm11eF9nZW5lcmljX2xvYWRfZHRfZnVuY3Rpb25zKHBj dGxkZXYpOwo+ICsKPiAgICAgICAgIHJldHVybiAtRU5PRU5UOwo+ICB9Cj4gIEVYUE9SVF9TWU1C T0xfR1BMKHBpbm11eF9nZW5lcmljX2xvYWRfZnVuY3Rpb25zKTsKCkhhdmUgeW91IHRob3VnaHQg YWJvdXQgbWFraW5nIG9wcyBzdHJ1Y3R1cmUgKG9yIG9wcyBpbnNpZGUgZXhpc3RpbmcKc3RydWN0 dXJlKSBhbmQgYWxsIGFib3ZlIHdpbGwgYmUgc29tZXRoaW5nIGxpa2UKCiAgc3R1Y3Qgb3BzICou Li4gPSAuLi4tPm9wczsKCiAgaWYgKG9wcyAmJiBvcHMtPk1FVEhPRCkKICAgIHJldHVybiBvcHMt Pk1FVEhPRCguLi4pOwoKICByZXR1cm4gLUVSUk5POwoKLS0gCldpdGggQmVzdCBSZWdhcmRzLApB bmR5IFNoZXZjaGVua28KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK