Message ID | cover.1573029228.git.matti.vaittinen@fi.rohmeurope.com (mailing list archive) |
---|---|
Headers | show |
Series | Add definition for GPIO direction | expand |
Hi, On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > The patch series adds definitions for GPIO line directions. > > For occasional GPIO contributor like me it is always a pain to remember > whether 1 or 0 was used for GPIO direction INPUT/OUTPUT. Judging the > fact that I removed few comments like: > > /* Return 0 if output, 1 if input */ > /* This means "out" */ > return 1; /* input */ > return 0; /* output */ > > it seems at least some others may find it hard to remember too. Adding > defines for these values helps us who really have good - but short > duration - memory :] > > This idea comes from RFC series for ROHM BD71828 PMIC and was initially > discussed with Linus Walleij here: > https://lore.kernel.org/lkml/c06725c3dd34118a324907137758d8b85b3d4043.camel@fi.rohmeurope.com/ > but as this has no dependencies to BD71828 work (which probably takes a > while) I decided to make it independent series. > > Patches are compile-tested only. I have no HW to really test them. Thus I'd > appreciate carefull review. This work is mainly about converting zeros > and ones to the new defines but it wouldn't be first time I get it > wrong. > > Changelog v2: > - squashed patches 2-61 into patch 2. > - dropped patch 62 (can be applied later) > - rebased (cherry-picked) changes on top of GPIO devel branch. > > Patch 1: > - adds the defines > Patch 2: > - convert drivers to use new defines > > This patch series is based on GPIO tree devel branch. > > --- > > Matti Vaittinen (2): > gpio: Add definition for GPIO direction > gpio: Use new GPIO_LINE_DIRECTION > > drivers/gpio/* > include/linux/gpio/driver.h | 3 +++ > 61 files changed, 214 insertions(+), 102 deletions(-) Maybe also update the GPIO drivers in pinctrl? $ git grep -l gpio_get_direction drivers/pinctrl drivers/pinctrl/bcm/pinctrl-bcm2835.c drivers/pinctrl/bcm/pinctrl-iproc-gpio.c drivers/pinctrl/intel/pinctrl-baytrail.c drivers/pinctrl/intel/pinctrl-cherryview.c drivers/pinctrl/intel/pinctrl-intel.c drivers/pinctrl/mediatek/pinctrl-mtk-common.c drivers/pinctrl/mediatek/pinctrl-paris.c drivers/pinctrl/mvebu/pinctrl-armada-37xx.c drivers/pinctrl/pinctrl-amd.c drivers/pinctrl/pinctrl-at91.c drivers/pinctrl/pinctrl-axp209.c drivers/pinctrl/pinctrl-ingenic.c drivers/pinctrl/pinctrl-ocelot.c drivers/pinctrl/pinctrl-oxnas.c drivers/pinctrl/pinctrl-pic32.c drivers/pinctrl/pinctrl-pistachio.c drivers/pinctrl/pinctrl-rk805.c drivers/pinctrl/pinctrl-rockchip.c drivers/pinctrl/pinctrl-rza1.c drivers/pinctrl/pinctrl-st.c drivers/pinctrl/pinctrl-stmfx.c drivers/pinctrl/pinctrl-sx150x.c drivers/pinctrl/qcom/pinctrl-msm.c drivers/pinctrl/stm32/pinctrl-stm32.c drivers/pinctrl/vt8500/pinctrl-wmt.c -- Sebastian
On Wed, 2019-11-06 at 13:08 +0100, Sebastian Reichel wrote: > Hi, > > On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > > The patch series adds definitions for GPIO line directions. > > > > For occasional GPIO contributor like me it is always a pain to > > remember > > whether 1 or 0 was used for GPIO direction INPUT/OUTPUT. > > Maybe also update the GPIO drivers in pinctrl? > > $ git grep -l gpio_get_direction drivers/pinctrl > drivers/pinctrl/bcm/pinctrl-bcm2835.c > drivers/pinctrl/bcm/pinctrl-iproc-gpio.c > drivers/pinctrl/intel/pinctrl-baytrail.c > drivers/pinctrl/intel/pinctrl-cherryview.c > drivers/pinctrl/intel/pinctrl-intel.c > drivers/pinctrl/mediatek/pinctrl-mtk-common.c > drivers/pinctrl/mediatek/pinctrl-paris.c > drivers/pinctrl/mvebu/pinctrl-armada-37xx.c > drivers/pinctrl/pinctrl-amd.c > drivers/pinctrl/pinctrl-at91.c > drivers/pinctrl/pinctrl-axp209.c > drivers/pinctrl/pinctrl-ingenic.c > drivers/pinctrl/pinctrl-ocelot.c > drivers/pinctrl/pinctrl-oxnas.c > drivers/pinctrl/pinctrl-pic32.c > drivers/pinctrl/pinctrl-pistachio.c > drivers/pinctrl/pinctrl-rk805.c > drivers/pinctrl/pinctrl-rockchip.c > drivers/pinctrl/pinctrl-rza1.c > drivers/pinctrl/pinctrl-st.c > drivers/pinctrl/pinctrl-stmfx.c > drivers/pinctrl/pinctrl-sx150x.c > drivers/pinctrl/qcom/pinctrl-msm.c > drivers/pinctrl/stm32/pinctrl-stm32.c > drivers/pinctrl/vt8500/pinctrl-wmt.c Ouch. I didn't check from pinctrl but I see those should be converted as well. I'm a bit short on time right now so if anyone else is interested I won't mind :) Luckily the value for IN and OUT is not changed - only the defines were added - so all of the drivers do not need to be done at once. If no one else will take the pinctrl part then I can probably do pinctrl patches for v5.6 cycle. Br, Matti Vaittinen
On Wed, Nov 06, 2019 at 12:25:18PM +0000, Vaittinen, Matti wrote: > > On Wed, 2019-11-06 at 13:08 +0100, Sebastian Reichel wrote: > > Hi, > > > > On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > > > The patch series adds definitions for GPIO line directions. > > > > > > For occasional GPIO contributor like me it is always a pain to > > > remember > > > whether 1 or 0 was used for GPIO direction INPUT/OUTPUT. > > > > Maybe also update the GPIO drivers in pinctrl? > > > > $ git grep -l gpio_get_direction drivers/pinctrl > > drivers/pinctrl/bcm/pinctrl-bcm2835.c > > drivers/pinctrl/bcm/pinctrl-iproc-gpio.c > > drivers/pinctrl/intel/pinctrl-baytrail.c > > drivers/pinctrl/intel/pinctrl-cherryview.c > > drivers/pinctrl/intel/pinctrl-intel.c > > drivers/pinctrl/mediatek/pinctrl-mtk-common.c > > drivers/pinctrl/mediatek/pinctrl-paris.c > > drivers/pinctrl/mvebu/pinctrl-armada-37xx.c > > drivers/pinctrl/pinctrl-amd.c > > drivers/pinctrl/pinctrl-at91.c > > drivers/pinctrl/pinctrl-axp209.c > > drivers/pinctrl/pinctrl-ingenic.c > > drivers/pinctrl/pinctrl-ocelot.c > > drivers/pinctrl/pinctrl-oxnas.c > > drivers/pinctrl/pinctrl-pic32.c > > drivers/pinctrl/pinctrl-pistachio.c > > drivers/pinctrl/pinctrl-rk805.c > > drivers/pinctrl/pinctrl-rockchip.c > > drivers/pinctrl/pinctrl-rza1.c > > drivers/pinctrl/pinctrl-st.c > > drivers/pinctrl/pinctrl-stmfx.c > > drivers/pinctrl/pinctrl-sx150x.c > > drivers/pinctrl/qcom/pinctrl-msm.c > > drivers/pinctrl/stm32/pinctrl-stm32.c > > drivers/pinctrl/vt8500/pinctrl-wmt.c > > Ouch. I didn't check from pinctrl but I see those should be converted > as well. I'm a bit short on time right now so if anyone else is > interested I won't mind :) > > Luckily the value for IN and OUT is not changed - only the defines were > added - so all of the drivers do not need to be done at once. Agree. > If no one > else will take the pinctrl part then I can probably do pinctrl patches > for v5.6 cycle. For pin control Intel, since we send PR to Linus and it won't be different to him, we would like to see patch per driver.
On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > The patch series adds definitions for GPIO line directions. > > For occasional GPIO contributor like me it is always a pain to remember > whether 1 or 0 was used for GPIO direction INPUT/OUTPUT. Judging the > fact that I removed few comments like: > > /* Return 0 if output, 1 if input */ > /* This means "out" */ > return 1; /* input */ > return 0; /* output */ > > it seems at least some others may find it hard to remember too. Adding > defines for these values helps us who really have good - but short > duration - memory :] > > This idea comes from RFC series for ROHM BD71828 PMIC and was initially > discussed with Linus Walleij here: > https://lore.kernel.org/lkml/c06725c3dd34118a324907137758d8b85b3d4043.camel@fi.rohmeurope.com/ > but as this has no dependencies to BD71828 work (which probably takes a > while) I decided to make it independent series. > > Patches are compile-tested only. I have no HW to really test them. Thus I'd > appreciate carefull review. This work is mainly about converting zeros > and ones to the new defines but it wouldn't be first time I get it > wrong. > > Changelog v2: > - squashed patches 2-61 into patch 2. > - dropped patch 62 (can be applied later) > - rebased (cherry-picked) changes on top of GPIO devel branch. > > Patch 1: > - adds the defines > Patch 2: > - convert drivers to use new defines > > This patch series is based on GPIO tree devel branch. Just a tip for future patchsets in case you didn't know, you case specify the base of your patchset by using the "--base" option: https://git-scm.com/docs/git-format-patch#_base_tree_information This will append a "base-commit" line with the commit hash at the end of the first message so that it's unabiguous which base you're using (useful in case the branch changes before your patch is reviewed). William Breathitt Gray > > --- > > Matti Vaittinen (2): > gpio: Add definition for GPIO direction > gpio: Use new GPIO_LINE_DIRECTION > > drivers/gpio/gpio-104-dio-48e.c | 5 ++++- > drivers/gpio/gpio-104-idi-48.c | 2 +- > drivers/gpio/gpio-104-idio-16.c | 4 ++-- > drivers/gpio/gpio-74xx-mmio.c | 5 ++++- > drivers/gpio/gpio-amd-fch.c | 2 +- > drivers/gpio/gpio-aspeed.c | 7 +++---- > drivers/gpio/gpio-bcm-kona.c | 6 +++--- > drivers/gpio/gpio-bd70528.c | 8 +++++--- > drivers/gpio/gpio-bd9571mwv.c | 4 +++- > drivers/gpio/gpio-dln2.c | 6 +++--- > drivers/gpio/gpio-exar.c | 5 ++++- > drivers/gpio/gpio-f7188x.c | 5 ++++- > drivers/gpio/gpio-gpio-mm.c | 5 ++++- > drivers/gpio/gpio-htc-egpio.c | 5 ++++- > drivers/gpio/gpio-ich.c | 5 ++++- > drivers/gpio/gpio-kempld.c | 5 ++++- > drivers/gpio/gpio-lp873x.c | 2 +- > drivers/gpio/gpio-lp87565.c | 5 ++++- > drivers/gpio/gpio-madera.c | 5 ++++- > drivers/gpio/gpio-max3191x.c | 2 +- > drivers/gpio/gpio-merrifield.c | 5 ++++- > drivers/gpio/gpio-mmio.c | 21 +++++++++++++++------ > drivers/gpio/gpio-mockup.c | 11 +++-------- > drivers/gpio/gpio-moxtet.c | 4 ++-- > drivers/gpio/gpio-mvebu.c | 5 ++++- > drivers/gpio/gpio-mxs.c | 5 ++++- > drivers/gpio/gpio-omap.c | 6 ++++-- > drivers/gpio/gpio-pca953x.c | 5 ++++- > drivers/gpio/gpio-pci-idio-16.c | 4 ++-- > drivers/gpio/gpio-pcie-idio-24.c | 9 ++++++--- > drivers/gpio/gpio-pisosr.c | 2 +- > drivers/gpio/gpio-pl061.c | 5 ++++- > drivers/gpio/gpio-raspberrypi-exp.c | 5 ++++- > drivers/gpio/gpio-rcar.c | 5 ++++- > drivers/gpio/gpio-reg.c | 3 ++- > drivers/gpio/gpio-sa1100.c | 5 ++++- > drivers/gpio/gpio-sama5d2-piobu.c | 7 ++++--- > drivers/gpio/gpio-sch.c | 5 ++++- > drivers/gpio/gpio-sch311x.c | 5 ++++- > drivers/gpio/gpio-siox.c | 4 ++-- > drivers/gpio/gpio-stmpe.c | 5 ++++- > drivers/gpio/gpio-tc3589x.c | 5 ++++- > drivers/gpio/gpio-tegra.c | 5 ++++- > drivers/gpio/gpio-tegra186.c | 4 ++-- > drivers/gpio/gpio-thunderx.c | 5 ++++- > drivers/gpio/gpio-tpic2810.c | 2 +- > drivers/gpio/gpio-tps65086.c | 2 +- > drivers/gpio/gpio-tps65912.c | 4 ++-- > drivers/gpio/gpio-tps68470.c | 6 +++--- > drivers/gpio/gpio-tqmx86.c | 5 ++++- > drivers/gpio/gpio-ts4900.c | 5 ++++- > drivers/gpio/gpio-twl4030.c | 10 +++++----- > drivers/gpio/gpio-twl6040.c | 3 +-- > drivers/gpio/gpio-uniphier.c | 5 ++++- > drivers/gpio/gpio-wcove.c | 7 +++++-- > drivers/gpio/gpio-ws16c48.c | 5 ++++- > drivers/gpio/gpio-xgene.c | 5 ++++- > drivers/gpio/gpio-xra1403.c | 5 ++++- > drivers/gpio/gpio-xtensa.c | 4 ++-- > drivers/gpio/gpio-zynq.c | 7 +++++-- > include/linux/gpio/driver.h | 3 +++ > 61 files changed, 214 insertions(+), 102 deletions(-) > > -- > 2.21.0 > > > -- > Matti Vaittinen, Linux device drivers > ROHM Semiconductors, Finland SWDC > Kiviharjunlenkki 1E > 90220 OULU > FINLAND > > ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ > Simon says - in Latin please. > ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ > Thanks to Simon Glass for the translation =]
On Wed, 2019-11-06 at 09:39 -0500, William Breathitt Gray wrote: > On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > > The patch series adds definitions for GPIO line directions. ...snip... > > This patch series is based on GPIO tree devel branch. > > Just a tip for future patchsets in case you didn't know, you case > specify the base of your patchset by using the "--base" option: > https://git-scm.com/docs/git-format-patch#_base_tree_information > > This will append a "base-commit" line with the commit hash at the end > of > the first message so that it's unabiguous which base you're using > (useful in case the branch changes before your patch is reviewed). Tanks William! I didn't know about the --base. It's nice to learn something new every day :] > > -- > > Matti Vaittinen, Linux device drivers > > ROHM Semiconductors, Finland SWDC > > Kiviharjunlenkki 1E > > 90220 OULU > > FINLAND > > > > ~~~ "I don't think so," said Rene Descartes. Just then he vanished > > ~~~ > > Simon says - in Latin please. > > ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ > > Thanks to Simon Glass for the translation =]
On Wed, Nov 6, 2019 at 1:25 PM Vaittinen, Matti <Matti.Vaittinen@fi.rohmeurope.com> wrote: > On Wed, 2019-11-06 at 13:08 +0100, Sebastian Reichel wrote: > > On Wed, Nov 06, 2019 at 10:51:06AM +0200, Matti Vaittinen wrote: > > > The patch series adds definitions for GPIO line directions. > > > > > > For occasional GPIO contributor like me it is always a pain to > > > remember > > > whether 1 or 0 was used for GPIO direction INPUT/OUTPUT. > > > > Maybe also update the GPIO drivers in pinctrl? (...) > Ouch. I didn't check from pinctrl but I see those should be converted > as well. I'm a bit short on time right now so if anyone else is > interested I won't mind :) > > Luckily the value for IN and OUT is not changed - only the defines were > added - so all of the drivers do not need to be done at once. If no one > else will take the pinctrl part then I can probably do pinctrl patches > for v5.6 cycle. No hurry with that. This is a good start, we don't have to fix the whole world at once. Let's look at this for v5.6. Yours, Linus Walleij
On Wed, Nov 6, 2019 at 3:25 PM andriy.shevchenko@linux.intel.com <andriy.shevchenko@linux.intel.com> wrote: > On Wed, Nov 06, 2019 at 12:25:18PM +0000, Vaittinen, Matti wrote: > > If no one > > else will take the pinctrl part then I can probably do pinctrl patches > > for v5.6 cycle. > > For pin control Intel, since we send PR to Linus and it won't be different to > him, we would like to see patch per driver. It is generally good to bundle these changes because so many driver maintainers are passive. (Not Intel!) If you are concerned, what about we just make a separate patch for the drivers under drivers/pinctrl/intel and bundle the rest? Possibly Geert want the sh-pfc changes separately as well as he build his own pinctrl changes. Rough consensus and working patches. Yours, Linus Walleij
Hi Linus, On Thu, Nov 7, 2019 at 9:26 AM Linus Walleij <linus.walleij@linaro.org> wrote: > On Wed, Nov 6, 2019 at 3:25 PM andriy.shevchenko@linux.intel.com > <andriy.shevchenko@linux.intel.com> wrote: > > On Wed, Nov 06, 2019 at 12:25:18PM +0000, Vaittinen, Matti wrote: > > > > If no one > > > else will take the pinctrl part then I can probably do pinctrl patches > > > for v5.6 cycle. > > > > For pin control Intel, since we send PR to Linus and it won't be different to > > him, we would like to see patch per driver. > > It is generally good to bundle these changes because so many > driver maintainers are passive. (Not Intel!) > > If you are concerned, what about we just make a separate patch > for the drivers under drivers/pinctrl/intel and bundle the rest? > Possibly Geert want the sh-pfc changes separately as well > as he build his own pinctrl changes. I guess the sh-pfc change would be small, and limited to a part of the code that isn't touched regularly? So that means it can go in with the rest, bypassing me (but please CC me). Thanks! Gr{oetje,eeting}s, Geert
On Thu, 2019-11-07 at 09:26 +0100, Linus Walleij wrote: > On Wed, Nov 6, 2019 at 3:25 PM andriy.shevchenko@linux.intel.com > <andriy.shevchenko@linux.intel.com> wrote: > > On Wed, Nov 06, 2019 at 12:25:18PM +0000, Vaittinen, Matti wrote: > > > If no one > > > else will take the pinctrl part then I can probably do pinctrl > > > patches > > > for v5.6 cycle. > > > > For pin control Intel, since we send PR to Linus and it won't be > > different to > > him, we would like to see patch per driver. > > It is generally good to bundle these changes because so many > driver maintainers are passive. (Not Intel!) That reminded me.. I got 'unknown recipient' replies <nandor.han@ge.com>: 550 5.1.1 No such user - pp <semi.malinen@ge.com>: 550 5.1.1 No such user - pp from both Semi and Nandor - who seem to be the only maintainers listed for XRA1403 GPIO EXPANDER in MAINTAINERS. XRA1403 GPIO EXPANDER M: Nandor Han <nandor.han@ge.com> M: Semi Malinen <semi.malinen@ge.com> L: linux-gpio@vger.kernel.org S: Maintained F: drivers/gpio/gpio-xra1403.c F: Documentation/devicetree/bindings/gpio/gpio-xra1403.txt Anyone knows new mail addresses or perhaps the separate entry for XRA1403 should be removed? > If you are concerned, what about we just make a separate patch > for the drivers under drivers/pinctrl/intel and bundle the rest? > Possibly Geert want the sh-pfc changes separately as well > as he build his own pinctrl changes. > > Rough consensus and working patches. In general - Which one is harder? xD But this works for me. Br, Matti Vaittinen
On Thu, Nov 07, 2019 at 09:26:43AM +0100, Linus Walleij wrote: > On Wed, Nov 6, 2019 at 3:25 PM andriy.shevchenko@linux.intel.com > <andriy.shevchenko@linux.intel.com> wrote: > > On Wed, Nov 06, 2019 at 12:25:18PM +0000, Vaittinen, Matti wrote: > > For pin control Intel, since we send PR to Linus and it won't be different to > > him, we would like to see patch per driver. > > It is generally good to bundle these changes because so many > driver maintainers are passive. (Not Intel!) > > If you are concerned, what about we just make a separate patch > for the drivers under drivers/pinctrl/intel and bundle the rest? Fine with me!
Hi, On Thu, Nov 07, 2019 at 08:52:11AM +0000, Vaittinen, Matti wrote: > That reminded me.. I got 'unknown recipient' replies > <nandor.han@ge.com>: 550 5.1.1 No such user - pp > <semi.malinen@ge.com>: 550 5.1.1 No such user - pp > > from both Semi and Nandor - who seem to be the only maintainers listed > for XRA1403 GPIO EXPANDER in MAINTAINERS. > > XRA1403 GPIO EXPANDER > M: Nandor Han <nandor.han@ge.com> > M: Semi Malinen <semi.malinen@ge.com> > L: linux-gpio@vger.kernel.org > S: Maintained > F: drivers/gpio/gpio-xra1403.c > F: Documentation/devicetree/bindings/gpio/gpio-xra1403.txt > > Anyone knows new mail addresses or perhaps the separate entry > for XRA1403 should be removed? +cc new mail address from Nandor Han +cc Ian Ray with valid GE mail address -- Sebastian
On 11/7/19 2:08 PM, Sebastian Reichel wrote: > Hi, > > On Thu, Nov 07, 2019 at 08:52:11AM +0000, Vaittinen, Matti wrote: >> That reminded me.. I got 'unknown recipient' replies >> <nandor.han@ge.com>: 550 5.1.1 No such user - pp >> <semi.malinen@ge.com>: 550 5.1.1 No such user - pp >> >> from both Semi and Nandor - who seem to be the only maintainers listed >> for XRA1403 GPIO EXPANDER in MAINTAINERS. >> >> XRA1403 GPIO EXPANDER >> M: Nandor Han <nandor.han@ge.com> >> M: Semi Malinen <semi.malinen@ge.com> >> L: linux-gpio@vger.kernel.org >> S: Maintained >> F: drivers/gpio/gpio-xra1403.c >> F: Documentation/devicetree/bindings/gpio/gpio-xra1403.txt >> >> Anyone knows new mail addresses or perhaps the separate entry >> for XRA1403 should be removed? > > +cc new mail address from Nandor Han > +cc Ian Ray with valid GE mail address > > -- Sebastian > Thanks Sebastian. Matti, I did review the gpio-xra1403 changes and LGTM. According with the datasheet, 1 means direction input: XRA1403 datasheet (https://www.maxlinear.com/ds/xra1403_100_092011.pdf) ``` Setting these bits to ’1’ will enable the GPIOs as inputs. ``` Note: I will update also the maintainers list. Nandor