linux/drivers/pinctrl
Johan Hovold d66a757db1 pinctrl: qcom: spmi: fix debugfs drive strength
commit 6bc0ebfb1d upstream.

Commit 723e8462a4 ("pinctrl: qcom: spmi-gpio: Fix the GPIO strength
mapping") fixed a long-standing issue in the Qualcomm SPMI PMIC gpio
driver which had the 'low' and 'high' drive strength settings switched
but failed to update the debugfs interface which still gets this wrong.

Fix the debugfs code so that the exported values match the hardware
settings.

Note that this probably means that most devicetrees that try to describe
the firmware settings got this wrong if the settings were derived from
debugfs. Before the above mentioned commit the settings would have
actually matched the firmware settings even if they were described
incorrectly, but now they are inverted.

Fixes: 723e8462a4 ("pinctrl: qcom: spmi-gpio: Fix the GPIO strength mapping")
Fixes: eadff30244 ("pinctrl: Qualcomm SPMI PMIC GPIO pin controller driver")
Cc: Anjelique Melendez <quic_amelende@quicinc.com>
Cc: stable@vger.kernel.org	# 3.19
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/20241025121622.1496-1-johan+linaro@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-05 14:02:47 +01:00
..
actions pinctrl: actions: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
aspeed pinctrl: aspeed-g6: Add NCSI pin group config 2024-06-26 12:41:07 +02:00
bcm pinctrl: bcm2835: fix module autoloading 2024-08-24 16:46:33 +02:00
berlin pinctrl: berlin: Make use of struct pinfunction 2024-06-17 09:23:34 +02:00
cirrus pinctrl: madera: Simplify with dev_err_probe() 2024-09-02 10:28:53 +02:00
freescale pinctrl: freescale: imx-scmi: Use kmemdup_array instead of kmemdup for multiple allocation 2024-08-26 10:47:42 +02:00
intel pinctrl: intel: platform: Add Panther Lake to the list of supported 2024-10-03 13:14:31 +03:00
mediatek This is the bulk of pin control changes for the v6.12 kernel cycle: 2024-09-23 13:15:23 -07:00
meson pinctrl: meson: Constify some structures 2024-08-23 18:01:42 +02:00
mvebu pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function 2024-09-02 10:08:46 +02:00
nomadik pinctrl: nomadik: Use kmemdup_array instead of kmemdup for multiple allocation 2024-08-30 23:38:26 +02:00
nuvoton pinctrl: nuvoton: fix a double free in ma35_pinctrl_dt_node_to_map_func() 2024-10-11 21:54:58 +02:00
nxp pinctrl: s32cc: add update and overwrite options when setting pinconf 2024-08-05 10:17:43 +02:00
pxa pinctrl: pxa2xx: Make use of struct pingroup 2024-03-28 09:44:20 +01:00
qcom pinctrl: qcom: spmi: fix debugfs drive strength 2024-12-05 14:02:47 +01:00
realtek pinctrl: realtek: Constify struct regmap_config 2024-08-05 09:07:41 +02:00
renesas pinctrl: renesas: Select PINCTRL_RZG2L for RZ/V2H(P) SoC 2024-12-05 14:02:02 +01:00
samsung pinctrl: samsung: Use kmemdup_array instead of kmemdup for multiple allocation 2024-08-23 15:40:55 +02:00
sophgo pinctrl: sophgo: fix double free in cv1800_pctrl_dt_node_to_map() 2024-10-10 21:12:59 +02:00
spear pinctrl: spear: Use scope based of_node_put() cleanups 2024-06-26 11:56:15 +02:00
sprd pinctrl: sprd: Use scope based of_node_put() cleanups 2024-06-26 11:56:05 +02:00
starfive pinctrl: starfive: jh7110: Correct the level trigger configuration of iev register 2024-08-23 18:14:45 +02:00
stm32 pinctrl: stm32: check devm_kasprintf() returned value 2024-10-01 14:03:34 +02:00
sunplus pinctrl: sppctl: use gpiochip_dup_line_label() 2023-12-08 09:26:37 +01:00
sunxi pinctrl: sunxi: Use devm_clk_get_enabled() helpers 2024-09-02 10:06:13 +02:00
tegra pinctrl: tegra: Use scope based of_node_put() cleanups 2024-06-26 11:55:34 +02:00
ti pinctrl: ti: ti-iodelay: Constify struct ti_iodelay_reg_data 2024-08-05 09:22:33 +02:00
uniphier pinctrl: uniphier: Annotate struct uniphier_pinctrl_reg_region with __counted_by 2023-09-27 10:59:06 +02:00
visconti gpio: visconti: Add Toshiba Visconti GPIO support 2021-02-15 11:43:26 +01:00
vt8500 pinctrl: vt8500: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
core.c pinctrl: Remove redundant null pointer checks in pinctrl_remove_device_debugfs() 2024-09-05 15:09:47 +02:00
core.h pinctrl: pinmux: Add a convenient define PINCTRL_FUNCTION_DESC() 2024-06-17 09:24:13 +02:00
devicetree.c pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() 2024-04-16 15:32:48 +02:00
devicetree.h pinctrl: Clean up headers 2022-10-24 17:06:48 +03:00
Kconfig soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00
Makefile soc: convert ep93xx to devicetree 2024-09-26 12:00:25 -07:00
pinconf-generic.c pinctrl: pinconf-generic: Add support for "input-schmitt-microvolt" property 2024-08-04 00:54:49 +02:00
pinconf.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-amd.c genirq: Introduce IRQF_COND_ONESHOT and use it in pinctrl-amd 2024-03-25 23:45:21 +01:00
pinctrl-amd.h pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend 2023-12-04 15:46:02 +01:00
pinctrl-apple-gpio.c pinctrl: apple: check devm_kasprintf() returned value 2024-10-01 14:03:34 +02:00
pinctrl-artpec6.c pinctrl: artpec6: Convert to platform remove callback returning void 2023-10-10 15:39:10 +02:00
pinctrl-as3722.c pinctrl: as3722: Use devm_gpiochip_add_data() to simplify remove path 2023-11-24 11:22:12 +01:00
pinctrl-at91-pio4.c pinctrl: at91: Use scope based of_node_put() cleanups 2024-06-26 11:57:55 +02:00
pinctrl-at91.c pinctrl: at91: make it work with current gpiolib 2024-08-23 17:32:01 +02:00
pinctrl-at91.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-aw9523.c pinctrl: aw9523: add missing mutex_destroy 2024-10-02 15:48:38 +02:00
pinctrl-axp209.c pinctrl: axp209: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
pinctrl-bm1880.c pinctrl: bm1880: Add missing header(s) 2022-10-24 12:53:33 +03:00
pinctrl-cy8c95x0.c pinctrl: pinctrl-cy8c95x0: Fix regcache 2024-09-13 13:14:18 +02:00
pinctrl-da850-pupd.c pinctrl: da850-pupd: Drop empty platform remove function 2022-12-29 02:02:46 +01:00
pinctrl-da9062.c pinctrl: da9062: replace gpiochip_get_desc() with gpio_device_get_desc() 2024-06-25 09:12:48 +02:00
pinctrl-digicolor.c pinctrl: digicolor: Use proper headers and drop OF dependency 2023-01-16 15:14:03 +01:00
pinctrl-ep93xx.c pinctrl: ep93xx: Fix raster pins typo 2024-09-16 11:16:15 +00:00
pinctrl-equilibrium.c pinctrl: equilibrium: Use scope based of_node_put() cleanups 2024-07-03 14:40:38 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Make use of struct pinfunction 2024-06-17 09:23:43 +02:00
pinctrl-eyeq5.c pinctrl: eyeq5: add platform driver 2024-08-04 00:51:28 +02:00
pinctrl-falcon.c pinctrl: lantiq: Remove unused of_gpio.h inclusion 2023-06-16 15:04:34 +02:00
pinctrl-gemini.c pinctrl: gemini: Add missing header(s) 2022-10-24 17:06:45 +03:00
pinctrl-ingenic.c pinctrl: ingenic: Convert to use func member 2024-06-17 09:24:42 +02:00
pinctrl-k210.c pinctrl: k210: Undef K210_PC_DEFAULT 2024-12-05 14:02:16 +01:00
pinctrl-keembay.c pinctrl: keembay: Fix func conversion in keembay_build_functions() 2024-06-17 09:26:28 +02:00
pinctrl-lantiq.c pinctrl: lantiq: Add missing header(s) 2022-10-24 17:06:46 +03:00
pinctrl-lantiq.h pinctrl: lantiq: Remove unsued declaration ltq_pinctrl_unregister() 2023-09-11 15:42:12 +02:00
pinctrl-loongson2.c pinctrl: loongson2: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-lpc18xx.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-max77620.c pinctrl: max77620: Remove an unused fields in struct max77620_pin_info and max77620_pctrl_info 2024-04-04 21:03:25 +02:00
pinctrl-mcp23s08.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-mcp23s08_i2c.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
pinctrl-mcp23s08_spi.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: check return value of devm_kasprintf() 2023-06-16 15:01:45 +02:00
pinctrl-mlxbf3.c pinctrl: mlxbf3: Fix return value check for devm_platform_ioremap_resource 2024-06-26 12:41:07 +02:00
pinctrl-ocelot.c pinctrl: ocelot: fix system hang on level based interrupts 2024-10-12 22:04:38 +02:00
pinctrl-palmas.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pef2256.c pinctrl: Add support for the Lantic PEF2256 pinmux 2023-12-12 23:05:24 +01:00
pinctrl-pic32.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pic32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 445 2019-06-05 17:37:18 +02:00
pinctrl-pistachio.c pinctrl: pistachio: Convert to immutable irq_chip 2023-04-20 16:07:40 +02:00
pinctrl-rk805.c pinctrl: rk805: Add rk816 pinctrl support 2024-05-03 09:15:33 +01:00
pinctrl-rockchip.c This is the bulk of pin control changes for the v6.12 kernel cycle: 2024-09-23 13:15:23 -07:00
pinctrl-rockchip.h pinctrl: rockchip: Add rk3576 pinctrl support 2024-08-23 17:47:17 +02:00
pinctrl-scmi.c pinctrl: scmi: add blocklist 2024-06-17 09:26:04 +02:00
pinctrl-single.c This is the bulk of pin control changes for the v6.12 kernel cycle: 2024-09-23 13:15:23 -07:00
pinctrl-st.c pinctrl: st: Use scope based of_node_put() cleanups 2024-06-17 09:21:38 +02:00
pinctrl-stmfx.c pinctrl: stmfx: Use string_choices API instead of ternary operator 2024-08-31 00:11:29 +02:00
pinctrl-sx150x.c pinctrl: sx150x: Simplify probe() 2023-09-12 10:12:36 +02:00
pinctrl-tb10x.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
pinctrl-tps6594.c Pin control bulk changes for the v6.11 kernel series: 2024-07-21 10:25:59 -07:00
pinctrl-utils.c drivers/pinctrl: Switch to use kmemdup_array() 2024-08-26 10:27:52 +02:00
pinctrl-utils.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-xway.c pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
pinctrl-zynq.c pinctrl: pinctrl-zynq: fix module autoloading 2024-08-24 16:31:10 +02:00
pinctrl-zynqmp.c pinctrl: zynqmp: drop excess struct member description 2024-12-05 14:02:02 +01:00
pinmux.c pinctrl: Join split messages and remove double whitespace 2024-09-02 10:14:21 +02:00
pinmux.h pinctrl: pinmux: Remove unused members from struct function_desc 2024-06-17 09:25:11 +02:00