public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/6] pinctrl: mediatek: Fix gpio-ranges and include guard issues
@ 2026-03-12  4:15 Akari Tsuyukusa
  2026-03-12  4:15 ` [PATCH 1/6] arm64: dts: mediatek: mt6795: Fix gpio-ranges pin count Akari Tsuyukusa
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Akari Tsuyukusa @ 2026-03-12  4:15 UTC (permalink / raw)
  To: robh, krzk+dt, conor+dt, matthias.bgg, angelogioacchino.delregno,
	sean.wang, linusw
  Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
	linux-gpio, hui.liu, nfraprado, linus.walleij, mars.cheng,
	andy.teng, hanks.chen, sam.shih, rafal, ben.ho, erin.lo,
	zhiyong.tao, Jason-ch.Chen, amergnat, seiya.wang, tinghan.shen,
	Akari Tsuyukusa

While looking at MediaTek's Pinctrl driver and device tree, I discovered
that on some SoCs, the gpio-ranges count was a little less than the pins
defined. This means that the last pin will no longer be available.

And fixing this issue, I also discovered that the #endif comment in the
include guard for some header files was different from the macro name at
the beginning. These issues do not affect the compiled kernel, but they
affect the readability and consistency of the code.

This series addresses the cases that can be confirmed correct without
requiring datasheet verification:

- mt6795 : gpio-ranges 196 -> 197
- mt7981b: gpio-ranges 56 -> 57
- mt7986a: gpio-ranges 100 -> 101
- mt6779 : include guard #endif comment fix
- mt8188 : include guard #endif comment fix (two files)

The following additional issues were identified during this investigation
but are not included in this series as they require further analysis
or datasheet confirmation:

MT6779: gpio-ranges = <&pio 0 0 210>;
    This matches the number of pins, but GPIO203 to 209 don't have
    GPIO function, and the driver also has no control over those pins.
    Probably needs to be fixed to "gpio-ranges = <&pio 0 0 203>;"

MT8183: gpio-ranges = <&pio 0 0 192>;
    This seems correct because it matches "pinctrl-mtk-mt8183.h".
    But, mode/dir/di/do are defined from pin 0 to 192.
    "pinctrl-mt8183.c" looks wrong.

MT8188: gpio-ranges = <&pio 0 0 176>;
    According to "pinctrl-mtk-mt8188.h", GPIO0 to 176 have GPIO function,
    and GPIO177 to 189 are EINT only pin, but mode/dir/di/do are defined
    from pin 0 to 177. "pinctrl-mt8188.c" is likely to be wrong.
    At least "176" is wrong, probably "gpio-ranges = <&pio 0 0 177>;"

MT8192: gpio-ranges = <&pio 0 0 220>;
    "pinctrl-mtk-mt8192.h" defines GPIO0 to 227 which have GPIO function,
    but mode/dir/di/do are defined from pin 0 to 228.
    "pinctrl-mt8192.c" looks wrong.
    Also, probably "gpio-ranges = <&pio 0 0 229>;"

MT8195: gpio-ranges = <&pio 0 0 144>;
    Like MT8188, GPIO144 to 164 don't have GPIO function,
    but mode/dir/di/do are defined from pin 0 to pin 144.
    "pinctrl-mt8195.c" is likely to be wrong.


Akari Tsuyukusa (6):
  arm64: dts: mediatek: mt6795: Fix gpio-ranges pin count
  arm64: dts: mediatek: mt7981b: Fix gpio-ranges pin count
  arm64: dts: mediatek: mt7986a: Fix gpio-ranges pin count
  pinctrl: mediatek: mt6779: Fix include guard comment in the header
  pinctrl: mediatek: mt8188: Fix include guard comment in the header
  dt-bindings: pinctrl: mediatek: mt8188: Fix include guard comment

 arch/arm64/boot/dts/mediatek/mt6795.dtsi              | 2 +-
 arch/arm64/boot/dts/mediatek/mt7981b.dtsi             | 2 +-
 arch/arm64/boot/dts/mediatek/mt7986a.dtsi             | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mtk-mt6779.h         | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mtk-mt8188.h         | 2 +-
 include/dt-bindings/pinctrl/mediatek,mt8188-pinfunc.h | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

-- 
2.53.0



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

end of thread, other threads:[~2026-03-14 15:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-12  4:15 [PATCH 0/6] pinctrl: mediatek: Fix gpio-ranges and include guard issues Akari Tsuyukusa
2026-03-12  4:15 ` [PATCH 1/6] arm64: dts: mediatek: mt6795: Fix gpio-ranges pin count Akari Tsuyukusa
2026-03-12  4:15 ` [PATCH 2/6] arm64: dts: mediatek: mt7981b: " Akari Tsuyukusa
2026-03-12  4:15 ` [PATCH 3/6] arm64: dts: mediatek: mt7986a: " Akari Tsuyukusa
2026-03-12  4:15 ` [PATCH 4/6] pinctrl: mediatek: mt6779: Fix include guard comment in the header Akari Tsuyukusa
2026-03-13 13:39   ` Krzysztof Kozlowski
2026-03-12  4:15 ` [PATCH 5/6] pinctrl: mediatek: mt8188: " Akari Tsuyukusa
2026-03-13 13:40   ` Krzysztof Kozlowski
2026-03-12  4:15 ` [PATCH 6/6] dt-bindings: pinctrl: mediatek: mt8188: Fix include guard comment Akari Tsuyukusa
2026-03-13 13:39   ` Krzysztof Kozlowski
2026-03-14 15:21     ` Akari Tsuyukusa
2026-03-12 12:31 ` [PATCH 0/6] pinctrl: mediatek: Fix gpio-ranges and include guard issues AngeloGioacchino Del Regno
2026-03-12 12:32 ` (subset) " AngeloGioacchino Del Regno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox