aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-30floppy: don't call alloc_ordered_workqueue inside the alloc_disk loopHerton Ronaldo Krzesinski1-9/+6
Since commit 070ad7e ("floppy: convert to delayed work and single-thread wq"), we end up calling alloc_ordered_workqueue multiple times inside the loop, which shouldn't be intended. Besides the leak, other side effect in the current code is if blk_init_queue fails, we would end up calling unregister_blkdev even if we didn't call yet register_blkdev. Just moved the allocation of floppy_wq before the loop, and adjusted the code accordingly. Cc: [email protected] # 3.5+ Acked-by: Vivek Goyal <[email protected]> Reviewed-by: Ben Hutchings <[email protected]> Signed-off-by: Herton Ronaldo Krzesinski <[email protected]> Signed-off-by: Jiri Kosina <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2012-10-30xen/blkback: Fix compile warningKonrad Rzeszutek Wilk1-3/+3
drivers/block/xen-blkback/xenbus.c:260:5: warning: symbol 'xenvbd_sysfs_addif' was not declared. Should it be static? drivers/block/xen-blkback/xenbus.c:284:6: warning: symbol 'xenvbd_sysfs_delif' was not declared. Should it be static? Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2012-10-30Input: lpc32xx-keys - select INPUT_MATRIXKMAPRoland Stigge1-0/+1
This adds a "select" dependency of KEYBOARD_LPC32XX on INPUT_MATRIXKMAP, as the other drivers are doing in this regard. This fixes the following compile error if KEYBOARD_LPC32XX is enabled but INPUT_MATRIXKMAP is not: drivers/input/keyboard/lpc32xx-keys.c:230: undefined reference to `matrix_keypad_build_keymap' Signed-off-by: Roland Stigge <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2012-10-30Input: pxa27x_keypad - clear pending interrupts on keypad configVasily Khoruzhick1-0/+3
Bootloader can leave interrupt bit pending, and it confuses driver. Signed-off-by: Vasily Khoruzhick <[email protected]> Acked-by: Robert Jarzmik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2012-10-30Input: wacom - correct bad Cintiq 24HD checkJason Gerecke1-1/+1
Signed-off-by: Fengguang Wu <[email protected]> Signed-off-by: Jason Gerecke <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2012-10-30Merge tag 'v3.7-rc3' into for-linus to sync up with recent USB changesDmitry Torokhov13658-382171/+703575
2012-10-29hwmon, fam15h_power: Change email address, MAINTAINERS entryAndreas Herrmann3-4/+4
Signed-off-by: Andreas Herrmann <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2012-10-29ath9k: fix stale pointers potentially causing access to free'd skbsFelix Fietkau1-0/+2
bf->bf_next is only while buffers are chained as part of an A-MPDU in the tx queue. When a tid queue is flushed (e.g. on tearing down an aggregation session), frames can be enqueued again as normal transmission, without bf_next being cleared. This can lead to the old pointer being dereferenced again later. This patch might fix crashes and "Failed to stop TX DMA!" messages. Signed-off-by: Felix Fietkau <[email protected]> Cc: [email protected] Signed-off-by: John W. Linville <[email protected]>
2012-10-29Merge branch 'for-john' of ↵John W. Linville7-36/+113
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
2012-10-29ARM: dts: OMAP: Rename pandaES and var_som for consistencyBenoit Cousson3-2/+2
Rename the files to have names consistent across OMAP boards. Update the Makefile to use the new name. Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: omap5: Update MMC with address space and interruptsSebastien Guiriec1-0/+10
Add base address and interrupt line inside Device Tree data for OMAP5. Signed-off-by: Sebastien Guiriec <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: omap5: Update UART with address space and interruptsSebastien Guiriec1-2/+14
Add base address and interrupt line inside Device Tree data for OMAP5. Fix as well the wrong compatible string on UART5 & 6. Signed-off-by: Sebastien Guiriec <[email protected]> Reviewed-by: Shubhrajyoti D <[email protected]> [[email protected]: Update the changelog to reflect the fixes done in the patch] Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: omap5: Update I2C with address space and interruptsSebastien Guiriec1-2/+12
Add base address and interrupt line inside Device Tree data for OMAP5 Signed-off-by: Sebastien Guiriec <[email protected]> Reviewed-by: Shubhrajyoti D <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: omap5: Update GPIO with address space and interruptsSebastien Guiriec1-0/+16
Add base address and interrupt line inside Device Tree data for OMAP5. Signed-off-by: Sebastien Guiriec <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: OMAP: Add counter-32k nodesJon Hunter5-0/+39
Adds the counter-32k timers nodes present in OMAP2/3/4 devices and device-tree binding documentation for OMAP counter-32k. Signed-off-by: Jon Hunter <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: OMAP: Add timer nodesJon Hunter7-0/+367
Add the 12 GP timers nodes present in OMAP2. Add the 12 GP timers nodes present in OMAP3. Add the 11 GP timers nodes present in OMAP4. Add the 7 GP timers nodes present in AM33xx. Add documentation for timer properties specific to OMAP. Thanks to Vaibhav Hiremath for creating the AM33xx timer nodes. I have modified Vaibhav's original nodes adding information on which timers support a PWM output. V5 changes: - Updated timer register sizes for OMAP2/3/4. - Modified AM335x timer register size to be 1KB instead of 4KB to align with HWMOD. Signed-off-by: Jon Hunter <[email protected]> Acked-Reviewed-&-Tested-By: Vaibhav Hiremath <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: OMAP: Move interrupt-parent to the root node to avoid duplicationBenoit Cousson7-39/+3
The interrupt-parent attribute does not have to be added in each node since the fmwk will check for the parent as well to get it. Create an interrupt-parent for OMAP2, OMAP3, AM33xx and remove the attributes from every nodes that were using it. Signed-off-by: Benoit Cousson <[email protected]> Cc: Vaibhav Hiremath <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Sebastien Guiriec <[email protected]>
2012-10-29ARM: dts: OMAP4: add *reg* property for ocp2scpKishon Vijay Abraham I2-1/+20
*reg* property for ocp2scp was previously obtained from ti,hwmods property. But that is now explicitly added to the dt node. Also updated the documentation with *reg* info. Signed-off-by: Kishon Vijay Abraham I <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: Add twl4030-usb dataKishon Vijay Abraham I1-0/+21
Add twl4030-usb data node in twl4030 device tree file. twl4030-usb is the phy driver for MUSB used in omap3 chipsets. The dt data is comprised of two interrupts, one for ID and one for VBUS and three phandles to regulator. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: Add twl6030-usb dataKishon Vijay Abraham I3-0/+13
Add twl6030-usb data node in twl6030 device tree file. twl6030-usb is the comparator driver for USB that detects VBUS and ID events. The dt data is comprised of two interrupts, one for ID and one for VBUS and a phandle to the regulator. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29Documentation: dt: i2c: Update trivial-devices listAnilKumar Ch1-0/+2
Update i2c trivial-devices list by adding the description for ti,tmp275 temperature sensor and taos,tsl2550 ambient light sensor. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: Add am335x-evmsk.dtsAnilKumar Ch1-0/+166
Add AM335X EVM-SK device tree source (am335x-sk.dts) file to use the am33xx.dtsi SoC file, along with the memory node information. Also adds support for tps65910 regulator and lis331dlh accelerometer. Following drivers/functionality were tested on AM335x-EVM-SK. * I2C * TPS65910 regulators * lis331dlh accelerometer AM335x EVM Starter Kit details can be accessed from: http://www.ti.com/tool/tmdssk3358 Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add tsl2550 ambient light sensor DT dataAnilKumar Ch1-1/+6
In AM335x EVM tsl2550 ambient light sensor is connected to I2C2 bus. Add child node inside i2c2 node with i2c slave address. TAOS tsl2550 sensor is using a two-wire SMBus serial interface. Reduce I2C2 clock frequency to 100kHz from 400kHz because the maximum clock frequency of SMBus is 100kHz. Signed-off-by: AnilKumar Ch <[email protected]> [[email protected]: Clean the changelog] Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add temperature sensor device tree data to am335x-evmAnilKumar Ch1-0/+5
Add temperature sensor DT data to am335x-evm.dts. In AM335x EVM tmp275 temperature sensor is connected to I2C2 bus. So this patch adds child node inside i2c2 node with i2c slave address. This patch is tested on AM335x EVM. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evmAnilKumar Ch1-0/+39
Add lis331dlh device tree data to am335x-evm.dts. In AM335x EVM lis331dlh accelerometer is connected to I2C2 bus. So this patch change the status of I2C2 node to "okay" to use I2C2 bus. Also added all the required platform data to am335x-evm. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add D_CAN device tree dataAnilKumar Ch1-0/+18
Add Bosch D_CAN controller device tree data to AM33XX dtsi file by adding d_can device nodes with all the necessary parameters. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add basic pinctrl device tree dataAnilKumar Ch1-0/+9
Adds basic pinctrl device tree data for AM33XX family of devices. This patch is based on the pinctrl-single driver. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: AM33XX: Add device tree OPP tableAnilKumar Ch3-0/+27
Add DT OPP table for AM33XX family of devices. This data is decoded by OF with of_init_opp_table() helper function. Also adds cpu0 supply name to the corresponding dts files. cpu0-supply name is used by cpufreq-cpu0 driver to get the regulator pointer for voltage modifications. Signed-off-by: AnilKumar Ch <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29ARM: dts: Add omap3-beagle.dtsJon Hunter4-6/+74
Add a minimal dts for original OMAP3430/3530 version of the Beagle board. This version of the Beagle board has 256MB of DDR and features the same TWL4030 power management IC (PMIC) as the Beagle board XM. Given that the Beagle and Beagle-XM boards use the same PMIC, move the definition of the VSIM regulator into the TWL4030.dtsi file so that we do not need to duplicate in the Beagle board dts file. This has been boot tested on an OMAP3530 Beagle board and verifing that the SD/MMC interface is working with a SD card. V2 changes - Rebased upon of devel-dt - Corrected copyright date in omap3-beagle.dts file - Added LED support after verifing that Beagle and Beagle XM have the same LED configuration Signed-off-by: Jon Hunter <[email protected]> Signed-off-by: Benoit Cousson <[email protected]>
2012-10-29Merge branch 'for-linus' of ↵Linus Torvalds2-2/+6
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fixes form Sage Weil: "There are two fixes in the messenger code, one that can trigger a NULL dereference, and one that error in refcounting (extra put). There is also a trivial fix that in the fs client code that is triggered by NFS reexport." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: fix dentry reference leak in encode_fh() libceph: avoid NULL kref_put when osd reset races with alloc_msg rbd: reset BACKOFF if unable to re-queue
2012-10-29ceph: fix dentry reference leak in encode_fh()David Zafman1-0/+2
Call to d_find_alias() needs a corresponding dput() This fixes http://tracker.newdream.net/issues/3271 Signed-off-by: David Zafman <[email protected]> Reviewed-by: Sage Weil <[email protected]>
2012-10-28ext4: fix unjournaled inode bitmap modificationEric Sandeen1-10/+9
commit 119c0d4460b001e44b41dcf73dc6ee794b98bd31 changed ext4_new_inode() such that the inode bitmap was being modified outside a transaction, which could lead to corruption, and was discovered when journal_checksum found a bad checksum in the journal during log replay. Nix ran into this when using the journal_async_commit mount option, which enables journal checksumming. The ensuing journal replay failures due to the bad checksums led to filesystem corruption reported as the now infamous "Apparent serious progressive ext4 data corruption bug" [ Changed by tytso to only call ext4_journal_get_write_access() only when we're fairly certain that we're going to allocate the inode. ] I've tested this by mounting with journal_checksum and running fsstress then dropping power; I've also tested by hacking DM to create snapshots w/o first quiescing, which allows me to test journal replay repeatedly w/o actually power-cycling the box. Without the patch I hit a journal checksum error every time. With this fix it survives many iterations. Reported-by: Nix <[email protected]> Signed-off-by: Eric Sandeen <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Cc: [email protected]
2012-10-28netfilter: nf_defrag_ipv6: solve section mismatch in nf_conntrack_reasmHein Tibosch1-2/+2
WARNING: net/ipv6/netfilter/nf_defrag_ipv6.o(.text+0xe0): Section mismatch in reference from the function nf_ct_net_init() to the function .init.text:nf_ct_frag6_sysctl_register() The function nf_ct_net_init() references the function __init nf_ct_frag6_sysctl_register(). In case nf_conntrack_ipv6 is compiled as a module, nf_ct_net_init could be called after the init code and data are unloaded. Therefore remove the "__net_init" annotation from nf_ct_frag6_sysctl_register(). Signed-off-by: Hein Tibosch <[email protected]> Acked-by: Cong Wang <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-10-28netfilter: nf_nat: don't check for port change on ICMP tuplesUlrich Weber2-2/+6
ICMP tuples have id in src and type/code in dst. So comparing src.u.all with dst.u.all will always fail here and ip_xfrm_me_harder() is called for every ICMP packet, even if there was no NAT. Signed-off-by: Ulrich Weber <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2012-10-28Merge branch 'i2c-for-linus' of ↵Linus Torvalds5-40/+40
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull i2c subsystem fixes from Jean Delvare. * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-i801: Fix comment i2c-i801: Simplify dependency towards GPIOLIB i2c-stub: Move to drivers/i2c
2012-10-28i2c-i801: Fix commentJean Delvare1-1/+1
Signed-off-by: Jean Delvare <[email protected]>
2012-10-28i2c-i801: Simplify dependency towards GPIOLIBJean Delvare2-4/+6
Arbitrarily selecting GPIOLIB causes trouble on some architectures, so don't do that. Instead, just make the optional multiplexing code depend on CONFIG_I2C_MUX_GPIO instead of CONFIG_I2C_MUX for now. We can revisit if the i2c-i801 driver ever supports other multiplexing flavors. Also make that optional code depend on DMI, as it won't do anything without that. Signed-off-by: Jean Delvare <[email protected]> Cc: Fengguang Wu <[email protected]>
2012-10-28i2c-stub: Move to drivers/i2cJean Delvare3-35/+33
Move the i2c-stub driver to drivers/i2c, to match the Kconfig entry. This is less confusing that way. I also fixed all checkpatch warnings and errors. Signed-off-by: Jean Delvare <[email protected]> Cc: Peter Huewe <[email protected]>
2012-10-28Linux 3.7-rc3Linus Torvalds1-1/+1
2012-10-28Merge tag 'ktest-v3.7-rc2' of ↵Linus Torvalds1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest Pull ktest confusion fix from Steven Rostedt: "With the v3.7-rc2 kernel, the network cards on my target boxes were not being brought up. I found that the modules for the network was not being installed. This was due to the config CONFIG_MODULES_USE_ELF_RELA that came before CONFIG_MODULES, and confused ktest in thinking that CONFIG_MODULES=y was not found. Ktest needs to test all configs and not just stop if something starts with CONFIG_MODULES." * tag 'ktest-v3.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest: ktest: Fix ktest confusion with CONFIG_MODULES_USE_ELF_RELA
2012-10-28Merge tag 'spi-mxs' of ↵Linus Torvalds1-1/+2
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc Pull minor spi MXS fixes from Mark Brown: "These fixes are both pretty minor ones and are driver local." * tag 'spi-mxs' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: spi: mxs: Terminate DMA in case of DMA timeout spi: mxs: Assign message status after transfer finished
2012-10-28Merge tag 'fixes-for-3.7' of ↵Linus Torvalds56-87/+225
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull arm-soc fixes from Arnd Bergmann: "Bug fixes for a number of ARM platforms, mostly OMAP, imx and at91. These come a little later than I had hoped but unfortunately we had a few of these patches cause regressions themselves and had to work out how to deal with those in the meantime." * tag 'fixes-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (38 commits) Revert "ARM i.MX25: Fix PWM per clock lookups" ARM: versatile: fix versatile_defconfig ARM: mvebu: update defconfig with 3.7 changes ARM: at91: fix at91x40 build ARM: socfpga: Fix socfpga compilation with early_printk() enabled ARM: SPEAr: Remove unused empty files MAINTAINERS: Add arm-soc tree entry ARM: dts: mxs: add the "clock-names" for gpmi-nand ARM: ux500: Correct SDI5 address and add some format changes ARM: ux500: Specify AMBA Primecell IDs for Nomadik I2C in DT ARM: ux500: Fix build error relating to IRQCHIP_SKIP_SET_WAKE ARM: at91: drop duplicated config SOC_AT91SAM9 entry ARM: at91/i2c: change id to let i2c-at91 work ARM: at91/i2c: change id to let i2c-gpio work ARM: at91/dts: at91sam9g20ek_common: Fix typos in buttons labels. ARM: at91: fix external interrupt specification in board code ARM: at91: fix external interrupts in non-DT case ARM: at91: at91sam9g10: fix SOC type detection ARM: at91/tc: fix typo in the DT document ARM: AM33XX: Fix configuration of dmtimer parent clock by dmtimer driverDate:Wed, 17 Oct 2012 13:55:55 -0500 ...
2012-10-28Lock splice_read and splice_write functionsMikulas Patocka1-2/+35
Functions generic_file_splice_read and generic_file_splice_write access the pagecache directly. For block devices these functions must be locked so that block size is not changed while they are in progress. This patch is an additional fix for commit b87570f5d349 ("Fix a crash when block device is read and block size is changed at the same time") that locked aio_read, aio_write and mmap against block size change. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-10-28percpu-rw-semaphores: use rcu_read_lock_schedMikulas Patocka1-4/+4
Use rcu_read_lock_sched / rcu_read_unlock_sched / synchronize_sched instead of rcu_read_lock / rcu_read_unlock / synchronize_rcu. This is an optimization. The RCU-protected region is very small, so there will be no latency problems if we disable preempt in this region. So we use rcu_read_lock_sched / rcu_read_unlock_sched that translates to preempt_disable / preempt_disable. It is smaller (and supposedly faster) than preemptible rcu_read_lock / rcu_read_unlock. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-10-28percpu-rw-semaphores: use light/heavy barriersMikulas Patocka1-13/+7
This patch introduces new barrier pair light_mb() and heavy_mb() for percpu rw semaphores. This patch fixes a bug in percpu-rw-semaphores where a barrier was missing in percpu_up_write. This patch improves performance on the read path of percpu-rw-semaphores: on non-x86 cpus, there was a smp_mb() in percpu_up_read. This patch changes it to a compiler barrier and removes the "#if defined(X86) ..." condition. From: Lai Jiangshan <[email protected]> Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-10-28Merge tag 'asoc-3.7' of ↵Takashi Iwai2-5/+4
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.7 Clean up some fallout from the OMAP header reorganisation and a minor fix for DMIC which has no practical effect but is neater.
2012-10-27ASoC: omap-dmic: Correct functional clock namePeter Ujfalusi1-2/+2
We should really use "fck" when asking for the functional clock and not "dmic_fck". This way we can ensure that multiple dmic modules can exist in the system. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-10-27ASoC: zoom2: Fix compile error by including correct header filesTony Lindgren1-3/+2
Also drop the includes that are no longer needed and just cause problems for the ARM common zImage. Acked-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tim Gardner <[email protected]> [[email protected]: updated to drop unneeded headers] Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-10-27gpio/omap: fix off-mode bug: clear debounce settings on free/resetJon Hunter1-0/+35
This change was originally titled "gpio/omap: fix off-mode bug: clear debounce clock enable mask on free/reset". The title has been updated slightly to reflect (what should be) the final fix. When a GPIO is freed or shutdown, we need to ensure that any debounce settings are cleared and if the GPIO is the only GPIO in the bank that is currently using debounce, then disable the debounce clock as well to save power. Currently, the debounce settings are not cleared on a GPIO free or shutdown and so during a context restore on subsequent off-mode transition, the previous debounce values are restored from the shadow copies (bank->context.debounce*) leading to mismatch state between driver state and hardware state. This was discovered when board code was doing gpio_request_one() gpio_set_debounce() gpio_free() which was leaving the GPIO debounce settings in a confused state. If that GPIO bank is subsequently used with off-mode enabled, bogus state would be restored, leaving GPIO debounce enabled which then prevented the CORE powerdomain from transitioning. To fix this, introduce a new function called _clear_gpio_debounce() to clear any debounce settings when the GPIO is freed or shutdown. If this GPIO is the last debounce-enabled GPIO in the bank, the debounce will also be cut. Please note that we cannot use _gpio_dbck_disable() to disable the debounce clock because this has been specifically created for the gpio suspend path and is intended to shutdown the debounce clock while debounce is enabled. Special thanks to Kevin Hilman for root causing the bug. This fix is a collaborative effort with inputs from Kevin Hilman, Grazvydas Ignotas and Santosh Shilimkar. Testing: - This has been unit tested on an OMAP3430 Beagle board, by requesting a gpio, enabling debounce and then freeing the gpio and checking the register contents, the saved register context and the debounce clock state. - Kevin Hilman tested on 37xx/EVM board which configures GPIO debounce for the ads7846 touchscreen in its board file using the above sequence, and so was failing off-mode tests in dynamic idle. Verified that off-mode tests are passing with this patch. V5 changes: - Corrected author Reported-by: Paul Walmsley <[email protected]> Cc: Igor Grinberg <[email protected]> Cc: Grazvydas Ignotas <[email protected]> Cc: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Tested-by: Kevin Hilman <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-10-27Revert "ARM i.MX25: Fix PWM per clock lookups"Arnd Bergmann1-4/+4
This reverts commit 92063cee118655d25b50d04eb77b012f3287357a, it was applied prematurely, causing this build error for imx_v4_v5_defconfig: arch/arm/mach-imx/clk-imx25.c: In function 'mx25_clocks_init': arch/arm/mach-imx/clk-imx25.c:206:26: error: 'pwm_ipg_per' undeclared (first use in this function) arch/arm/mach-imx/clk-imx25.c:206:26: note: each undeclared identifier is reported only once for each function it appears in Sascha Hauer explains: > There are several gates missing in clk-imx25.c. I have a patch which > adds support for them and I seem to have missed that the above depends > on it. Signed-off-by: Arnd Bergmann <[email protected]>