linux-yocto/include/linux/platform_data
Qiu Wenbo f0f7a3f542
platform/x86: int3472: Fix double free of GPIO device during unregister
regulator_unregister() already frees the associated GPIO device. On
ThinkPad X9 (Lunar Lake), this causes a double free issue that leads to
random failures when other drivers (typically Intel THC) attempt to
allocate interrupts. The root cause is that the reference count of the
pinctrl_intel_platform module unexpectedly drops to zero when this
driver defers its probe.

This behavior can also be reproduced by unloading the module directly.

Fix the issue by removing the redundant release of the GPIO device
during regulator unregistration.

Cc: stable@vger.kernel.org
Fixes: 1e5d088a52 ("platform/x86: int3472: Stop using devm_gpiod_get()")
Signed-off-by: Qiu Wenbo <qiuwenbo@kylinsec.com.cn>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Link: https://patch.msgid.link/20251028063009.289414-1-qiuwenbo@gnome.org
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-10-28 17:06:14 +02:00
..
gpio
media media: staging: drop omap4iss 2024-10-08 13:43:47 +02:00
txx9
x86 platform/x86: int3472: Fix double free of GPIO device during unregister 2025-10-28 17:06:14 +02:00
ad5761.h
ad7266.h
ad7791.h
ad7793.h
ad7887.h
adau17x1.h
adp8860.h
adp8870.h
ads7828.h
amd_qdma.h dmaengine: amd: qdma: Remove using the private get and set dma_ops APIs 2024-12-04 18:27:32 +05:30
amd_xdma.h dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
ams-delta-fiq.h
apds990x.h
arm-ux500-pm.h
asoc-imx-ssi.h
asoc-kirkwood.h
asoc-pxa.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
asoc-s3c.h ASoC: samsung: Remove obsoleted declaration for s3c64xx_ac97_setup_gpio 2024-09-30 12:47:23 +02:00
asoc-ti-mcbsp.h
ata-pxa.h
atmel.h
b53.h
bcm7038_wdt.h watchdog: bcm7038_wdt: Support platform data configuration 2021-12-28 13:59:07 +01:00
bcmgenet.h
bd6107.h backlight/bd6107: Rename struct bd6107_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
bh1770glc.h
brcmfmac.h wifi: brcmfmac: fix copyright year mentioned in platform_data header 2024-01-31 18:48:06 +02:00
brcmnand.h mtd: rawnand: brcmnand: Add platform data structure for BCMA 2022-01-23 16:37:18 +01:00
clk-da8xx-cfgchip.h
clk-fch.h ACPI: APD: Add a fmw property clk-name 2022-01-06 17:57:52 -08:00
cpuidle-exynos.h
cros_ec_chardev.h
cros_ec_commands.h platform/chrome: update pwm fan control host commands 2025-09-25 08:08:13 -07:00
cros_ec_proto.h platform/chrome: cros_ec: Add a flag to track registration state 2025-09-14 11:34:41 +08:00
cros_ec_sensorhub.h
cros_usbpd_notify.h
crypto-ux500.h
davinci_asp.h ASoC: ti: davinci-i2s: Remove the unused clk_input_pin attribute 2024-04-09 16:58:34 +01:00
davinci-cpufreq.h ARM: davinci: fix davinci_cpufreq_init() declaration 2023-05-26 13:31:31 +02:00
dma-dw.h dmaengine: dw: Convert members to u32 in platform data 2021-08-06 19:18:35 +05:30
dma-hsu.h dmaengine: hsu: Include headers we are direct user of 2022-09-04 22:49:35 +05:30
dma-iop32x.h
dma-mcf-edma.h
dma-mv_xor.h
dmtimer-omap.h clocksource/drivers/timer-ti-dm : Capture functionality for OMAP DM timer 2025-09-23 12:32:40 +02:00
ds620.h
dsa.h
edma.h
elm.h
emc2305.h hwmon: (emc2305) Add support for PWM frequency, polarity and output 2025-07-20 16:38:34 -07:00
emif_plat.h
g762.h
gpio_backlight.h backlight/gpio_backlight: Rename field 'fbdev' to 'dev' 2023-06-27 09:58:48 +02:00
gpio-htc-egpio.h
gpio-omap.h OMAP/gpio: drop MPUIO static base 2023-10-04 11:37:25 +02:00
gpmc-omap.h memory: omap-gpmc: fix coverity issue "Control flow issues" 2022-11-10 11:04:07 +01:00
gsc_hwmon.h hwmon: Annotate struct gsc_hwmon_platform_data with __counted_by 2023-10-08 22:46:04 -07:00
hirschmann-hellcreek.h net: dsa: use capital "OR" for multiple licenses in SPDX 2023-08-24 12:02:53 -07:00
hsmmc-omap.h
huawei-gaokun-ec.h platform: arm64: add Huawei Matebook E Go EC driver 2025-03-03 10:55:36 +02:00
hwmon-s3c.h ARM: samsung: Remove obsoleted declaration for s3c_hwmon_set_platdata 2024-09-30 12:47:11 +02:00
i2c-gpio.h i2c: gpio: support write-only sda/scl w/o pull-up 2023-01-23 23:18:54 +01:00
i2c-imx.h
i2c-mux-gpio.h i2c: mux: gpio: Add support for the 'settle-time-us' property 2024-07-20 03:07:55 +02:00
i2c-mux-reg.h i2c: mux: reg: Remove class-based device auto-detection support 2024-01-18 21:10:43 +01:00
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pxa.h
i2c-s3c2410.h
i2c-xiic.h
ina2xx.h
invensense_mpu6050.h
iommu-omap.h
isl9305.h
itco_wdt.h
keypad-omap.h Input: omap-keypad - drop optional GPIO support 2023-12-13 21:26:13 -08:00
lcd-mipid.h Input: ads7846 - Convert to use software nodes 2023-05-24 15:01:30 +02:00
leds-lm355x.h
leds-lm3642.h
leds-lp55xx.h leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
lenovo-yoga-c630.h platform: arm64: add Lenovo Yoga C630 WOS EC driver 2024-06-14 12:51:30 +03:00
lm3630a_bl.h
lm3639_bl.h
lm8323.h
lp855x.h
lp8727.h
lp8755.h
ltc4245.h
lv5207lp.h backlight/lv5207lp: Rename struct lv5207lp_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
max197.h
max732x.h gpio: max732x: Drop unused support for irq and setup code via platform data 2022-05-05 14:37:17 +02:00
max3421-hcd.h
mdio-bcm-unimac.h net: mdio: mdio-bcm-unimac: Manage clock around I/O accesses 2024-02-21 12:46:17 +00:00
mdio-gpio.h
mfd-mcp-sa11x0.h
microchip-ksz.h net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver 2025-07-25 17:01:56 -07:00
mlxcpld.h
mlxreg.h platform/mellanox: Rename field to improve code readability 2025-04-15 17:14:30 +03:00
mmc-davinci.h
mmc-esdhc-mcf.h
mmc-mxcmmc.h
mmc-omap.h ARM/mmc: Convert old mmci-omap to GPIO descriptors 2023-05-24 15:01:36 +02:00
mmc-pxamci.h ARM: spitz: Use software nodes to describe MMC GPIOs 2024-07-09 15:21:15 +02:00
mmc-sdhci-s3c.h
mmp_dma.h
mtd-nand-omap2.h Memory controller drivers for v5.17 - OMAP GPMC 2021-12-31 12:45:57 +01:00
mtd-nand-pxa3xx.h
mtd-orion_nand.h
mv_usb.h
mv88e6xxx.h
net-cw1200.h wifi: cw1200: Convert to GPIO descriptors 2024-02-05 20:17:10 +02:00
omap-twl4030.h ASoC: ti: Convert TWL4030 to use GPIO descriptors 2023-10-02 14:06:20 +01:00
omap-wd-timer.h
omap1_bl.h backlight: omap1: Remove unused struct omap_backlight_config.set_power 2024-03-28 10:12:49 +00:00
omapdss.h
pca953x.h gpio: pca953x: Drop unused fields in struct pca953x_platform_data 2023-09-11 08:59:57 +02:00
phy-da8xx-usb.h
pinctrl-single.h
pm33xx.h
pxa_sdhci.h
pxa2xx_udc.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
regulator-haptic.h
s3c-hsotg.h
sa11x0-serial.h serial: clean up uart_info 2024-10-11 08:14:32 +02:00
sc18is602.h
sdhci-pic32.h
serial-omap.h
serial-sccnxp.h
sgi-w1.h
sh_mmcif.h mmc: sh_mmcif: move platform_data header to proper location 2022-04-26 14:05:21 +02:00
shmob_drm.h drm: renesas: shmobile: Use media bus formats in platform data 2023-10-16 11:47:46 +02:00
shtc1.h
si5351.h clk: si5351: allow PLLs to be adjusted without reset 2023-12-17 22:31:36 -08:00
simplefb.h drm/simpledrm: Support the XB24/AB24 format 2023-01-23 16:06:06 +01:00
spi-davinci.h
spi-mt65xx.h spi: mediatek: add tick_delay support 2021-07-14 13:30:43 +01:00
spi-omap2-mcspi.h spi: spi-omap2-mcspi.c: revert "Toggle CS after each word" 2024-03-28 15:52:31 +00:00
spi-s3c64xx.h spi: s3c64xx: change polling mode to optional 2023-05-08 09:10:50 +09:00
st_sensors_pdata.h iio: Comment that the LSM303D also has the Magnetometer DRDY 2023-05-13 17:56:04 +01:00
tda9950.h
ti-prm.h
ti-sysc.h bus: ti-sysc: Drop legacy idle quirk handling 2024-04-25 07:29:41 +03:00
tmio.h mmc: tmio: Add 64-bit read/write support for SD_BUF0 in polling mode 2025-08-19 14:34:14 +02:00
tps68470.h platform/x86: int3472: Support multiple clock consumers 2022-09-24 19:12:32 +02:00
tsc2007.h
tsl2772.h
uio_dmem_genirq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
usb-davinci.h
usb-ehci-orion.h
usb-musb-ux500.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_152.RULE 2022-06-10 14:51:35 +02:00
usb-omap1.h ARM: omap1: innovator: move ohci phy power handling to board file 2022-04-21 15:01:44 +02:00
usb3503.h usb: misc: usb3503: support usb3803 and bypass mode 2023-03-16 12:18:03 +01:00
video_s3c.h
video-ep93xx.h
video-pxafb.h fbdev/pxafb: Unexport symbol 2025-06-16 09:08:05 +02:00
voltage-omap.h ARM: omap2: make functions static 2023-01-09 17:00:54 +01:00
wilco-ec.h
wiznet.h
wkup_m3.h
xilinx-ll-temac.h
xtalk-bridge.h