linux/drivers/gpio
Graeme Smecher e5304db8d7 gpio: pca953x: Don't flip bits on PCA957x GPIO expanders when probing them.
The pca957x driver supports a handful of I2C GPIO expanders from NXP, Maxim,
and TI. For the PCA9574 and PCA9575 devices only, the driver resets the GPIO
level and direction in the pca957x_probe function. This seems like the wrong
thing to do, since it can cause hardware bit twiddles during warm reboots when
the chip state and reset values don't match.

This kind of initialization is best left upstream (in a bootloader) or
downstream (in userspace). It's also an inconsistency across devices supported
by this driver.

This patch is NOT boot-tested: the SoC I'm  using is stuck on 2.6.37, and the
patch doesn't apply trivially.

Signed-off-by: Graeme Smecher <gsmecher@threespeedlogic.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-09-23 12:57:11 +02:00
..
devres.c gpio: devres: make comments proper 2013-06-17 07:53:00 +02:00
gpio-74x164.c gpio: gpio-74x164: Remove redundant of_match_ptr 2013-09-23 12:52:21 +02:00
gpio-adnp.c gpio: adnp: Fix segfault if request_threaded_irq fails 2013-08-16 16:53:16 +02:00
gpio-adp5520.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-adp5588.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-amd8111.c gpio: add a driver for GPIO pins found on AMD-8111 south bridge chips 2012-07-12 13:40:13 +02:00
gpio-arizona.c gpio: arizona: Add wm8997 support to probe 2013-09-20 20:33:23 +02:00
gpio-bcm-kona.c gpio: bcm-kona: only use set_irq_flags() on ARM 2013-09-20 23:29:52 +02:00
gpio-bt8xx.c gpio: bt8xx: remove unnecessary pci_set_drvdata() 2013-09-20 20:43:09 +02:00
gpio-clps711x.c GPIO: clps711x: Add DT support 2013-06-11 15:44:57 -07:00
gpio-cs5535.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-da9052.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-da9055.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-davinci.c gpio: davinci: preparation for switch to common clock framework 2012-09-01 01:12:01 +02:00
gpio-em.c emev2: GPIOLIB: Enable support for OF 2013-09-19 15:33:45 +02:00
gpio-ep93xx.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-f7188x.c gpio: add GPIO support for F71882FG and F71889F 2013-08-30 09:25:52 +02:00
gpio-ge.c powerpc/85xx: Board support for GE IMP3A 2012-03-16 11:15:48 -05:00
gpio-generic.c GPIO: gpio-generic: remove kfree() from bgpio_remove call 2013-04-11 19:33:54 +02:00
gpio-grgpio.c gpio: grgpio: Staticize local symbols 2013-06-19 21:40:38 +02:00
gpio-ich.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-iop.c ARM: plat-iop: pass physical base for GPIO 2013-09-20 23:05:19 +02:00
gpio-it8761e.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-janz-ttl.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-kempld.c gpio: Fix bit masking in Kontron PLD GPIO driver 2013-08-16 17:56:53 +02:00
gpio-ks8695.c ARM: 7036/1: mach-ks8695: break out GPIO driver specifics 2011-08-22 09:12:54 +01:00
gpio-langwell.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
gpio-lpc32xx.c Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
gpio-lynxpoint.c gpio-lynxpoint: Fix warning about unbalanced pm_runtime_enable 2013-08-16 17:11:33 +02:00
gpio-max730x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-max732x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-max7300.c gpio: max7300: use devm_kzalloc() 2013-03-27 16:05:11 +01:00
gpio-max7301.c gpio: max7301: Reverting "Do not force SPI speed when using OF Platform" 2013-08-23 19:44:28 +02:00
gpio-mc9s08dz60.c gpio: mc9s08dz60: Use devm_kzalloc API 2012-09-01 01:02:27 +02:00
gpio-mc33880.c gpio: gpio-mc33880: Remove redundant spi_set_drvdata 2013-09-23 12:53:13 +02:00
gpio-mcp23s08.c gpio: mcp23s08: rename the device tree property 2013-08-30 09:25:52 +02:00
gpio-ml-ioh.c gpio-ml-ioh: fix error return code in ioh_gpio_probe() 2013-05-30 19:39:20 +02:00
gpio-mm-lantiq.c GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio 2012-05-21 14:31:53 +01:00
gpio-mpc8xxx.c gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping 2013-02-04 21:41:46 +01:00
gpio-mpc5200.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-msic.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-msm-v1.c gpio_msm: Fix build error due to missing err.h 2013-07-31 00:34:31 +02:00
gpio-msm-v2.c This is the bulk of GPIO changes for the v3.12 series: 2013-09-07 10:53:00 -07:00
gpio-mvebu.c drivers/gpio: simplify use of devm_ioremap_resource 2013-08-16 17:16:31 +02:00
gpio-mxc.c gpio/mxc: add chained_irq_enter/exit() to mx2_gpio_irq_handler 2013-08-16 15:19:11 +02:00
gpio-mxs.c gpio: mxs: Use set and clear capabilities of the gpio controller 2013-05-20 20:14:43 +02:00
gpio-octeon.c gpio MIPS/OCTEON: Add a driver for OCTEON's on-chip GPIO pins. 2013-08-26 15:33:40 +02:00
gpio-omap.c drivers/gpio/gpio-omap.c: convert comma to semicolon 2013-08-16 17:14:29 +02:00
gpio-palmas.c gpio: palmas: add support for TPS80036 2013-09-19 15:31:48 +02:00
gpio-pca953x.c gpio: pca953x: Don't flip bits on PCA957x GPIO expanders when probing them. 2013-09-23 12:57:11 +02:00
gpio-pcf857x.c gpio: pcf857x: only use set_irq_flags() on ARM 2013-09-18 15:52:17 +02:00
gpio-pch.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-pl061.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-pxa.c gpio: pxa: remove dead code 2013-07-21 18:14:20 +02:00
gpio-rc5t583.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-rcar.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-rdc321x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-sa1100.c ARM: 7342/2: sa1100: prepare for sparse irq conversion 2012-03-25 23:57:20 +01:00
gpio-samsung.c gpio: samsung: Drop support for Exynos SoCs 2013-08-29 14:40:30 +02:00
gpio-sch.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-sodaville.c gpio: remove use of __devinit 2012-11-28 11:39:33 -08:00
gpio-spear-spics.c drivers/gpio: simplify use of devm_ioremap_resource 2013-08-16 17:16:31 +02:00
gpio-sta2x11.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-stmpe.c gpio: stmpe: Staticize non-exported symbols 2013-05-30 19:20:22 +02:00
gpio-stp-xway.c gpio: gpio-stp-xway.c: fix checkpatch error 2013-03-27 16:05:16 +01:00
gpio-sx150x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-tc3589x.c gpio: tc3589x: remove unnecessary platform_set_drvdata() 2013-05-30 19:20:21 +02:00
gpio-tegra.c drivers/gpio: don't check resource with devm_ioremap_resource 2013-05-18 11:55:19 +02:00
gpio-timberdale.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-tnetv107x.c ARM: 7039/1: mach-davinci: move DaVinci TNET GPIO driver to GPIO subsystem 2011-08-22 09:12:55 +01:00
gpio-tps6586x.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
gpio-tps65910.c gpio: gpio-tps65910.c: fix checkpatch error 2013-03-27 16:05:18 +01:00
gpio-tps65912.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-ts5500.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-twl4030.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-twl6040.c GPIO: gpio-twl6040: Remove support for legacy (pdata) mode 2013-07-20 21:38:18 +02:00
gpio-tz1090-pdc.c gpio-tz1090-pdc: add TZ1090 PDC gpio driver 2013-07-20 19:03:48 +02:00
gpio-tz1090.c gpio-tz1090: convert to use generic irqchip 2013-07-20 19:05:15 +02:00
gpio-ucb1400.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-viperboard.c gpio: Don't override the error code in probe error handling 2013-05-20 20:27:30 +02:00
gpio-vr41xx.c gpio: remove use of __devexit 2012-11-28 11:39:59 -08:00
gpio-vx855.c gpio: vx855: remove unnecessary platform_set_drvdata() 2013-05-30 19:20:21 +02:00
gpio-wm831x.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-wm8350.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-wm8994.c gpio: use dev_get_platdata() 2013-08-16 15:24:35 +02:00
gpio-xilinx.c GPIO: xilinx: Use BIT macro 2013-06-17 07:47:33 +02:00
gpiolib-acpi.c gpiolib-acpi: convert acpi_evaluate_object() to acpi_execute_simple_method() 2013-09-17 14:53:57 +02:00
gpiolib-of.c Device tree core updates for v3.12 2013-09-10 13:53:52 -07:00
gpiolib.c gpiolib: factorize gpiod_get/set functions 2013-09-20 10:30:18 +02:00
Kconfig Merge branch 'iop-cleanup' into devel 2013-09-23 12:47:14 +02:00
Makefile Merge branch 'iop-cleanup' into devel 2013-09-23 12:47:14 +02:00