linux/drivers/i2c/busses
Yann Sionneau 4ba63869a0 i2c: designware: Add support for recovery when GPIO need pinctrl
Currently if the SoC needs pinctrl to switch the SCL and SDA from the I2C
function to GPIO function, the recovery won't work.

scl-gpio = <>;
sda-gpio = <>;

Are not enough for some SoCs to have a working recovery.
Some need:

scl-gpio = <>;
sda-gpio = <>;
pinctrl-names = "default", "recovery";
pinctrl-0 = <&i2c_pins_hw>;
pinctrl-1 = <&i2c_pins_gpio>;

The driver was not filling rinfo->pinctrl with the device node
pinctrl data which is needed by generic recovery code.

Signed-off-by: Yann Sionneau <ysionneau@kalray.eu>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2023-08-25 22:26:03 +02:00
..
i2c-acorn.c
i2c-ali15x3.c
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: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c i2c: amd8111: Fix coding style issues 2021-04-15 22:24:11 +02:00
i2c-amd-mp2-pci.c i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-amd-mp2-plat.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd-mp2.h i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-aspeed.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-at91-core.c i2c: at91: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:30 +02:00
i2c-at91-master.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-at91-slave.c
i2c-at91.h
i2c-au1550.c i2c: au1550: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-axxia.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-bcm2835.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-bcm-iproc.c i2c: iproc: Convert to devm_platform_ioremap_resource() 2023-08-14 18:09:35 +02:00
i2c-bcm-kona.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-brcmstb.c i2c: brcmstb: Convert to devm_platform_ioremap_resource() 2023-08-14 18:09:39 +02:00
i2c-cadence.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-cbus-gpio.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +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: Convert to platform remove callback returning void 2023-06-05 09:47:37 +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: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-cros-ec-tunnel.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-davinci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-designware-amdpsp.c i2c: designware: Add doorbell support for Mendocino 2023-04-20 18:20:05 +08: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: Add driver support for Wangxun 10Gb NIC 2023-06-05 11:30:28 +02:00
i2c-designware-core.h Biggest news is not a patch this time 2023-07-02 10:22:38 -07:00
i2c-designware-master.c i2c: designware: Add support for recovery when GPIO need pinctrl 2023-08-25 22:26:03 +02:00
i2c-designware-pcidrv.c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-06-14 10:47:11 +02:00
i2c-designware-platdrv.c i2c: designware: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-designware-slave.c i2c: designware: fix idx_write_cnt in read loop 2023-06-05 11:58:20 +02:00
i2c-digicolor.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-diolan-u2c.c
i2c-dln2.c i2c: dln2: Use dev_err_probe in probe function 2023-08-10 10:13:40 +02:00
i2c-eg20t.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-elektor.c
i2c-emev2.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-exynos5.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-fsi.c
i2c-gpio.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-gxp.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-highlander.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-hisi.c i2c: hisi: Use dev_err_probe in probe function 2023-08-10 10:13:09 +02:00
i2c-hix5hd2.c i2c: hix5hd2: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-hydra.c
i2c-i801.c i2c: i801: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-ibm_iic.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ibm_iic.h
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: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-imx-lpi2c.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-imx.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-iop3xx.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-iop3xx.h
i2c-isch.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-ismt.c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-07 21:27:08 +01:00
i2c-jz4780.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-kempld.c i2c: kempld: Convert to use regular device PM 2023-08-08 15:36:49 +02:00
i2c-lpc2k.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ls2x.c i2c: ls2x: Add driver for Loongson-2K/LS7A I2C controller 2023-02-02 22:23:59 +01:00
i2c-mchp-pci1xxxx.c i2c: mchp-pci1xxxx: Avoid cast to incompatible function type 2023-06-05 10:43:45 +02:00
i2c-meson.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-microchip-corei2c.c i2c: remove redundant dev_err_probe() 2023-08-08 15:36:55 +02:00
i2c-mlxbf.c i2c: mlxbf: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:44 +02:00
i2c-mlxcpld.c i2c: mlxcpld: Add support for extended transaction length 2023-08-25 22:13:12 +02:00
i2c-mpc.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mt65xx.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mt7621.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mv64xxx.c Biggest news is not a patch this time 2023-07-02 10:22:38 -07:00
i2c-mxs.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-nforce2-s4985.c
i2c-nforce2.c i2c: nforce2: Do PCI error check on own line 2023-08-25 22:11:08 +02:00
i2c-nomadik.c i2c: nomadik: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-npcm7xx.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-nvidia-gpu.c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-06-14 10:47:11 +02:00
i2c-ocores.c i2c: ocores: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-octeon-core.c
i2c-octeon-core.h
i2c-octeon-platdrv.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-omap.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-opal.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-owl.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02: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: PASemi I2C controller IRQ enablement 2022-11-12 21:30:16 +01:00
i2c-pasemi-core.h i2c: /pasemi: PASemi I2C controller IRQ enablement 2022-11-12 21:30:16 +01: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-platform: Use devm_clk_get_enabled() 2023-06-23 11:56:34 +02:00
i2c-pca-isa.c
i2c-pca-platform.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02: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: pnx: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:14 +02:00
i2c-powermac.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-pxa-pci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-pxa.c i2c: pxa: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:10 +02:00
i2c-qcom-cci.c i2c: qcom-cci: Fix error checking in cci_probe() 2023-08-25 22:07:10 +02:00
i2c-qcom-geni.c i2c: qcom-geni: Convert to devm_platform_ioremap_resource() 2023-08-14 18:09:53 +02:00
i2c-qup.c i2c: qup: Remove #ifdef guards for PM related functions 2023-08-08 15:36:50 +02:00
i2c-rcar.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-riic.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-rk3x.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: fix control-request directions 2021-06-24 22:08:00 +02:00
i2c-rzv2m.c i2c: rzv2m: Disable the operation of unit in case of error 2023-06-05 12:03:35 +02:00
i2c-s3c2410.c i2c: s3c2410: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:05 +02:00
i2c-scmi.c More ACPI updates for 6.5-rc1 2023-07-06 22:25:06 -07:00
i2c-sh7760.c i2c: Improve size determinations 2023-06-07 14:12:11 +02:00
i2c-sh_mobile.c i2c: sh_mobile: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:01 +02:00
i2c-sibyte.c
i2c-simtec.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-sis96x.c
i2c-sis630.c i2c: fix spelling typos in comments 2022-10-20 23:09:10 +02:00
i2c-sis5595.c i2c: sis5595: Do PCI error checks on own line 2023-08-25 22:11:03 +02:00
i2c-sprd.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-st.c i2c: st: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:57 +02:00
i2c-stm32.c
i2c-stm32.h
i2c-stm32f4.c i2c: stm32f4: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:48 +02:00
i2c-stm32f7.c i2c: stm32: Do not check for 0 return after calling platform_get_irq() 2023-08-08 15:36:58 +02:00
i2c-sun6i-p2wi.c i2c: sun6i-p2wi: Use devm_clk_get_enabled() 2023-06-23 11:57:20 +02:00
i2c-synquacer.c i2c: synquacer: Use dev_err_probe in probe function 2023-08-10 10:13:57 +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: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-tegra.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +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: check usb base class before assuming the interface on device is for this driver 2023-08-14 15:14:42 +02:00
i2c-uniphier-f.c i2c: uniphier-f: Use devm_clk_get_enabled() 2023-06-23 12:22:34 +02:00
i2c-uniphier.c i2c: uniphier: Use devm_clk_get_enabled() 2023-06-23 12:22:41 +02:00
i2c-versatile.c i2c: versatile: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:40:09 +02:00
i2c-via.c
i2c-viapro.c
i2c-viperboard.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-virtio.c i2c: virtio: Remove #ifdef guards for PM related functions 2023-08-08 15:36:53 +02:00
i2c-wmt.c i2c: wmt: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:41:17 +02:00
i2c-xgene-slimpro.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-xiic.c i2c: xiic: Don't try to handle more interrupt events after error 2023-07-06 21:32:50 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Use dev_err_probe in probe function 2023-08-10 10:12:55 +02:00
Kconfig i2c: mlxcpld: Allow driver to run on ARM64 architecture 2023-08-25 22:12:48 +02:00
Makefile i2c: Add GXP SoC I2C Controller 2023-02-17 23:18:20 +01:00
scx200_acb.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00