linux/drivers/i2c/busses
Uwe Kleine-König e4b76cd771 i2c: sprd: Delete i2c adapter in .remove's error path
[ Upstream commit ca0aa17f2d ]

If pm runtime resume fails the .remove callback used to exit early. This
resulted in an error message by the driver core but the device gets
removed anyhow. This lets the registered i2c adapter stay around with an
unbound parent device.

So only skip clk disabling if resume failed, but do delete the adapter.

Fixes: 8b9ec07198 ("i2c: Add Spreadtrum I2C controller driver")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-06-14 11:15:32 +02:00
..
i2c-acorn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i2c-ali15x3.c i2c: Use separate MODULE_AUTHOR() statements for multiple authors 2020-07-04 08:25:13 +02:00
i2c-ali1535.c i2c: ali1535: mention that the device should not be disabled 2021-07-02 09:14:46 +02:00
i2c-ali1563.c i2c: busses: i2c-ali1563: File headers are not good candidates for kernel-doc 2021-05-27 21:29:26 +02:00
i2c-altera.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-amd-mp2-pci.c i2c: amd-mp2: Remove useless DMA-32 fallback configuration 2022-02-07 15:32:14 +01:00
i2c-amd-mp2-plat.c i2c: amd-mp2-plat: Refactor _UID handling to use acpi_dev_uid_to_integer() 2022-09-19 18:34:42 +02:00
i2c-amd-mp2.h i2c: amd-mp2: Remove unused macro 2021-02-01 23:01:50 +01:00
i2c-amd756-s4882.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd756.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd8111.c i2c: amd8111: Fix coding style issues 2021-04-15 22:24:11 +02:00
i2c-aspeed.c i2c: aspeed: Assert NAK when slave is busy 2022-10-05 21:06:46 +02:00
i2c-at91-core.c i2c: at91: mark PM ops as __maybe unused 2021-08-11 15:54:01 +02:00
i2c-at91-master.c i2c: at91: Initialize dma_buf in at91_twi_xfer() 2022-05-14 15:41:16 +02:00
i2c-at91-slave.c i2c: at91: added slave mode support 2019-03-24 22:41:51 +01:00
i2c-at91.h i2c: at91: remove legacy DMA left overs 2020-11-03 21:34:40 +01:00
i2c-au1550.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-axxia.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-bcm-iproc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
i2c-bcm-kona.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-bcm2835.c Merge tag 'irq-api-2022-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into i2c/for-mergewindow 2022-02-23 14:14:15 +01:00
i2c-brcmstb.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-cadence.c i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path 2023-05-11 23:03:30 +09:00
i2c-cbus-gpio.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-ccgx-ucsi.c i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-ccgx-ucsi.h i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-cht-wc.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-cp2615.c i2c: cp2615: check for allocation failure in cp2615_i2c_recv() 2021-06-20 23:13:34 +02:00
i2c-cpm.c i2c: cpm: Fix i2c_ram structure 2020-09-27 15:14:16 +02:00
i2c-cros-ec-tunnel.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-davinci.c i2c: davinci: fix PM disable depth imbalance in davinci_i2c_probe 2022-10-02 00:46:42 +02:00
i2c-designware-amdpsp.c i2c: designware: Introduce semaphore reservation timer to AMDPSP driver 2022-08-20 08:29:04 +02:00
i2c-designware-baytrail.c i2c: designware: Add AMD PSP I2C bus support 2022-02-11 15:38:23 +01:00
i2c-designware-common.c i2c: designware: fix i2c_dw_clk_rate() return size to be u32 2023-03-10 09:33:29 +01:00
i2c-designware-core.h i2c: designware: fix i2c_dw_clk_rate() return size to be u32 2023-03-10 09:33:29 +01:00
i2c-designware-master.c i2c: designware: Fix handling of real but unexpected device interrupts 2022-10-05 21:00:12 +02:00
i2c-designware-pcidrv.c i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU 2023-02-09 11:28:11 +01:00
i2c-designware-platdrv.c i2c: designware: Fix unbalanced suspended flag 2023-02-01 08:34:42 +01:00
i2c-designware-slave.c i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED 2020-11-06 16:02:00 +01:00
i2c-digicolor.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-diolan-u2c.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-dln2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
i2c-eg20t.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-elektor.c Merge branch 'i2c/for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-02-22 09:02:24 -08:00
i2c-emev2.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-exynos5.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-fsi.c i2c: fsi: Prevent adding adapters for ports without dts nodes 2020-07-24 21:31:33 +02:00
i2c-gpio.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-highlander.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-hisi.c i2c: hisi: Avoid redundant interrupts 2023-04-20 12:35:11 +02:00
i2c-hix5hd2.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-hydra.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-i801.c i2c: i801: add lis3lv02d's I2C address for Vostro 5568 2022-11-01 13:46:30 +01:00
i2c-ibm_iic.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-ibm_iic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-icy.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-img-scb.c i2c: img-scb: fix reference leak when pm_runtime_get_sync fails 2021-04-14 09:49:06 +02:00
i2c-imx-lpi2c.c i2c: imx-lpi2c: clean rx/tx buffers upon new message 2023-04-20 12:35:10 +02:00
i2c-imx.c i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set 2022-12-02 00:12:25 +01:00
i2c-iop3xx.c i2c: iop3xx: fix deferred probing 2021-08-19 19:18:17 +02:00
i2c-iop3xx.h Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
i2c-isch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
i2c-ismt.c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-31 13:32:42 +01:00
i2c-jz4780.c Merge branch 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-04-30 13:01:02 -07:00
i2c-kempld.c i2c: kempld: Support ACPI I2C device declaration 2022-08-11 23:02:51 +02:00
i2c-lpc2k.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-mchp-pci1xxxx.c i2c: mchp-pci1xxxx: Update Timing registers 2023-04-20 12:35:14 +02:00
i2c-meson.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-microchip-corei2c.c i2c: microchip-corei2c: fix erroneous late ack send 2022-08-11 14:28:56 +02:00
i2c-mlxbf.c i2c: mlxbf: depend on ACPI; clean away ifdeffage 2022-10-21 07:59:35 +02:00
i2c-mlxcpld.c i2c: fix spelling typos in comments 2022-10-20 23:09:10 +02:00
i2c-mpc.c powerpc/mpc5xxx: Switch mpc5xxx_get_bus_frequency() to use fwnode 2022-06-22 12:51:49 +10:00
i2c-mt65xx.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-mt7621.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-mv64xxx.c i2c: mv64xxx: Fix reading invalid status value in atomic mode 2023-06-14 11:15:31 +02:00
i2c-mxs.c i2c: mxs: ensure that DMA buffers are safe for DMA 2023-03-30 12:49:03 +02:00
i2c-nforce2-s4985.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-nforce2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-nomadik.c i2c: busses: i2c-nomadik: Fix formatting issue pertaining to 'timeout' 2021-05-27 21:27:48 +02:00
i2c-npcm7xx.c i2c: npcm7xx: Fix error handling in npcm_i2c_init() 2022-11-12 21:27:00 +01:00
i2c-nvidia-gpu.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-ocores.c i2c: ocores: generate stop condition after timeout in polling mode 2023-04-20 12:35:14 +02:00
i2c-octeon-core.c i2c: octeon: check correct size of maximum RECV_LEN packet 2021-01-17 12:26:55 +01:00
i2c-octeon-core.h i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-platdrv.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-omap.c i2c: omap: Fix standard mode false ACK readings 2023-05-11 23:03:04 +09:00
i2c-opal.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-owl.c i2c: owl: Add compatible for the Actions Semi S500 I2C controller 2020-12-09 21:23:21 +01:00
i2c-parport.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-pasemi-core.c i2c: pasemi: Wait for write xfers to finish 2022-04-15 23:12:02 +02:00
i2c-pasemi-core.h i2c: pasemi: Set enable bit for Apple variant 2021-10-11 11:45:56 +02:00
i2c-pasemi-pci.c i2c: pasemi: Drop I2C classes from platform driver variant 2022-02-15 10:28:34 +01:00
i2c-pasemi-platform.c i2c: pasemi: Add Apple platform driver 2021-10-11 11:45:48 +02:00
i2c-pca-isa.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
i2c-pca-platform.c i2c: pca-platform: drop two members from driver data that are assigned to only 2020-12-02 21:29:31 +01:00
i2c-piix4.c i2c: piix4: Fix adapter not be removed in piix4_remove() 2022-11-01 13:09:33 +01:00
i2c-pnx.c i2c: busses: i2c-pnx: Provide descriptions for 'alg_data' data structure 2021-05-27 21:34:08 +02:00
i2c-powermac.c i2c: powermac: Prepare cleanup of powerpc's asm/prom.h 2022-05-04 22:32:45 +02:00
i2c-pxa-pci.c i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe 2022-12-31 13:32:42 +01:00
i2c-pxa.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-qcom-cci.c i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter 2022-10-19 21:36:50 +02:00
i2c-qcom-geni.c i2c: qcom-geni: fix error return code in geni_i2c_gpi_xfer 2022-12-01 23:55:22 +01:00
i2c-qup.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-rcar.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-riic.c i2c: riic: Use devm_platform_ioremap_resource() 2022-09-17 20:35:34 +02:00
i2c-rk3x.c i2c: rk3x: fix a bunch of kernel-doc warnings 2023-02-09 11:28:13 +01:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: fix control-request directions 2021-06-24 22:08:00 +02:00
i2c-rzv2m.c i2c: Add Renesas RZ/V2M controller 2022-07-22 18:46:41 +02:00
i2c-s3c2410.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-scmi.c i2c: scmi: Convert to be a platform driver 2022-09-16 20:44:08 +01:00
i2c-sh7760.c i2c: sh7760: fix IRQ error path 2021-04-17 22:00:58 +02:00
i2c-sh_mobile.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-sibyte.c i2c: Use separate MODULE_AUTHOR() statements for multiple authors 2020-07-04 08:25:13 +02:00
i2c-simtec.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-sis96x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sis630.c i2c: fix spelling typos in comments 2022-10-20 23:09:10 +02:00
i2c-sis5595.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sprd.c i2c: sprd: Delete i2c adapter in .remove's error path 2023-06-14 11:15:32 +02:00
i2c-st.c i2c: busses: i2c-st: Fix copy/paste function misnaming issues 2021-05-27 21:39:35 +02:00
i2c-stm32.c i2c: stm32: Simplify with dev_err_probe() 2020-09-21 11:45:43 +02:00
i2c-stm32.h i2c: stm32: Use the correct style for SPDX License Identifier 2019-08-14 14:56:54 +02:00
i2c-stm32f4.c i2c: busses: i2c-stm32f4: Remove incorrectly placed ' ' from function name 2021-05-27 21:39:57 +02:00
i2c-stm32f7.c i2c: stm32: add support for the STM32MP13 soc 2022-07-16 14:24:41 +02:00
i2c-sun6i-p2wi.c i2c: sun6i-pw2i: Prefer strscpy over strlcpy 2021-08-17 21:37:40 +02:00
i2c-synquacer.c i2c: synquacer: fix deferred probing 2021-08-17 21:41:32 +02:00
i2c-taos-evm.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-tegra-bpmp.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-tegra.c i2c: tegra: Fix PEC support for SMBUS block read 2023-05-17 11:53:34 +02:00
i2c-thunderx-pcidrv.c drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers 2022-05-21 13:41:28 +02:00
i2c-tiny-usb.c i2c: tiny-usb: Correct I2C fault codes. 2020-01-06 15:40:43 +01:00
i2c-uniphier-f.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-uniphier.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-versatile.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-via.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-viapro.c i2c: busses: Use fallthrough pseudo-keyword 2020-07-23 22:04:08 +02:00
i2c-viperboard.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-virtio.c virtio: wrap config->reset calls 2022-01-14 18:50:52 -05:00
i2c-wmt.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-xgene-slimpro.c i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer() 2023-03-30 12:49:30 +02:00
i2c-xiic.c i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path 2023-05-11 23:03:30 +09:00
i2c-xlp9xx.c i2c: Remove Netlogic XLP variant 2021-11-23 10:00:12 +01:00
Kconfig i2c: mlxbf: depend on ACPI; clean away ifdeffage 2022-10-21 07:59:35 +02:00
Makefile i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch 2022-09-28 22:02:17 +02:00
scx200_acb.c i2c: busses: Use fallthrough pseudo-keyword 2020-07-23 22:04:08 +02:00