- 16 Oct, 2008 7 commits
-
-
David Brownell authored
Simplify handling of VBUS and ID status and the USB_PRES interrupt. This seems to resolve the problems I previously saw on Beagle and Overo boards. - Read the status directly, instead of trying to infer it from dodgey side effects of IRQ handling and trigger tweaking. - Stop trying to arrange those dodgey side effects; just leave the IRQ enabled at all times. - Check that status as part of driver probe, so the PHY can always be active by the time it's needed. (BUGFIX!) - Re-sequence probe() to be less racey, and to avoid duplicating logic found elsewhere (notably irq handling and PHY activation). - Make the irq_chip be the exclusive owner of PWR_EDR (finally). - Get rid of needless work_struct ... in this irq handling thread, it's safe and cheap to call sysfs_notify() directly. Stop enabling IRQs on the USB subchip. There's no IRQ handler for them, and since ALT_INT_REROUTE isn't being set they'll never arrive ... so there's no point to enabling them. Also add some comments about other things such an otg_transciever driver should be doing, fixing minor omissions; and remove some unnecessary file inclusions. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Disable more unnecessary TWL4030_*IRQ_* symbols. We're not yet ready to remove them all from <linux/i2c/twl4030.h> since various drivers still use those symbols (maybe indirectly) not platform resources: twl4030_bci_battery.c, twl4030-madc.c, twl4030-pwrbutton.c, and omap-twl4030keypad.c all need updates. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Replace twl4030 GPIO IRQ handling with generic SIH support. No change in functionality; but there's now one less kernel thread tied up supporting this chip. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Replace twl4030-pwrirq with the more capable generic TWL SIH support. "More capable" includes standard support for IRQ trigger modes; so make the RTC and USB transceiver drivers use genirq for that. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Add TWL4030 infrastructure for shared SIH interrupts. This is basically what the twl4030 GPIO IRQ code does, but switching to a workqueue to handle each irqchip's mask/unmask and set_type operations instead of a kthread that must figure out what to do each time it wakes up. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Switch to a different twl4030-irq SIH irq init scheme. Its goal is to remove some section issues while providing a data structure that can be reused by generic SIH IRQ handling code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
Split the IRQ support out of twl4030-core.c into twl4030-irq.c, including some minor tidy-ups and a note_interrupt() paranoia in case of flakiness with some PIH interrupt. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
- 14 Oct, 2008 1 commit
-
-
Tony Lindgren authored
Looks like we lost this at some point, add it back to sync with mainline tree. Signed-off-by: Tony Lindgren <tony@atomide.com>
-
- 11 Oct, 2008 1 commit
-
-
Paul Walmsley authored
omap_i2c_unidle() and omap_i2c_idle() are called recursively during omap_i2c_probe(). This is evidently unexpected and will wipe out the I2C interrupt enable register the second time that omap_i2c_idle() is called consecutively. Any I2C transactions following a probe of a bus with at least one device on it will then time out. Fix by moving omap_i2c_idle() further up in omap_i2c_probe(). Ensure the I2C controller is marked as idle before the probe starts. Also attempt to catch future reappearances of this bug early in development by warning in omap_i2c_{un,}idle() when they are called recursively. Problem reported by David Brownell <david-b@pacbell.net>. Tested on 3430SDP and 2430SDP. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: David Brownell <david-b@pacbell.net> Cc: Richard Woodruff <r-woodruff2@ti.com> Acked-by; Steve Sakoman <steve@sakoman.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
- 10 Oct, 2008 12 commits
-
-
Sanjeev Premi authored
Without this option, kernel builds would fail, with errors similar to: hsmmc.c:50: undefined reference to `twl4030_get_gpio_datain' hsmmc.c:82: undefined reference to `twl4030_free_gpio' hsmmc.c:63: undefined reference to `twl4030_request_gpio' hsmmc.c:67: undefined reference to `twl4030_set_gpio_debounce' Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
David Brownell authored
I can't test the pwrbutton stuff, but rtc and musb behave... With one issue: the usb transceiver glue misbehaves on startup if the device is connected. (Again.) I looked at this a bit, and I think the issue is probably caused by not actually using key USB registers ... IRQ trigger mode state transitions are at best a fragile proxy for the real state. (This is similar to the GPIO patch I just sent, but simpler except for the impact on the few drivers thinking oddly about IRQs. Those patches cover the key SIH modules, and a similar one affects the PIH in twl4030-core.) - Dave ================================ Streamline the "power irq" code, and some of the mechanisms it uses: - Support IRQ masking, not just unmasking; simpler code. - Use the standard handle_edge_irq() handler for these edge IRQs. - Use generic_handle_irq() instead of a manual expansion thereof. - Provide a missing spinlock for the shared data. In short, use more of the standard genirq code ... more correctly. Also, update the drivers using the "power IRQ" accordingly: - Don't request IRQF_DISABLED if the handler makes I2C calls; and defend against lockdep forcing it on us. - Let the irq_chip handle IRQ mask/unmask; it handles mutual exclusion between drivers, among other things. - (Unrelated) remove useless MODULE_ALIAS in pwrbutton. The USB transceiver driver still places some dodgey games with IRQ enable/disable, and IRQ trigger flags. At least some of them seem like they'd be simplified by using USB transceiver registers ... notably, startup code, which doesn't seem to check state before it enters an irq-driven mode. For the moment, these drivers still (wrongly) try to configure IRQ trigger modes themselves ... again, that's something that an irq_chip handles (but not yet, for this one). NOTE: tested (MUSB and RTC only) along with the init/retry hack to make twl4030-pwrirq work around the i2c-omap timeout problems.
-
Tony Lindgren authored
Minor cosmetic clean-up for LDP for mainline Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Daniel Stone authored
Previously, the only external (to dispc.c) IRQ handler was RFBI's frame done handler. dispc's IRQ framework was very dumb: you could only have one handler, and the semantics of {request,free}_irq were odd, to say the least. The new framework allows multiple consumers to register arbitrary IRQ masks. Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Siarhei Siamashka authored
The problem is related to the following notice in the documentation: "Once a destructive window with up-scaling is created, it can only be disabled by creating a background window.". With the current omapfb driver code, if you try to do a partial screen update (show menu or dialog) after a scaled screen update (video overlay), scaling setting are not reset properly and you see this "magnifying glass" effect if a part of new update overlaps previously scaled area. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@nokia.com> Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Daniel Stone authored
Make Kconfig reflect reality. Signed-off-by: Daniel Stone <daniel.stone@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Hiroshi DOYU authored
warning: 'rev_name' may be used uninitialized in this function Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Jagadeesh Bhaskar Pakaravoor authored
Fix a trivial typo. Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Sanjeev Premi authored
Fix these compiler warnings: gpmc.c: In function 'gpmc_init': gpmc.c:432: warning: 'return' with a value, in function returning void gpmc.c:439: warning: 'return' with a value, in function returning void Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Roman Tereshonkov authored
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com> Acked-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Paul Walmsley authored
Commit 1c957036 breaks booting on OMAP2; it causes the SRAM to be mapped on top of the L4 interconnect. This causes the system to hang early in boot in omap_map_sram() during the TLB flush. Fix by moving SRAM elsewhere in the memory map. Reported by Jarkko Nikula <jarkko.nikula@nokia.com>. This patch is a collaboration with Tony Lindgren <tony@atomide.com> and Kevin Hilman <khilman@deeprootsystems.com>. Boot-tested on 2430SDP (by Paul) and N810 (by Jarkko). Signed-off-by: Paul Walmsley <paul@pwsan.com> Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Måns Rullgård <mans@mansr.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
-
Tony Lindgren authored
Merge branches 'master' and 'linus'
-
- 09 Oct, 2008 12 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
This is debatable, but while we're debating it, let's disallow the combination of splice and an O_APPEND destination. It's not entirely clear what the semantics of O_APPEND should be, and POSIX apparently expects pwrite() to ignore O_APPEND, for example. So we could make up any semantics we want, including the old ones. But Miklos convinced me that we should at least give it some thought, and that accepting writes at arbitrary offsets is wrong at least for IS_APPEND() files (which always have O_APPEND set, even if the reverse isn't true: you can obviously have O_APPEND set on a regular file). So disallow O_APPEND entirely for now. I doubt anybody cares, and this way we have one less gray area to worry about. Reported-and-argued-for-by: Miklos Szeredi <miklos@szeredi.hu> Acked-by: Jens Axboe <ens.axboe@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-
git://jdelvare.pck.nerim.net/jdelvare-2.6Linus Torvalds authored
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X hwmon: (adt7473) Fix some bogosity in documentation file hwmon: Define sysfs interface for energy consumption register hwmon: (it87) Prevent power-off on Shuttle SN68PT eeepc-laptop: Fix hwmon interface
-
git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreqLinus Torvalds authored
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] correct broken links and email addresses
-
Matt Mackall authored
This fixes the previous fix, which was completely wrong on closer inspection. This version has been manually tested with a user-space test harness and generates sane values. A nearly identical patch has been boot-tested. The problem arose from changing how kmalloc/kfree handled alignment padding without updating ksize to match. This brings it in sync. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-
Németh Márton authored
Replace the no longer working links and email address in the documentation and in source code. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Dave Jones <davej@redhat.com>
-
Alistair John Strachan authored
Enable driver checking of the DMI product name (when enabled) on an Abit AT8 32X, instead of falling back to a manual probe. This eliminates false negatives and eventually will help avoid unnecessary bus probes on unsupported mainboards. Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Daniel Exner <dex@dragonslave.de> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
Alistair John Strachan authored
The table for the Abit AT8 32X was incorrectly missing an entry for the sixth ("AUX3") fan. Add this entry, exporting the fan reading to userspace. Closes lm-sensors.org ticket #2339. Signed-off-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Daniel Exner <dex@dragonslave.de> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
Darrick J. Wong authored
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
Darrick J. Wong authored
Describe the sysfs files that were introduced in the ibmaem driver. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
Jean Delvare authored
On the Shuttle SN68PT, FAN_CTL2 is apparently not connected to a fan, but to something else. One user has reported instant system power-off when changing the PWM2 duty cycle, so we disable it. I use the board name string as the trigger in case the same board is ever used in other systems. This closes lm-sensors ticket #2349: pwmconfig causes a hard poweroff http://www.lm-sensors.org/ticket/2349Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
Corentin Chary authored
Creates a name file in the sysfs directory, that is needed for the libsensors library to work. Also rename fan1_pwm to pwm1 and scale its value as needed. This fixes bug #11520: http://bugzilla.kernel.org/show_bug.cgi?id=11520Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-
- 08 Oct, 2008 3 commits
-
-
git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds authored
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Sibyte: Register PIO PATA device only for Swarm and Litte Sur
-
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds authored
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: tcp: Fix tcp_hybla zero congestion window growth with small rho and large cwnd. net: Fix netdev_run_todo dead-lock tcp: Fix possible double-ack w/ user dma net: only invoke dev->change_rx_flags when device is UP netrom: Fix sock_orphan() use in nr_release ax25: Quick fix for making sure unaccepted sockets get destroyed. Revert "ax25: Fix std timer socket destroy handling." [Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle [Bluetooth] Add reset quirk for new Targus and Belkin dongles [Bluetooth] Fix double frees on error paths of btusb and bpa10x drivers
-
Ralf Baechle authored
Symbol name spaghetti which is too complicated to cleanup on this stage of the release cycle breaks the build on BCM1480 platforms. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-
- 07 Oct, 2008 4 commits
-
-
Daniele Lacamera authored
Because of rounding, in certain conditions, i.e. when in congestion avoidance state rho is smaller than 1/128 of the current cwnd, TCP Hybla congestion control starves and the cwnd is kept constant forever. This patch forces an increment by one segment after #send_cwnd calls without increments(newreno behavior). Signed-off-by: Daniele Lacamera <root@danielinux.net> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
Benjamin Thery tracked down a bug that explains many instances of the error unregister_netdevice: waiting for %s to become free. Usage count = %d It turns out that netdev_run_todo can dead-lock with itself if a second instance of it is run in a thread that will then free a reference to the device waited on by the first instance. The problem is really quite silly. We were trying to create parallelism where none was required. As netdev_run_todo always follows a RTNL section, and that todo tasks can only be added with the RTNL held, by definition you should only need to wait for the very ones that you've added and be done with it. There is no need for a second mutex or spinlock. This is exactly what the following patch does. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Ali Saidi authored
From: Ali Saidi <saidi@engin.umich.edu> When TCP receive copy offload is enabled it's possible that tcp_rcv_established() will cause two acks to be sent for a single packet. In the case that a tcp_dma_early_copy() is successful, copied_early is set to true which causes tcp_cleanup_rbuf() to be called early which can send an ack. Further along in tcp_rcv_established(), __tcp_ack_snd_check() is called and will schedule a delayed ACK. If no packets are processed before the delayed ack timer expires the packet will be acked twice. Signed-off-by: David S. Miller <davem@davemloft.net>
-