linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/23] pinctrl: Convert struct group_desc to use struct pingroup
@ 2023-11-29 16:06 Andy Shevchenko
  2023-11-29 16:06 ` [PATCH v4 01/23] pinctrl: qcom: lpass-lpi: Replace kernel.h with what is being used Andy Shevchenko
                   ` (24 more replies)
  0 siblings, 25 replies; 49+ messages in thread
From: Andy Shevchenko @ 2023-11-29 16:06 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko,
	Rasmus Villemoes, Jonathan Neuschäfer, Krzysztof Kozlowski,
	Uwe Kleine-König, Geert Uytterhoeven, Biju Das,
	Claudiu Beznea, Jianlong Huang, linux-arm-kernel, linux-gpio,
	linux-kernel, linux-mediatek, openbmc, linux-mips, linux-arm-msm,
	linux-renesas-soc
  Cc: Ray Jui, Scott Branden, Broadcom internal kernel review list,
	Dong Aisheng, Fabio Estevam, Shawn Guo, Jacky Bai,
	Pengutronix Kernel Team, Sascha Hauer, NXP Linux Team, Sean Wang,
	Paul Cercueil, Lakshmi Sowjanya D, Bjorn Andersson, Andy Gross,
	Konrad Dybcio, Emil Renner Berthing, Hal Feng

The struct group_desc has a lot of duplication with struct pingroup.
Deduplicate that by embeddind the latter in the former and convert
users.

Linus, assuming everything is fine, I can push this to my tree.
Or you can apply it (assumming all CIs and people are happy with
the series).

NB. It seems to me that GCC 7.x has an issue when compound literal
is being assigned to a constant object. I believe it's a false positive
(at least I can't reproduce this with recent GCC and LLVM and hence
I haven't touched the code in order to address this.

NB. This series contains previously sent patches for Qualcomm and
Nuvoton. Here the updated version for Qualcomm that splits previous
patch to two and fixes compilation warnings.

NB. The function_desc is in plan to follow the similar deduplication.

In v4:
- made pins also unsigned in struct group_desc (Geert)
- made local pins variable unsigned in renesas drivers (Geert)
- collected more tags (Paul, Geert)

v3: https://lore.kernel.org/r/20231128200155.438722-1-andriy.shevchenko@linux.intel.com

In v3:
- fixed reported bug in equilibrium code (LKP)
- collected tags (Emil, Florian, Paul)

v2: https://lore.kernel.org/r/20231123193355.3400852-1-andriy.shevchenko@linux.intel.com

In v2:
- added a few patches to fix multiple compile-time errors (LKP)
- added tag (Jonathan)

v1: https://lore.kernel.org/r/20231122164040.2262742-1-andriy.shevchenko@linux.intel.com

Andy Shevchenko (23):
  pinctrl: qcom: lpass-lpi: Replace kernel.h with what is being used
  pinctrl: qcom: lpass-lpi: Remove unused member in struct lpi_pingroup
  pinctrl: equilibrium: Unshadow error code of
    of_property_count_u32_elems()
  pinctrl: equilibrium: Use temporary variable to hold pins
  pinctrl: imx: Use temporary variable to hold pins
  pinctrl: core: Make pins const unsigned int pointer in struct
    group_desc
  pinctrl: equilibrium: Convert to use struct pingroup
  pinctrl: keembay: Convert to use struct pingroup
  pinctrl: nuvoton: Convert to use struct pingroup and
    PINCTRL_PINGROUP()
  pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC()
  pinctrl: ingenic: Make use of PINCTRL_GROUP_DESC()
  pinctrl: mediatek: Make use of PINCTRL_GROUP_DESC()
  pinctrl: core: Embed struct pingroup into struct group_desc
  pinctrl: bcm: Convert to use grp member
  pinctrl: equilibrium: Convert to use grp member
  pinctrl: imx: Convert to use grp member
  pinctrl: ingenic: Convert to use grp member
  pinctrl: keembay: Convert to use grp member
  pinctrl: mediatek: Convert to use grp member
  pinctrl: renesas: Convert to use grp member
  pinctrl: starfive: Convert to use grp member
  pinctrl: core: Remove unused members from struct group_desc
  pinctrl: Convert unsigned to unsigned int

 drivers/pinctrl/bcm/pinctrl-ns.c              |  4 +-
 drivers/pinctrl/core.c                        | 41 ++++++++---------
 drivers/pinctrl/core.h                        | 33 ++++++++------
 drivers/pinctrl/devicetree.c                  |  8 ++--
 drivers/pinctrl/freescale/pinctrl-imx.c       | 44 +++++++++----------
 drivers/pinctrl/mediatek/pinctrl-moore.c      | 13 +++---
 drivers/pinctrl/mediatek/pinctrl-moore.h      |  7 +--
 drivers/pinctrl/mediatek/pinctrl-paris.h      |  7 +--
 drivers/pinctrl/nuvoton/pinctrl-wpcm450.c     |  9 ++--
 drivers/pinctrl/pinconf-generic.c             | 16 +++----
 drivers/pinctrl/pinconf.c                     | 14 +++---
 drivers/pinctrl/pinconf.h                     | 10 ++---
 drivers/pinctrl/pinctrl-equilibrium.c         | 42 +++++++++---------
 drivers/pinctrl/pinctrl-ingenic.c             | 27 +++++-------
 drivers/pinctrl/pinctrl-keembay.c             |  6 +--
 drivers/pinctrl/pinctrl-utils.c               | 26 +++++------
 drivers/pinctrl/pinctrl-utils.h               | 18 ++++----
 drivers/pinctrl/pinmux.c                      | 36 +++++++--------
 drivers/pinctrl/pinmux.h                      | 20 ++++-----
 drivers/pinctrl/qcom/pinctrl-lpass-lpi.h      |  6 +--
 .../pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c   | 16 -------
 .../pinctrl/qcom/pinctrl-sc8280xp-lpass-lpi.c | 20 ---------
 .../pinctrl/qcom/pinctrl-sm6115-lpass-lpi.c   | 20 ---------
 .../pinctrl/qcom/pinctrl-sm8250-lpass-lpi.c   | 15 -------
 .../pinctrl/qcom/pinctrl-sm8350-lpass-lpi.c   | 16 -------
 .../pinctrl/qcom/pinctrl-sm8450-lpass-lpi.c   | 24 ----------
 .../pinctrl/qcom/pinctrl-sm8550-lpass-lpi.c   | 24 ----------
 .../pinctrl/qcom/pinctrl-sm8650-lpass-lpi.c   | 24 ----------
 drivers/pinctrl/renesas/pinctrl-rza1.c        |  2 +-
 drivers/pinctrl/renesas/pinctrl-rza2.c        | 10 ++---
 drivers/pinctrl/renesas/pinctrl-rzg2l.c       |  6 +--
 drivers/pinctrl/renesas/pinctrl-rzv2m.c       |  6 +--
 .../starfive/pinctrl-starfive-jh7100.c        |  8 ++--
 .../starfive/pinctrl-starfive-jh7110.c        |  8 ++--
 include/linux/pinctrl/machine.h               |  6 +--
 include/linux/pinctrl/pinconf-generic.h       | 10 ++---
 include/linux/pinctrl/pinconf.h               | 16 +++----
 include/linux/pinctrl/pinctrl.h               | 24 +++++-----
 include/linux/pinctrl/pinmux.h                | 22 +++++-----
 39 files changed, 242 insertions(+), 422 deletions(-)

-- 
2.43.0.rc1.1.gbec44491f096


^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2023-12-07 13:24 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-29 16:06 [PATCH v4 00/23] pinctrl: Convert struct group_desc to use struct pingroup Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 01/23] pinctrl: qcom: lpass-lpi: Replace kernel.h with what is being used Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 02/23] pinctrl: qcom: lpass-lpi: Remove unused member in struct lpi_pingroup Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 03/23] pinctrl: equilibrium: Unshadow error code of of_property_count_u32_elems() Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 04/23] pinctrl: equilibrium: Use temporary variable to hold pins Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 05/23] pinctrl: imx: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 06/23] pinctrl: core: Make pins const unsigned int pointer in struct group_desc Andy Shevchenko
2023-11-30 10:34   ` Geert Uytterhoeven
2023-11-29 16:06 ` [PATCH v4 07/23] pinctrl: equilibrium: Convert to use struct pingroup Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 08/23] pinctrl: keembay: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 09/23] pinctrl: nuvoton: Convert to use struct pingroup and PINCTRL_PINGROUP() Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 10/23] pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC() Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 11/23] pinctrl: ingenic: Make use of PINCTRL_GROUP_DESC() Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 12/23] pinctrl: mediatek: " Andy Shevchenko
     [not found]   ` <CGME20231204114039eucas1p29c6f8a162191e58ff658d3a1c44429bf@eucas1p2.samsung.com>
2023-12-04 11:40     ` Marek Szyprowski
2023-12-04 13:10       ` Andy Shevchenko
2023-12-04 13:18         ` Krzysztof Kozlowski
2023-12-04 13:20           ` Krzysztof Kozlowski
2023-12-04 13:19         ` Geert Uytterhoeven
2023-12-04 13:32           ` Andy Shevchenko
2023-12-04 13:39             ` Geert Uytterhoeven
2023-12-04 16:02               ` Andy Shevchenko
     [not found]   ` <CGME20231204114016eucas1p2689bcb5a8e754555ae5821ac6cabe7e9@eucas1p2.samsung.com>
     [not found]     ` <6161d2f2-f112-4a53-8e6b-0956c0fa2cbe@samsung.com>
2023-12-04 12:38       ` Krzysztof Kozlowski
2023-11-29 16:06 ` [PATCH v4 13/23] pinctrl: core: Embed struct pingroup into struct group_desc Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 14/23] pinctrl: bcm: Convert to use grp member Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 15/23] pinctrl: equilibrium: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 16/23] pinctrl: imx: " Andy Shevchenko
2023-11-29 16:36   ` Fabio Estevam
2023-11-29 17:00     ` Andy Shevchenko
2023-11-29 17:08       ` Fabio Estevam
2023-11-29 17:17         ` Andy Shevchenko
2023-11-29 21:41           ` Linus Walleij
2023-11-30 16:48             ` Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 17/23] pinctrl: ingenic: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 18/23] pinctrl: keembay: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 19/23] pinctrl: mediatek: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 20/23] pinctrl: renesas: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 21/23] pinctrl: starfive: " Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 22/23] pinctrl: core: Remove unused members from struct group_desc Andy Shevchenko
2023-11-29 16:06 ` [PATCH v4 23/23] pinctrl: Convert unsigned to unsigned int Andy Shevchenko
2023-12-01 14:05 ` [PATCH v4 00/23] pinctrl: Convert struct group_desc to use struct pingroup Linus Walleij
2023-12-01 14:19   ` Andy Shevchenko
2023-12-04  7:49   ` Krzysztof Kozlowski
2023-12-04  7:51     ` Krzysztof Kozlowski
2023-12-04 14:35     ` Linus Walleij
2023-12-04 14:38 ` Linus Walleij
2023-12-04 14:49   ` Andy Shevchenko
2023-12-07  9:50     ` Linus Walleij
2023-12-07 13:14       ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).