linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/21] pinctrl: ralink: fix ABI, improve driver, move to mediatek, improve dt-bindings
@ 2023-03-17 21:29 arinc9.unal
  2023-03-17 21:29 ` [PATCH v3 01/21] pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string arinc9.unal
                   ` (21 more replies)
  0 siblings, 22 replies; 37+ messages in thread
From: arinc9.unal @ 2023-03-17 21:29 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Krzysztof Kozlowski
  Cc: Arınç ÜNAL, William Dean, Sean Wang, Andy Teng,
	Del Regno, Daniel Golle, Hui Liu, Zhiyong Tao,
	Bernhard Rosenkränzer, Sergio Paracuellos, Daniel Santos,
	Luiz Angelo Daros de Luca, Frank Wunderlich, Landen Chao,
	DENG Qingfang, Sean Wang, erkin.bozoglu, Matthias Brugger,
	linux-mediatek, linux-gpio, devicetree, linux-kernel,
	linux-arm-kernel, linux-mips

This is an ambitious effort I've been wanting to do for months.

Straight off the bat, I'm fixing the ABI that I broke a while back, by
reintroducing the ralink,rt2880-pinmux compatible string.

If you take a look at the schema for mt7620 and rt305x, some functions got
multiple lists for groups. Like refclk on mt7620. Because mt7620 and
mt7628/mt7688 SoCs use the same compatible string, it's impossible to
differentiate on the binding which SoC a devicetree is actually for.
Therefore, the binding will allow all groups listed for that function. For
example, if the SoC is mt7620, only the refclk function for the mdio group
can be used. If one were to put "spi cs1" as the function there, there
wouldn't be a warning.

I address this by introducing new compatible strings for these SoCs, then
split the schemas. I also separate mt7628/mt7688 from mt7620 pinctrl
subdriver in the process.

I wanted to split the rt305x driver too but too much code would be reused
so I backed down from that.

This platform from Ralink was acquired by MediaTek in 2011. Then, MediaTek
introduced new SoCs which utilise this platform. We're moving the Ralink
pinctrl driver to MediaTek, and rename the schemas for MediaTek SoCs to
mediatek.

I've renamed the ralink core driver to mtmips. I decided to call the core
mtmips as I've seen folks from MediaTek use the same name when they added
support for MT7621 pinctrl on U-Boot. Feel free to comment on this.

Arınç

v3:
- Address Rob's indentation report.
- Add Rob's reviewed-by.
- Rebase to linusw/linux-pinctrl.git devel.

v2:
- Address Rob and Krzysztof's reviews, add Rob's acked-by.
- More more cleanups, hooray!
- Don't add new mediatek compatible strings, we don't do that here. RIP
Chadwick Boseman.
- Don't deprecate ralink,mt7620-pinctrl, we need it now.
- More slight changes I can't currently remember to mention.

RFC to v1:
- Address Rob and Krzysztof's reviews, add Rob's acked-by.
- More cleanups, hooray!
- Keep ralink,rt2880-pinmux deprecated.
- Deprecate ralink,mt7620-pinctrl. Another one bites the dust!
- More slight changes I can't currently remember to mention.

Arınç ÜNAL (21):
  pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string
  pinctrl: ralink: rt305x: add new compatible string for every SoC
  pinctrl: ralink: mt7620: split out to mt76x8
  pinctrl: ralink: move to mediatek as mtmips
  pinctrl: mediatek: remove OF_GPIO as reverse dependency
  dt-bindings: pinctrl: ralink: move additionalProperties to top
  dt-bindings: pinctrl: ralink: drop quotes from referred schemas
  dt-bindings: pinctrl: ralink: add new compatible strings
  dt-bindings: pinctrl: ralink: {mt7620,mt7621}: rename to mediatek
  dt-bindings: pinctrl: mediatek: mt6795: rename to mediatek,mt6795-pinctrl
  dt-bindings: pinctrl: mediatek: mt8186: rename to mediatek,mt8186-pinctrl
  dt-bindings: pinctrl: mediatek: mt8192: rename to mediatek,mt8192-pinctrl
  dt-bindings: pinctrl: mediatek: mt8195: rename to mediatek,mt8195-pinctrl
  dt-bindings: pinctrl: mediatek: fix naming inconsistency
  dt-bindings: pinctrl: {mediatek,ralink}: fix formatting
  dt-bindings: pinctrl: mediatek: fix pinmux header location
  dt-bindings: pinctrl: mediatek: drop quotes from referred schemas
  dt-bindings: pinctrl: mediatek: mt7986: fix patternProperties regex
  dt-bindings: pinctrl: ralink: rt305x: split binding
  dt-bindings: pinctrl: mediatek: mt7620: split binding
  MAINTAINERS: move ralink pinctrl to mediatek mips pinctrl

 .../pinctrl/mediatek,mt65xx-pinctrl.yaml        |  32 +-
 .../pinctrl/mediatek,mt6779-pinctrl.yaml        |  39 +-
 ...mt6795.yaml => mediatek,mt6795-pinctrl.yaml} |  51 +--
 .../pinctrl/mediatek,mt7620-pinctrl.yaml        | 298 ++++++++++++++
 ...inctrl.yaml => mediatek,mt7621-pinctrl.yaml} |  17 +-
 .../pinctrl/mediatek,mt7622-pinctrl.yaml        |  34 +-
 ...inctrl.yaml => mediatek,mt76x8-pinctrl.yaml} | 252 ++----------
 .../pinctrl/mediatek,mt7981-pinctrl.yaml        |  35 +-
 .../pinctrl/mediatek,mt7986-pinctrl.yaml        |  80 ++--
 .../pinctrl/mediatek,mt8183-pinctrl.yaml        |  32 +-
 ...mt8186.yaml => mediatek,mt8186-pinctrl.yaml} |  55 ++-
 .../pinctrl/mediatek,mt8188-pinctrl.yaml        |  80 ++--
 ...mt8192.yaml => mediatek,mt8192-pinctrl.yaml} |  57 +--
 ...mt8195.yaml => mediatek,mt8195-pinctrl.yaml} |  51 ++-
 .../pinctrl/mediatek,mt8365-pinctrl.yaml        |  30 +-
 .../bindings/pinctrl/ralink,rt2880-pinctrl.yaml |  11 +-
 .../bindings/pinctrl/ralink,rt305x-pinctrl.yaml |  89 +----
 .../bindings/pinctrl/ralink,rt3352-pinctrl.yaml | 243 ++++++++++++
 .../bindings/pinctrl/ralink,rt3883-pinctrl.yaml |  11 +-
 .../bindings/pinctrl/ralink,rt5350-pinctrl.yaml | 206 ++++++++++
 MAINTAINERS                                     |  29 +-
 drivers/pinctrl/Kconfig                         |   1 -
 drivers/pinctrl/Makefile                        |   1 -
 drivers/pinctrl/mediatek/Kconfig                |  54 ++-
 drivers/pinctrl/mediatek/Makefile               |  63 +--
 drivers/pinctrl/mediatek/pinctrl-mt7620.c       | 137 +++++++
 .../{ralink => mediatek}/pinctrl-mt7621.c       |  31 +-
 drivers/pinctrl/mediatek/pinctrl-mt76x8.c       | 283 ++++++++++++++
 .../pinctrl-mtmips.c}                           |  90 ++---
 .../pinctrl-mtmips.h}                           |  16 +-
 .../{ralink => mediatek}/pinctrl-rt2880.c       |  21 +-
 .../{ralink => mediatek}/pinctrl-rt305x.c       |  47 +--
 .../{ralink => mediatek}/pinctrl-rt3883.c       |  29 +-
 drivers/pinctrl/ralink/Kconfig                  |  35 --
 drivers/pinctrl/ralink/Makefile                 |   8 -
 drivers/pinctrl/ralink/pinctrl-mt7620.c         | 391 -------------------
 36 files changed, 1742 insertions(+), 1197 deletions(-)



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

end of thread, other threads:[~2023-03-28 21:06 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-17 21:29 [PATCH v3 00/21] pinctrl: ralink: fix ABI, improve driver, move to mediatek, improve dt-bindings arinc9.unal
2023-03-17 21:29 ` [PATCH v3 01/21] pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string arinc9.unal
2023-03-28 20:59   ` Rob Herring
2023-03-28 21:06     ` Arınç ÜNAL
2023-03-17 21:29 ` [PATCH v3 02/21] pinctrl: ralink: rt305x: add new compatible string for every SoC arinc9.unal
2023-03-17 21:29 ` [PATCH v3 03/21] pinctrl: ralink: mt7620: split out to mt76x8 arinc9.unal
2023-03-17 21:29 ` [PATCH v3 04/21] pinctrl: ralink: move to mediatek as mtmips arinc9.unal
2023-03-17 21:29 ` [PATCH v3 05/21] pinctrl: mediatek: remove OF_GPIO as reverse dependency arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:29 ` [PATCH v3 06/21] dt-bindings: pinctrl: ralink: move additionalProperties to top arinc9.unal
2023-03-17 21:29 ` [PATCH v3 07/21] dt-bindings: pinctrl: ralink: drop quotes from referred schemas arinc9.unal
2023-03-17 21:29 ` [PATCH v3 08/21] dt-bindings: pinctrl: ralink: add new compatible strings arinc9.unal
2023-03-17 21:29 ` [PATCH v3 09/21] dt-bindings: pinctrl: ralink: {mt7620,mt7621}: rename to mediatek arinc9.unal
2023-03-17 21:30 ` [PATCH v3 10/21] dt-bindings: pinctrl: mediatek: mt6795: rename to mediatek,mt6795-pinctrl arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 11/21] dt-bindings: pinctrl: mediatek: mt8186: rename to mediatek,mt8186-pinctrl arinc9.unal
2023-03-20 15:00   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 12/21] dt-bindings: pinctrl: mediatek: mt8192: rename to mediatek,mt8192-pinctrl arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 13/21] dt-bindings: pinctrl: mediatek: mt8195: rename to mediatek,mt8195-pinctrl arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 14/21] dt-bindings: pinctrl: mediatek: fix naming inconsistency arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 15/21] dt-bindings: pinctrl: {mediatek,ralink}: fix formatting arinc9.unal
2023-03-20 14:53   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 16/21] dt-bindings: pinctrl: mediatek: fix pinmux header location arinc9.unal
2023-03-20 14:54   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 17/21] dt-bindings: pinctrl: mediatek: drop quotes from referred schemas arinc9.unal
2023-03-20 14:54   ` AngeloGioacchino Del Regno
2023-03-17 21:30 ` [PATCH v3 18/21] dt-bindings: pinctrl: mediatek: mt7986: fix patternProperties regex arinc9.unal
2023-03-17 21:30 ` [PATCH v3 19/21] dt-bindings: pinctrl: ralink: rt305x: split binding arinc9.unal
2023-03-17 21:30 ` [PATCH v3 20/21] dt-bindings: pinctrl: mediatek: mt7620: " arinc9.unal
2023-03-20 15:00   ` AngeloGioacchino Del Regno
2023-03-20 18:34     ` Arınç ÜNAL
2023-03-17 21:30 ` [PATCH v3 21/21] MAINTAINERS: move ralink pinctrl to mediatek mips pinctrl arinc9.unal
2023-03-19 20:49 ` [PATCH v3 00/21] pinctrl: ralink: fix ABI, improve driver, move to mediatek, improve dt-bindings Linus Walleij
2023-03-19 20:59   ` Arınç ÜNAL

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).