Hans de Goede
1b796dd045
spi: Try to get ACPI GPIO IRQ earlier
...
commit 3cd2018e15b3d66d2187d92867e265f45ad79e6f upstream.
Since commit d24cfee7f63d ("spi: Fix acpi deferred irq probe"), the
acpi_dev_gpio_irq_get() call gets delayed till spi_probe() is called
on the SPI device.
If there is no driver for the SPI device then the move to spi_probe()
results in acpi_dev_gpio_irq_get() never getting called. This may
cause problems by leaving the GPIO pin floating because this call is
responsible for setting up the GPIO pin direction and/or bias according
to the values from the ACPI tables.
Re-add the removed acpi_dev_gpio_irq_get() in acpi_register_spi_device()
to ensure the GPIO pin is always correctly setup, while keeping the
acpi_dev_gpio_irq_get() call added to spi_probe() to deal with
-EPROBE_DEFER returns caused by the GPIO controller not having a driver
yet.
Link: https://bbs.archlinux.org/viewtopic.php?id=302348
Fixes: d24cfee7f63d ("spi: Fix acpi deferred irq probe")
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hansg@kernel.org>
Link: https://patch.msgid.link/20251102190921.30068-1-hansg@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-03 12:45:19 +01:00
..
atmel-quadspi.c
spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller
2022-04-27 13:50:50 +02:00
internals.h
Kconfig
spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
2023-11-20 10:30:16 +01:00
Makefile
spi-altera.c
spi-armada-3700.c
spi: change clk_disable_unprepare to clk_unprepare
2021-12-29 12:23:34 +01:00
spi-at91-usart.c
spi-ath79.c
spi: ath79: remove spi-master setup and cleanup assignment
2021-05-11 14:04:05 +02:00
spi-atmel.c
spi-au1550.c
spi-axi-spi-engine.c
spi-bcm-qspi.c
spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
2024-02-23 08:24:53 +01:00
spi-bcm-qspi.h
spi-bcm63xx-hsspi.c
spi: bcm63xx-hsspi: Fix multi-bit mode setting
2023-03-11 16:43:47 +01:00
spi-bcm63xx.c
spi: bcm63xx: Fix module autoloading
2024-11-08 16:20:39 +01:00
spi-bcm2835.c
spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers
2022-07-29 17:14:16 +02:00
spi-bcm2835aux.c
spi-bitbang-txrx.h
spi-bitbang.c
spi: Cleanup on failure of initial setup
2021-06-16 11:59:38 +02:00
spi-brcmstb-qspi.c
spi-butterfly.c
spi-cadence.c
spi: cadence: Correct initialisation of runtime PM again
2021-07-28 13:30:56 +02:00
spi-cavium-octeon.c
spi-cavium-thunderx.c
spi-cavium.c
spi-cavium.h
spi-clps711x.c
spi-coldfire-qspi.c
spi-davinci.c
spi-dln2.c
spi: dln2: Fix reference leak to master
2021-05-11 14:04:06 +02:00
spi-dw-mid.c
spi-dw-mmio.c
spi-dw-pci.c
spi-dw.c
spi-dw.h
spi-efm32.c
spi-ep93xx.c
spi-falcon.c
spi-fsl-cpm.c
spi: fsl-cpm: Use 16 bit mode for large transfers with even size
2023-05-30 12:44:08 +01:00
spi-fsl-cpm.h
spi-fsl-dspi.c
spi: spi-fsl-dspi: Clear completion counter before initiating transfer
2025-07-17 18:25:00 +02:00
spi-fsl-espi.c
spi-fsl-lib.c
spi-fsl-lib.h
spi-fsl-lpspi.c
spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort
2025-09-09 18:44:01 +02:00
spi-fsl-qspi.c
spi-fsl-spi.c
spi: fsl-cpm: Use 16 bit mode for large transfers with even size
2023-05-30 12:44:08 +01:00
spi-fsl-spi.h
spi-geni-qcom.c
spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
2023-07-27 08:37:07 +02:00
spi-gpio.c
spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode
2023-01-18 11:41:12 +01:00
spi-img-spfi.c
spi: img-spfi: Fix pm_runtime_get_sync() error checking
2022-06-14 18:11:33 +02:00
spi-imx.c
spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices
2024-07-27 10:38:32 +02:00
spi-iproc-qspi.c
spi-jcore.c
spi-lantiq-ssc.c
spi-lm70llp.c
spi-loopback-test.c
spi: loopback-test: Don't use %pK through printk
2025-12-03 12:45:06 +01:00
spi-lp8841-rtc.c
spi-mem.c
spi-meson-spicc.c
spi: meson-spicc: add IRQ check in meson_spicc_probe
2022-02-08 18:24:30 +01:00
spi-meson-spifc.c
spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe
2022-01-27 09:19:37 +01:00
spi-mpc52xx-psc.c
spi-mpc52xx.c
spi: mpc52xx: Add cancel_work_sync before module remove
2024-12-14 19:44:48 +01:00
spi-mpc512x-psc.c
spi-mt65xx.c
spi: spi-mt65xx: Fix NULL pointer access in interrupt handler
2024-03-26 18:22:25 -04:00
spi-mt7621.c
spi: mt7621: Fix an error message in mt7621_spi_probe()
2024-03-01 13:13:35 +01:00
spi-mxic.c
spi: mxic: Fix the transmit path
2022-04-15 14:17:59 +02:00
spi-mxs.c
spi-mxs: Fix chipselect glitch
2025-03-13 12:43:03 +01:00
spi-npcm-fiu.c
spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0
2023-11-08 11:23:41 +01:00
spi-npcm-pspi.c
spi-nxp-fspi.c
spi: nxp-fspi: fix the KASAN report out-of-bounds bug
2024-11-08 16:20:25 +01:00
spi-oc-tiny.c
spi-omap-100k.c
spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe
2022-10-26 13:22:25 +02:00
spi-omap-uwire.c
spi: Cleanup on failure of initial setup
2021-06-16 11:59:38 +02:00
spi-omap2-mcspi.c
spi: Cleanup on failure of initial setup
2021-06-16 11:59:38 +02:00
spi-orion.c
spi-pic32-sqi.c
spi-pic32.c
spi: spi-pic32: Fix issue with uninitialized dma_slave_config
2021-09-15 09:47:29 +02:00
spi-pl022.c
spi: spl022: fix Microwire full duplex mode
2021-11-17 09:48:21 +01:00
spi-ppc4xx.c
spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
2024-11-08 16:20:28 +01:00
spi-pxa2xx-dma.c
spi-pxa2xx-pci.c
spi: pxa2xx-pci: Balance reference count for PCI DMA device
2022-04-15 14:18:04 +02:00
spi-pxa2xx.c
spi: Cleanup on failure of initial setup
2021-06-16 11:59:38 +02:00
spi-pxa2xx.h
spi-qcom-qspi.c
spi-qup.c
spi: qup: Request DMA before enabling clocks
2023-06-14 10:59:54 +02:00
spi-rb4xx.c
spi-rockchip.c
spi-rspi.c
spi: spi-rspi: Fix PIO fallback on RZ platforms
2022-08-25 11:17:32 +02:00
spi-s3c24xx-fiq.h
spi-s3c24xx-fiq.S
spi-s3c24xx.c
spi-s3c64xx.c
spi: s3c64xx: fix timeout counters in flush_fifo
2024-11-08 16:20:39 +01:00
spi-sc18is602.c
spi-sh-hspi.c
spi-sh-msiof.c
spi: sh-msiof: Fix maximum DMA transfer size
2025-06-27 11:02:45 +01:00
spi-sh-sci.c
spi-sh.c
spi-sifive.c
spi-sirf.c
spi-slave-mt27xx.c
spi-slave-system-control.c
spi-slave-time.c
spi-sprd-adi.c
spi: sprd: Fix the wrong WDG_LOAD_VAL
2021-09-15 09:47:30 +02:00
spi-sprd.c
spi: sprd: Add missing MODULE_DEVICE_TABLE
2021-06-16 11:59:34 +02:00
spi-st-ssc4.c
spi-stm32-qspi.c
spi: stm32-qspi: Fix wait_cmd timeout in APM mode
2022-06-14 18:11:27 +02:00
spi-stm32.c
spi: stm32: Don't warn about spurious interrupts
2024-06-16 13:28:48 +02:00
spi-sun4i.c
spi: spi-sun4i: fix early activation
2025-06-04 14:32:37 +02:00
spi-sun6i.c
spi: spi-sun6i: Fix chipselect/clock bug
2021-07-14 16:53:24 +02:00
spi-synquacer.c
spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
2023-03-11 16:43:47 +01:00
spi-tegra20-sflash.c
spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
2023-09-23 10:59:41 +02:00
spi-tegra20-slink.c
spi: tegra20: Use of_device_get_match_data()
2022-04-15 14:18:23 +02:00
spi-tegra114.c
spi: tegra114: Add missing IRQ check in tegra_spi_probe
2022-04-15 14:18:04 +02:00
spi-test.h
spi-ti-qspi.c
spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
2022-06-14 18:11:32 +02:00
spi-tle62x0.c
spi-topcliff-pch.c
spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()
2021-07-14 16:53:10 +02:00
spi-txx9.c
spi-uniphier.c
spi-xcomm.c
spi-xilinx.c
spi-xlp.c
spi-xtensa-xtfpga.c
spi-zynq-qspi.c
spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()
2022-03-02 11:41:10 +01:00
spi-zynqmp-gqspi.c
spi.c
spi: Try to get ACPI GPIO IRQ earlier
2025-12-03 12:45:19 +01:00
spidev.c
spi: spidev: remove debug messages that access spidev->spi without locking
2023-02-06 07:52:41 +01:00