linux/drivers/gpio
Tarun Kanti DebBarma 6edd94db25 gpio/omap: fix incorrect initialization of omap_gpio_mod_init
Initialization of irqenable, irqstatus registers is the common
operation done in this function for all OMAP platforms, viz. OMAP1,
OMAP2+. The latter _gpio_rmw()'s which supposedly got introduced
wrongly to take care of OMAP2+ platforms were overwriting initially
programmed OMAP1 value breaking functionality on OMAP1.
Somehow incorrect assumption was made that each _gpio_rmw()'s were
mutually exclusive. On close observation it is found that the first
_gpio_rmw() which is supposedly done to take care of OMAP1 platform
is generic enough and takes care of OMAP2+ platform as well.
Therefore remove the latter _gpio_rmw() to irqenable as they are
redundant now.

Writing to ctrl and debounce_en registers for OMAP2+ platforms are
modified to match the original(pre-cleanup) code where the registers
are initialized with 0. In the cleanup series since we are using
_gpio_rmw(reg, 0, 1), instead of __raw_writel(), we are just reading
and writing the same values to ctrl and debounce_en. This is not an
issue for debounce_en register because it has 0x0 as the default value.
But in the case of ctrl register the default value is 0x2 (GATINGRATIO
 = 0x1) so that we end up writing 0x2 instead of intended 0 value.
Therefore changing back to __raw_writel() as this is sufficient for
this case besides simpler to understand.

Also, change irqstatus initalization logic that avoids comparison
with bool, besides making it fit in a single line.

Cc: stable@vger.kernel.org
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Reported-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-05-10 07:16:15 -07:00
..
devres.c GPIO: add bindings for managed devices 2012-01-04 11:37:42 -07:00
gpio-74x164.c drivers/gpio: Fix drivers who are implicit users of module.h 2011-10-31 19:31:47 -04:00
gpio-ab8500.c gpio: ab8500: fix MODULE_ALIAS for ab8500 2011-07-28 16:19:23 -06:00
gpio-adp5520.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-adp5588.c gpio: Fix uninitialized variable bit in adp5588_irq_handler 2012-04-10 14:20:55 -06:00
gpio-bt8xx.c gpiolib: output basic details and consolidate gpio device drivers 2011-12-12 13:40:16 -07:00
gpio-cs5535.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-da9052.c Changes queued in gpio/next for the start of the 3.3 merge window 2012-01-07 12:15:36 -08:00
gpio-davinci.c gpio/davinci: fix enabling unbanked GPIO IRQs 2012-03-12 11:53:33 -06:00
gpio-ep93xx.c GPIO changes for v3.4 2012-03-28 14:08:46 -07:00
gpio-ge.c powerpc/85xx: Board support for GE IMP3A 2012-03-16 11:15:48 -05:00
gpio-generic.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-it8761e.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-janz-ttl.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07: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 gpio: langwell: ensure alternate function is cleared 2011-10-06 04:14:52 -06:00
gpio-lpc32xx.c GPIO: LPC32xx: Add output reading to GPO P3 2012-03-12 11:25:30 -06:00
gpio-max730x.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-max732x.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-max7300.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-max7301.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-mc9s08dz60.c ARM/mx35/3ds: gpio: add mc9s08dz60 gpio function 2012-01-30 07:49:08 -07:00
gpio-mc33880.c drivers/gpio: Fix drivers who are implicit users of module.h 2011-10-31 19:31:47 -04:00
gpio-mcp23s08.c drivers/gpio: Fix drivers who are implicit users of module.h 2011-10-31 19:31:47 -04:00
gpio-ml-ioh.c gpio: Add missing spin_lock_init in gpio-ml-ioh driver 2012-02-01 21:59:37 -07:00
gpio-mpc8xxx.c irq_domain/powerpc: Replace custom xlate functions with library functions 2012-02-16 06:11:24 -07:00
gpio-mpc5200.c drivers/gpio: Fix drivers who are implicit users of module.h 2011-10-31 19:31:47 -04:00
gpio-msm-v1.c gpio_msm: Move Qualcomm v6 MSM driver into drivers 2011-08-01 04:58:00 -07:00
gpio-msm-v2.c gpio_msm: Move Qualcomm MSM v2 gpio driver into drivers 2011-08-01 04:58:00 -07:00
gpio-mxc.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
gpio-mxs.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
gpio-nomadik.c gpiolib: output basic details and consolidate gpio device drivers 2011-12-12 13:40:16 -07:00
gpio-omap.c gpio/omap: fix incorrect initialization of omap_gpio_mod_init 2012-05-10 07:16:15 -07:00
gpio-pca953x.c gpio: pca953x: Staticise pca953x_get_altdata() 2011-11-21 20:53:15 +01:00
gpio-pcf857x.c gpiolib: output basic details and consolidate gpio device drivers 2011-12-12 13:40:16 -07:00
gpio-pch.c gpio: Add missing spin_lock_init in gpio-pch driver 2012-02-01 21:59:15 -07:00
gpio-pl061.c gpio/gpio-pl061: No need of thaw and poweroff routines for hibernate 2012-02-16 06:37:51 -07:00
gpio-pxa.c ARM: pxa: fix gpio wakeup setting 2012-04-27 10:46:45 +08:00
gpio-rdc321x.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07: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/exynos: Fix compiler warning in gpio-samsung.c file 2012-04-10 22:15:39 -06:00
gpio-sch.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-sodaville.c gpio/sodaville: Convert sodaville driver to new irqdomain API 2012-04-10 14:20:55 -06:00
gpio-stmpe.c GPIO changes for v3.4 2012-03-28 14:08:46 -07:00
gpio-sx150x.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-tc3589x.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-tegra.c gpio: tegra: Iterate over the correct number of banks 2012-04-04 13:13:18 -06:00
gpio-timberdale.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07: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-tps65910.c gpio: tps65910: Add sleep control support 2012-02-05 23:08:29 -07:00
gpio-tps65912.c tps65912: gpio: add gpio driver 2011-07-31 23:28:22 +02:00
gpio-twl4030.c gpio/twl: Add DT support to gpio-twl4030 driver 2012-03-22 13:05:55 +01:00
gpio-ucb1400.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-vr41xx.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-vx855.c gpio: Convert GPIO drivers to module_platform_driver 2012-01-02 00:26:06 -07:00
gpio-wm831x.c Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 2011-07-22 14:50:57 -07:00
gpio-wm8350.c gpio: reorganize drivers 2011-06-06 10:10:11 -06:00
gpio-wm8994.c gpio: Add decode of WM8994 GPIO configuration 2012-01-02 00:27:01 -07:00
gpio-xilinx.c gpiolib: output basic details and consolidate gpio device drivers 2011-12-12 13:40:16 -07:00
gpiolib.c gpiolib: Add comments explaining the _cansleep() WARN_ON()s 2012-03-05 08:05:08 -07:00
Kconfig gpio/sodaville: Convert sodaville driver to new irqdomain API 2012-04-10 14:20:55 -06:00
Makefile GPIO changes for v3.4 2012-03-28 14:08:46 -07:00