From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quentin Schulz Subject: Re: [PATCH v2 02/10] pinctrl: axp209: add pinctrl features Date: Tue, 26 Sep 2017 15:08:21 +0200 Message-ID: <5596280a-51bb-7491-31f4-5800219888ad@free-electrons.com> References: <6b89df1bf07dac2ab295fca5fdf0e55179c47ed6.1506428208.git-series.quentin.schulz@free-electrons.com> <20170926130009.r5isgrjvkwmm44nn@flea> Reply-To: quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Tu9tUEg7AlRafR3iP0u73KuJAKulJ18T1" Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: <20170926130009.r5isgrjvkwmm44nn@flea> List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Maxime Ripard Cc: linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, wens-jdAy2FN1RRM@public.gmane.org, linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org, lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org List-Id: devicetree@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Tu9tUEg7AlRafR3iP0u73KuJAKulJ18T1 Content-Type: multipart/mixed; boundary="e2OBghtpOGG1QeUKCkqwESRraeihPLNlk"; protected-headers="v1" From: Quentin Schulz To: Maxime Ripard Cc: linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, wens-jdAy2FN1RRM@public.gmane.org, linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org, lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org Message-ID: <5596280a-51bb-7491-31f4-5800219888ad-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> Subject: Re: [PATCH v2 02/10] pinctrl: axp209: add pinctrl features References: <6b89df1bf07dac2ab295fca5fdf0e55179c47ed6.1506428208.git-series.quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> <20170926130009.r5isgrjvkwmm44nn@flea> In-Reply-To: <20170926130009.r5isgrjvkwmm44nn@flea> --e2OBghtpOGG1QeUKCkqwESRraeihPLNlk Content-Type: text/plain; charset="UTF-8" Content-Language: en-US Hi Maxime, On 26/09/2017 15:00, Maxime Ripard wrote: > On Tue, Sep 26, 2017 at 12:17:12PM +0000, Quentin Schulz wrote: >> +static const struct axp20x_desc_pin axp209_pins[] = { >> + AXP20X_PIN(AXP20X_PINCTRL_PIN(0, "GPIO0"), >> + AXP20X_FUNCTION(0x0, "gpio_out"), >> + AXP20X_FUNCTION(0x2, "gpio_in"), >> + AXP20X_FUNCTION(0x3, "ldo"), >> + AXP20X_FUNCTION(0x4, "adc")), >> + AXP20X_PIN(AXP20X_PINCTRL_PIN(1, "GPIO1"), >> + AXP20X_FUNCTION(0x0, "gpio_out"), >> + AXP20X_FUNCTION(0x2, "gpio_in"), >> + AXP20X_FUNCTION(0x3, "ldo"), >> + AXP20X_FUNCTION(0x4, "adc")), >> + AXP20X_PIN(AXP20X_PINCTRL_PIN(2, "GPIO2"), >> + AXP20X_FUNCTION(0x0, "gpio_out"), >> + AXP20X_FUNCTION(0x2, "gpio_in")), >> +}; > > If all the functions are the same, and at the same offset, can't we > just hardcode it, instead of having (and duplicate) all the logic > below? > AXP20X_PIN(AXP20X_PINCTRL_PIN(0, "GPIO0"), AXP20X_GPIO_OUT, AXP20X_GPIO_IN, AXP20X_LDO, AXP20X_ADC)) That's what you mean? >> + pctrl_desc = devm_kzalloc(&pdev->dev, sizeof(*pctrl_desc), GFP_KERNEL); >> + if (!pctrl_desc) >> + return -ENOMEM; >> + >> + pctrl_desc->name = dev_name(&pdev->dev); >> + pctrl_desc->owner = THIS_MODULE; >> + pctrl_desc->pins = pins; >> + pctrl_desc->npins = gpio->desc->npins; >> + pctrl_desc->pctlops = &axp20x_pctrl_ops; >> + pctrl_desc->pmxops = &axp20x_pmx_ops; > > The strict flag needs to be set too in order to avoid concurrent uses > of GPIO and other functions. > Strict is a property of pinmux_ops struct (pmxops) and it is set. Thanks, Quentin -- Quentin Schulz, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout. --e2OBghtpOGG1QeUKCkqwESRraeihPLNlk-- --Tu9tUEg7AlRafR3iP0u73KuJAKulJ18T1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCAAGBQJZylFFAAoJEIS4mnU+4PGj6z4QAKAu+SJQMQl+/74HftfG1OFT 55DXQHJbz61AS44x7x4LNfR9roQ9IgD8PBPxEGnyTTLZnnSPxGGZ3XoIEFoeUYvn +DCh7uLWv5Cx+ZKicyP77rm8IqkCMu82P8+zl98XKInKwJ79bkz0yF4NN8ON+FZx 0+xioSzQDvlddiBOEuEu+3gnkkiMetXeV1GitIt1fqndaQ4kCYmA6koJ2C68IBSo cx+MBoLahXgrMjCyA+eroJ1QOKhhbkntresQJ0yytgTKT9kkB2qoMmoqzt9Wisiw GYRbqP2znGLLVSwLELKIjoFxhDtire4sLpCeZbl/aiN4nKUGm8dhpr+fdnGp4x7J EOiRMLKzjQAxAFqsGqstH5ca3d6V63oNNSTwrKRZmWrAH5rV4o7PK9xSxtAEdMKb EUaTYXlxM5kwUX0NpHLZtlni+DU7KbAD1hQaCg7XluMmT2mm03c5etbBbKzJK8ar GU5lyyXuHipnX4YYX2OHaMEkXCctAGMQ9IAL157pwfrH/gFJykKU8SHPKZFt+dJc 0bux0wvHZez0Qi4qwUaFAZ7RMTHE+cPYZt2mUiNw5wpeQZSWvkTlzVdqSlHTgNV8 htnWTr7sU7DlENUOVb1eS2TgVTINZzqqaBfQapIOJKHYD3GNmny7ub79tZfJelp1 g+BmhDats/9794trLzgG =Weq+ -----END PGP SIGNATURE----- --Tu9tUEg7AlRafR3iP0u73KuJAKulJ18T1--