OpenCloudOS-Kernel/drivers/pinctrl
Johan Hovold c2a78811ff pinctrl: qcom: spmi-gpio: drop broken pm8008 support
commit 8da86499d4cd125a9561f9cd1de7fba99b0aecbf upstream.

The SPMI GPIO driver assumes that the parent device is an SPMI device
and accesses random data when backcasting the parent struct device
pointer for non-SPMI devices.

Fortunately this does not seem to cause any issues currently when the
parent device is an I2C client like the PM8008, but this could change if
the structures are reorganised (e.g. using structure randomisation).

Notably the interrupt implementation is also broken for non-SPMI devices.

Also note that the two GPIO pins on PM8008 are used for interrupts and
reset so their practical use should be limited.

Drop the broken GPIO support for PM8008 for now.

Fixes: ea119e5a48 ("pinctrl: qcom-pmic-gpio: Add support for pm8008")
Cc: stable@vger.kernel.org	# 5.13
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240529162958.18081-9-johan+linaro@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:33:54 +02:00
..
actions pinctrl: actions: remove MODULE_LICENSE in non-modules 2023-04-13 13:13:50 -07:00
aspeed pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T 2024-05-17 12:01:56 +02:00
bcm pinctrl: nsp-gpio: Silence probe deferral messages 2023-08-10 10:41:20 +02:00
berlin pinctrl: berlin: as370: Use devm_platform_get_and_ioremap_resource() 2023-07-16 23:08:22 +02:00
cirrus pinctrl: lochnagar: Don't build on MIPS 2024-01-20 11:51:37 +01:00
freescale pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
intel pinctrl: baytrail: Fix selecting gpio pinctrl state 2024-05-17 12:01:58 +02:00
mediatek pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE 2024-05-17 12:01:57 +02:00
meson pinctrl/meson: fix typo in PDM's pin name 2024-05-17 12:01:57 +02:00
mvebu intel-pinctrl for v6.6-1 2023-08-25 15:47:18 +02:00
nomadik gpio: nomadik: fix offset bug in nmk_pmx_set() 2024-03-26 18:19:54 -04:00
nuvoton pinctrl: nuvoton: wpcm450: fix out of bounds write 2023-09-12 09:03:18 +02:00
nxp pinctrl: s32cc: Avoid possible string truncation 2024-01-20 11:51:37 +01:00
pxa pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
qcom pinctrl: qcom: spmi-gpio: drop broken pm8008 support 2024-07-05 09:33:54 +02:00
renesas pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs 2024-04-13 13:07:34 +02:00
samsung pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
spear pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
sprd pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
starfive pinctrl: starfive: jh7100: ignore disabled device tree nodes 2024-01-01 12:42:45 +00:00
stm32 pinctrl: stm32: fix array read out of bound 2023-12-08 08:52:21 +01:00
sunplus pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
sunxi pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
tegra Revert "pinctrl: tegra: Add support to display pin function" 2023-09-27 10:51:57 +02:00
ti pinctrl: ti: Convert to devm_platform_get_and_ioremap_resource() 2023-07-16 23:08:22 +02:00
uniphier pinctrl: uniphier: Add missing header(s) 2022-10-24 17:06:47 +03:00
visconti gpio: visconti: Add Toshiba Visconti GPIO support 2021-02-15 11:43:26 +01:00
vt8500 pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
Kconfig pinctrl: pinctrl-oxnas: remove obsolete pinctrl driver 2023-08-15 11:06:32 +02:00
Makefile pinctrl: pinctrl-oxnas: remove obsolete pinctrl driver 2023-08-15 11:06:32 +02:00
core.c pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER 2024-07-05 09:33:43 +02:00
core.h pinctrl: Move for_each_maps() to namespace and hide iterator inside 2022-11-14 14:19:33 +01:00
devicetree.c pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() 2024-05-17 12:01:58 +02:00
devicetree.h pinctrl: Clean up headers 2022-10-24 17:06:48 +03:00
pinconf-generic.c pinctrl: pinconf-generic: add missing of_node_put() 2022-11-25 10:49:28 +01:00
pinconf.c pinctrl: use to octal permissions for debugfs files 2021-03-10 14:41:58 +01:00
pinconf.h pinctrl: Clean up headers 2022-10-24 17:06:48 +03:00
pinctrl-amd.c pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend 2024-01-20 11:51:44 +01:00
pinctrl-amd.h pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend 2024-01-20 11:51:44 +01:00
pinctrl-apple-gpio.c pinctrl: apple-gpio: Add missing header(s) 2022-10-24 12:31:17 +03:00
pinctrl-artpec6.c
pinctrl-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: use dedicated lock class for IRQ 2024-01-01 12:42:35 +00:00
pinctrl-at91.c pinctrl: at91: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper 2023-08-21 18:58:10 +03:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-bm1880.c pinctrl: bm1880: Add missing header(s) 2022-10-24 12:53:33 +03:00
pinctrl-cy8c95x0.c pinctrl: cy8c95x0: Fix get_pincfg 2024-01-20 11:51:46 +01: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: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
pinctrl-digicolor.c pinctrl: digicolor: Use proper headers and drop OF dependency 2023-01-16 15:14:03 +01:00
pinctrl-equilibrium.c pinctrl: equilibrium: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Convert to immutable irq_chip 2023-04-14 11:08:17 +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 Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
pinctrl-k210.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-keembay.c pinctrl: keembay: rework loops looking for groups names 2021-12-22 02:57:27 +01: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 some const correctness 2022-11-25 11:41:01 +01:00
pinctrl-lpc18xx.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-max77620.c pinctrl: max77620: drop unneeded MODULE_ALIAS 2022-04-22 22:56:46 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-mcp23s08_i2c.c pinctrl: Switch i2c drivers back to use .probe() 2023-05-29 15:16:30 +02:00
pinctrl-mcp23s08_spi.c pinctrl: mcp23s08: check return value of devm_kasprintf() 2023-08-10 09:56: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: Remove gpio_disable_free() 2023-08-25 15:44:15 +02:00
pinctrl-ocelot.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-palmas.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pic32.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: Convert to immutable irq_chip 2023-04-20 16:07:40 +02:00
pinctrl-rk805.c pinctrl: rk805: Add rk806 pinctrl support 2023-05-15 16:21:01 +01:00
pinctrl-rockchip.c pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set 2024-07-05 09:33:44 +02:00
pinctrl-rockchip.h pinctrl: rockchip: use dedicated pinctrl type for RK3328 2024-07-05 09:33:43 +02:00
pinctrl-single.c pinctrl: single: Add compatible for ti,am654-padconf 2023-08-10 10:39:17 +02:00
pinctrl-st.c pinctrl: st: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-stmfx.c pinctrl: stmfx: Do not check for 0 return after calling platform_get_irq() 2023-08-10 10:11:33 +02:00
pinctrl-sx150x.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-tb10x.c
pinctrl-utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-utils.h pinctrl: Clean up headers 2022-10-24 17:06:48 +03:00
pinctrl-xway.c pinctrl: lantiq: Remove unused of_gpio.h inclusion 2023-06-16 15:04:34 +02:00
pinctrl-zynq.c pinctrl: zynq: use module_platform_driver to simplify the code 2022-03-15 01:46:13 +01:00
pinctrl-zynqmp.c pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high impedance 2023-08-07 10:48:03 +02:00
pinmux.c pinctrl: pinmux: handle radix_tree_insert() errors in pinmux_generic_add_function() 2023-07-28 22:08:58 +02:00
pinmux.h pinctrl: Clean up headers 2022-10-24 17:06:48 +03:00