[PATCH v2 00/11] pinctrl: mediatek: Fixes and minor improvements

From: Chen-Yu Tsai
Date: Tue Mar 08 2022 - 05:10:09 EST


Hi everyone,

Here are some fixes and minor improvements to generic pinconf and the
Mediatek Paris pinctrl driver.

Changes since v1:
- Correct PIN_CONFIG_BIAS_* read back for all cases
- Add patch 7 that reworks switch/case logic to make the code in
mtk_pinconf_{get,set} cleaner
- Handle case where PIN_CONFIG_DRIVE_STRENGTH_UA is not given and the
advanced mode needs to be disabled
- Also make the vendor specific MTK_PIN_CONFIG_DRV_ADV config override
PIN_CONFIG_DRIVE_STRENGTH_UA (or lack of) if the former is present.

Patch 1 makes the generic pinconf library print out arguments for
PIN_CONFIG_BIAS_PULL_* in debugfs.

Patch 2 fixes bogus readback of PIN_CONFIG_BIAS_DISABLE being always
present.

Patch 3 fixes the type of the "argument" argument in mtk_pinconf_get().
This was erroneously typed as an enum when it should have been u32.

Patch 4 fixes the pingroup config state readback to actually do
readback.

Patch 5 drops an extra newline in the pinconf debugfs output.

Patch 6 cleans up the debugfs output, skipping the custom hardware state
output on the virtual GPIOs, which have no corresponding hardware.

Patch 7 inverts the switch/case logic in mtk_pinconf_{get,set}() so the
code has a default error code, breaks out on error, and has the indentation
reduced.

Patch 8 adds support for PIN_CONFIG_DRIVE_STRENGTH_UA (drive-strength-uA)
to the Mediatek Paris pinctrl library. The goal is to replace the vendor
specific "mtk,drive-strength-adv" property with the generic one.

Patches 9 through 11 are from Angelo [1], rebased onto next-20220308.

Later on we might want to deprecate "mtk,drive-strength-adv".

Please have a look.


Regards
ChenYu

[1] https://lore.kernel.org/linux-gpio/20220103101855.17350-1-angelogioacchino.delregno@xxxxxxxxxxxxx/

AngeloGioacchino Del Regno (3):
pinctrl: mediatek: pinctrl-moore: Simplify with dev_err_probe()
pinctrl: mediatek: pinctrl-paris: Simplify with dev_err_probe()
pinctrl: mediatek: pinctrl-mtk-common: Simplify with dev_err_probe()

Chen-Yu Tsai (8):
pinctrl: pinconf-generic: Print arguments for bias-pull-*
pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback
pinctrl: mediatek: paris: Fix "argument" argument type for
mtk_pinconf_get()
pinctrl: mediatek: paris: Fix pingroup pin config state readback
pinctrl: mediatek: paris: Drop extra newline in
mtk_pctrl_show_one_pin()
pinctrl: mediatek: paris: Skip custom extra pin config dump for
virtual GPIOs
pinctrl: mediatek: paris: Rework mtk_pinconf_{get,set} switch/case
logic
pinctrl: mediatek: paris: Support generic PIN_CONFIG_DRIVE_STRENGTH_UA

drivers/pinctrl/mediatek/pinctrl-moore.c | 25 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 25 +-
drivers/pinctrl/mediatek/pinctrl-paris.c | 290 +++++++++++-------
drivers/pinctrl/pinconf-generic.c | 6 +-
4 files changed, 200 insertions(+), 146 deletions(-)

--
2.35.1.616.g0bdcbb4464-goog