mbox series

[00/60] pinctrl: renesas: Share more pin group data

Message ID cover.1640269757.git.geert+renesas@glider.be (mailing list archive)
Headers show
Series pinctrl: renesas: Share more pin group data | expand

Message

Geert Uytterhoeven Dec. 23, 2021, 2:41 p.m. UTC
Hi Linus,

It is fairly common for the pins in a pin group to be a subset of the
pins in another pin group, e.g. in case of resizable buses.  Currently
we have support for sharing pin data for VIN (video-in), where the
number of data lanes used can be varied.

This patch series, after a few customary cleanups, adds the
infastructure for defining pin groups that share pin data with another
group, either as an arbitrary subset, or as a resizable bus, and
converts lots of existing pin groups to make use of this.  This not only
saves memory, but also makes it easier to review future support for new
SoCs and for new pin groups on existing SoCs.

This reduces kernel size for a kernel including all Renesas pin control
drivers by ca. 5 KiB.

If accepted, I intend to queue this in renesas-pinctrl for v5.18.
Thanks for your comments!

Geert Uytterhoeven (60):
  pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
  pinctrl: renesas: Rename sh_pfc_soc_operations instances
  pinctrl: renesas: Reformat macros defining struct initializers
  pinctrl: renesas: Rename SH_PFC_PIN_GROUP{,_ALIAS} args
  pinctrl: renesas: Add generic support for pin group subsets
  pinctrl: renesas: Add generic support for resizable buses
  pinctrl: renesas: r8a7740: Share BSC pin group data
  pinctrl: renesas: emev2: Share CF pin group data
  pinctrl: renesas: r8a7791: Share HSCIF1 pin group data
  pinctrl: renesas: sh73a0: Share KEYIN pin group data
  pinctrl: renesas: r8a7740: Share LCD pin group data
  pinctrl: renesas: sh73a0: Share LCD pin group data
  pinctrl: renesas: r8a73a4: Share MMC pin group data
  pinctrl: renesas: r8a7740: Share MMC pin group data
  pinctrl: renesas: r8a77470: Share MMC pin group data
  pinctrl: renesas: r8a7778: Share MMC pin group data
  pinctrl: renesas: r8a7779: Share MMC pin group data
  pinctrl: renesas: r8a7790: Share MMC pin group data
  pinctrl: renesas: r8a7791: Share MMC pin group data
  pinctrl: renesas: r8a7794: Share MMC pin group data
  pinctrl: renesas: r8a77970: Share MMC pin group data
  pinctrl: renesas: r8a77980: Share MMC pin group data
  pinctrl: renesas: r8a77995: Share MMC pin group data
  pinctrl: renesas: r8a779a0: Share MMC pin group data
  pinctrl: renesas: sh73a0: Share MMC pin group data
  pinctrl: renesas: r8a77470: Share QSPI pin group data
  pinctrl: renesas: r8a7790: Share QSPI pin group data
  pinctrl: renesas: r8a7791: Share QSPI pin group data
  pinctrl: renesas: r8a7792: Share QSPI pin group data
  pinctrl: renesas: r8a7794: Share QSPI pin group data
  pinctrl: renesas: r8a77950: Share QSPI pin group data
  pinctrl: renesas: r8a77951: Share QSPI pin group data
  pinctrl: renesas: r8a77965: Share QSPI pin group data
  pinctrl: renesas: r8a7796: Share QSPI pin group data
  pinctrl: renesas: r8a77990: Share QSPI pin group data
  pinctrl: renesas: r8a779a0: Share QSPI pin group data
  pinctrl: renesas: r8a77970: Share RPC pin group data
  pinctrl: renesas: r8a77980: Share RPC pin group data
  pinctrl: renesas: r8a73a4: Share SDHI pin group data
  pinctrl: renesas: r8a7740: Share SDHI pin group data
  pinctrl: renesas: r8a77470: Share SDHI pin group data
  pinctrl: renesas: r8a7778: Share SDHI pin group data
  pinctrl: renesas: r8a7779: Share SDHI pin group data
  pinctrl: renesas: r8a7790: Share SDHI pin group data
  pinctrl: renesas: r8a7791: Share SDHI pin group data
  pinctrl: renesas: r8a7792: Share SDHI pin group data
  pinctrl: renesas: r8a7794: Share SDHI pin group data
  pinctrl: renesas: r8a77950: Share SDHI pin group data
  pinctrl: renesas: r8a77951: Share SDHI pin group data
  pinctrl: renesas: r8a77965: Share SDHI pin group data
  pinctrl: renesas: r8a7796: Share SDHI pin group data
  pinctrl: renesas: r8a77990: Share SDHI pin group data
  pinctrl: renesas: sh73a0: Share SDHI pin group data
  pinctrl: renesas: emev2: Share SDI pin group data
  pinctrl: renesas: r8a7790: Share USB1 pin group data
  pinctrl: renesas: r8a7790: Share more VIN pin group data
  pinctrl: renesas: r8a77951: Share more VIN pin group data
  pinctrl: renesas: r8a7796: Share more VIN pin group data
  pinctrl: renesas: r8a77965: Share more VIN pin group data
  pinctrl: renesas: r8a77990: Share more VIN pin group data

 drivers/pinctrl/renesas/pfc-emev2.c    |  71 +---
 drivers/pinctrl/renesas/pfc-r8a73a4.c  |  93 ++---
 drivers/pinctrl/renesas/pfc-r8a7740.c  | 276 +++-----------
 drivers/pinctrl/renesas/pfc-r8a77470.c | 237 +++++-------
 drivers/pinctrl/renesas/pfc-r8a7778.c  |  69 ++--
 drivers/pinctrl/renesas/pfc-r8a7779.c  | 110 ++----
 drivers/pinctrl/renesas/pfc-r8a7790.c  | 483 ++++++++++---------------
 drivers/pinctrl/renesas/pfc-r8a7791.c  | 285 ++++++---------
 drivers/pinctrl/renesas/pfc-r8a7792.c  | 446 +++++++++++------------
 drivers/pinctrl/renesas/pfc-r8a7794.c  | 209 ++++-------
 drivers/pinctrl/renesas/pfc-r8a77950.c | 116 ++----
 drivers/pinctrl/renesas/pfc-r8a77951.c | 310 ++++++----------
 drivers/pinctrl/renesas/pfc-r8a7796.c  | 312 ++++++----------
 drivers/pinctrl/renesas/pfc-r8a77965.c | 330 ++++++-----------
 drivers/pinctrl/renesas/pfc-r8a77970.c | 162 +++------
 drivers/pinctrl/renesas/pfc-r8a77980.c | 190 ++++------
 drivers/pinctrl/renesas/pfc-r8a77990.c | 308 ++++++----------
 drivers/pinctrl/renesas/pfc-r8a77995.c |  98 ++---
 drivers/pinctrl/renesas/pfc-r8a779a0.c |  60 +--
 drivers/pinctrl/renesas/pfc-sh73a0.c   | 265 +++-----------
 drivers/pinctrl/renesas/sh_pfc.h       | 161 ++++-----
 21 files changed, 1536 insertions(+), 3055 deletions(-)