Message ID | 20240529162958.18081-9-johan+linaro@kernel.org |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: sc8280xp-x13s: enable pm8008 camera pmic | expand |
On Wed, May 29, 2024 at 6:30 PM Johan Hovold <johan+linaro@kernel.org> wrote: > 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: ea119e5a482a ("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> This patch applied to pinctrl fixes. Yours, Linus Walleij
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c index f4e2c88a7c82..e61be7d05494 100644 --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c @@ -1206,7 +1206,6 @@ static const struct of_device_id pmic_gpio_of_match[] = { { .compatible = "qcom,pm7325-gpio", .data = (void *) 10 }, { .compatible = "qcom,pm7550ba-gpio", .data = (void *) 8}, { .compatible = "qcom,pm8005-gpio", .data = (void *) 4 }, - { .compatible = "qcom,pm8008-gpio", .data = (void *) 2 }, { .compatible = "qcom,pm8019-gpio", .data = (void *) 6 }, /* pm8150 has 10 GPIOs with holes on 2, 5, 7 and 8 */ { .compatible = "qcom,pm8150-gpio", .data = (void *) 10 },