David Brownell [Tue, 30 Sep 2008 18:43:05 +0000 (21:43 +0300)]
twl4030-core: portability updates
Improve handling of the OMAP-specific setup in twl4030-core,
and remove various warnings on non-OMAP builds.
The main remaining portability problem for this core code (from
a build perspective) is needing symbols like TWL4030_PWR_IRQ_BASE
which are undesirable and platform-specific.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:43:04 +0000 (21:43 +0300)]
twl4030-gpio: irq and other cleanup
Remove some ARM and OMAP specific stuff from the twl4030 GPIO code,
and some unused/undesirable CPP symbols. Add minor checkpatch fixes.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:43:03 +0000 (21:43 +0300)]
twl4030-gpio: remove legacy irq triggering calls and user
Make the hsmmc code use genirq interfaces to make sure the
card detect IRQ triggers on both edges. Remove the older
TWL-specific infrastructure for making that happen.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:43:02 +0000 (21:43 +0300)]
twl4030-gpio irq_chip.set_type
Make twl4030 GPIO support set_type() request.
Plus a bit of cleanup for the simple functions.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:43:00 +0000 (21:43 +0300)]
Move I2C driver model init earlier in the boot sequence
This avoids oopsing in statically linked systems when some
subsystems register I2C drivers in subsys_initcall() code,
but those subsystems are linked (and initialized) before I2C.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:58 +0000 (21:42 +0300)]
minor irq-related cleanups
Minor IRQ-related cleanups: comment out the no-longer-used
GPIO irq symbol (more to come, eventually); create RTC IRQ
resource; and use that RTC IRQ resource.
And incidentally, make the RTC code free the correct IRQ;
it was pretty goofed up...
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:56 +0000 (21:42 +0300)]
move twl4030-gpio to drivers/gpio
Move the twl4030 GPIO support from drivers/i2c/chips to drivers/gpio,
which is a more appropriate home for this code.
The Kconfig symbol name is changed to match the GPIO_* convention for
such symbols, so config files must change in the obvious ways (Kconfig
will prompt you). There's now some helptext.
It can now be compiled as a module, should anyone really want to
do that; that'll be mostly useful for test builds. Sanity check the
IRQ range we're given.
Initialization order needed a bit of work too: core add_children()
called only after IRQs get set up, gpio uses subsys_initcall. This
depends on a patch making i2c driver model init use postcore_initcall.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:55 +0000 (21:42 +0300)]
provide detailed diagnostics in add_children()
Provide detailed diagnostics in add_children() when DEBUG is
defined ... and fix the non-DEBUG message to include minimal
status, and not appear unless there was actually an error.
Update the IRQ message; have it match what the GPIO subchip
says, and as a precaution, make it only appear if the IRQs
have been initialized.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Added a few more diagnostics when platform_device_add() fails.
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:54 +0000 (21:42 +0300)]
minor twl4030-core cleanups
Minor twl4030-core cleanups: alphabetize the creation of the
new sub-function nodes; wrap an #if around the OMAP-only part
(to get more general build testing when this goes upstream);
remove reference to undocumented "twl3040" variant.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Moved gpio before keypad driver due to alphabetic order.
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:52 +0000 (21:42 +0300)]
twl4030 uses gpiolib
Make the twl4030 core create a platform device to which its
GPIO code will bind, with platform_data used to configure
board-specific behaviors and configuration.
Update the twl4030 GPIO code:
- Morph its gpio function code into a platform driver.
- Move away from IRQ (and GPIO) numbers hard-wired in headers.
- Hook up the twl4030 GPIO code to gpiolib.
- Start phasing out the older TWL-specific calls ... currently
those are used only by arch/arm/mach-omap2/hsmmc.c setup code.
- Use a mutex for locking, not a binary semaphore.
NOTE: more patches pending: (a) this doesn't use pdata->pullups
to initialize (currently hsmmc code always sets GPIO-0 pullup even
if the board has an external pullup); (b) there's a new gpio
request/free hook forthcoming in 2.6.28, which this should use;
(c) likewise there's a new gpio_to_irq() hook; (d) the irq_chip
set_type() mechanism needs to be supported; (e) needs to move over
to drivers/gpio; (f) upcoming threaded IRQ infrastructure should
be used, when that merges.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 30 Sep 2008 18:42:51 +0000 (21:42 +0300)]
twl4030 gpio platform data
Define platform data for configuring TWL4030 GPIOs,
and provide it for all boards using these chips.
For now all boards use the same fixed assignments for
GPIO and IRQ numbers. Eventually we should be able
to shuffle them without changing platform headers.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
twl4030-gpio: Remove default pullup enable/disable of GPIO
One twl4030_request_gpio() should not tamper with the pullup
enabling/disabling of the rest of the GPIOs. So removing the default
pullup values written to REG_GPIOPUPDCTR1.
Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Girish S G <girishsg@ti.com> Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Felipe Balbi [Tue, 30 Sep 2008 18:42:45 +0000 (21:42 +0300)]
twl4030: fix potential null pointer dereference
The following patch fix a potential null pointer
dereference in twl4030 keypad driver when parts
of keypad platform_data aren't passed down to the
driver. At that point kp->dbg_dev is not set yet.
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 30 Sep 2008 12:52:57 +0000 (15:52 +0300)]
ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices dynamically, v2
Big MMC init clean up:
- Remove enabled field from slots. It is really intended to mean enabled controller,
not enabled slot. Some controllers can have multiple multiplexed slots connected
to the first controller, such as H4 and N8X0.
- Initialize MMC devices dynamically as suggested by Russell King
- Fix omap1 and omap2 mmc clock instance numbers
- Also attempt to fix massive omap1 MMC breakage caused by patch 138ab9f8321f67c71984ca43222efa71b0a0a0a9. Remove obviously broken
MMC configurations for now. MMC is still not working for any
omap1 boards.
David Brownell [Thu, 25 Sep 2008 02:35:56 +0000 (19:35 -0700)]
some drivers switch away from OMAP-specific GPIO calls
This updates most of the OMAP drivers which are in mainline to
switch to using the cross-platform GPIO calls instead of the
older OMAP-specific ones.
This is all fairly brainless/obvious stuff. Probably the
most interesting bit is to observe that the omap-keypad
code seems to now have a portable core that could work with
non-OMAP matrix keypads. (That would improve with hardware
IRQ debouncing enabled, of course...)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
Tero Kristo [Thu, 25 Sep 2008 12:35:49 +0000 (15:35 +0300)]
PM: Fixed clockdomain state control for OMAP3
Hardware supervised control for clockdomain power state transitions now
enabled in omap3_pm_init(). Also fixed set_pwrdm_state() to allow state
changes between sleep states (i.e. RET<->OFF.)
Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
OMAP3: GPIO: Enable debounce clock only when debounce is enabled v3.
This patch changes gpio "driver" to enable debounce clock for
gpio-bank only when debounce is enabled for some gpio in that bank.
Gpio functional clocks are also renamed in clock tree, gpioX_fck ->
gpioX_dbck.
This patch triggers problem with gpio wake-up and Omap3. Gpios in PER
domain aren't capable to generate wake-up if PER domain is in sleep
state. For this iopad wake-up should be used and needed pad
configuration should be done. Enabling iopad wake-up for gpio pads is
left for bootloader or omap mux configuration in kernel.
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 24 Sep 2008 11:21:49 +0000 (14:21 +0300)]
ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices dynamically
Big MMC init clean up:
- Remove enabled field from slots. It is really intended to mean enabled controller,
not enabled slot. Some controllers can have multiple multiplexed slots connected
to the first controller, such as H4 and N8X0.
- Initialize MMC devices dynamically as suggested by Russell King
- Fix omap1 mmc clock instance numbers
- Also attempt to fix massive omap1 MMC breakage caused by patch 138ab9f8321f67c71984ca43222efa71b0a0a0a9. Remove obviously broken
MMC configurations for now. MMC is still not working for any
omap1 boards.
Don't use __init but __devinit to define probe function. A pointer to
omap_mcbsp_probe is passed to the core via platform_driver_register and
so the function must not disappear when the init code is freed. Using
__init and having HOTPLUG=y the following probably oopses:
While at it move the remove function to the .devexit.text section.
Signed-off-by: Uwe Kleine-König <ukleinek@strlen.de> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 16 Sep 2008 12:56:53 +0000 (15:56 +0300)]
ARM: OMAP: Add RX/TX interrupts for 2430 and 34xx McBSP ports 3-5
Without RX and TX interrupt definitions, the omap_mcbsp_request will
fail on OMAP2430 and OMAP34xx for ports 3-5 since default io_type is
OMAP_MCBSP_IRQ_IO.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Mon, 22 Sep 2008 13:47:51 +0000 (16:47 +0300)]
ARM: OMAP: Fixes to omap_mcbsp_request function
Bootloader may let McBSP logic running so make sure that block is idle
before requesting IRQs. Also make sure that TX and RX waitqueues are
initialized before request_irq.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Felipe Balbi [Tue, 23 Sep 2008 11:33:50 +0000 (14:33 +0300)]
watchdog: another ioremap() fix
convert to use ioremap() and __raw_{read/write} friends.
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: George G. Davis <gdavis@mvista.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Tony Lindgren <tony@atomide.com>
arun c [Sat, 20 Sep 2008 06:51:40 +0000 (02:51 -0400)]
OMAP3EVM: TWL4030 Keypad irq error fix
without this the below error messages were coming continuously
TWL4030 module irq 369 is disabled but can't be masked!
<2>TWL4030 module irq 369 is disabled but can't be masked!
Signed-off-by: Arun C <arunedarath@mistralsolutions.com> Acked-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Sun, 21 Sep 2008 21:08:47 +0000 (14:08 -0700)]
twl4030: new-style driver conversion
More updates preparing for upstream merge of twl4030 driver:
Basic fixes
- twl4030-core becomes a new-style I2C driver
- declare and use platform_data structure for that core
- stop hard-wiring the irq numbers
- check functionality that's really used: I2C, not SMBus
Cleanup:
- remove needless "client string"
- remove some fake "bool" types
- include catalog part numbers (TPS659{5,3,2}0)
- diagnostics should identify the driver!
To use this, all boards with these chips will need to declare this chip
when they declare their active I2C busses (done in a separate patch).
NOTE: the TWL4030_IRQ_* symbols still need to vanish, along with other
global resource assignments associated with these chips.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Tue, 16 Sep 2008 08:27:35 +0000 (02:27 -0600)]
OMAP3 IRQ: add some missing IRQs for secure peripherals
Add in some missing IRQs for secure peripherals, defined in
OMAP34xx Multimedia High Security Device Silicon Revision 3.0 Security
Addendum Version B (SWPU119B)
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Tue, 16 Sep 2008 14:58:40 +0000 (08:58 -0600)]
OMAP3 clock: add wait for USIM module to become active
This patch adds the register definitions and clock tree fields required
to wait for the USIM module to come out of idle when the USIM clocks are
enabled. Register bit definitions are from the 34xx HS Addendum Rev B.
There, the clock is in fact named "USIM_ICLK".
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Tue, 16 Sep 2008 14:58:34 +0000 (08:58 -0600)]
OMAP2/3 clock: encode target IDLEST bits and clean omap2_clk_wait_ready()
For each OMAP module that has a target IDLEST bit, add the appropriate
bits to the clock tree on both the module interface clock and the appropriate
functional clock. Add a new clock bit, "WAIT_READY", that indicates that
the clock code must wait for the clock's module to come out of idle after
both the target functional clock and interface clocks are enabled. Fix
some clock flag comments while there to indicate that clocks marked
as "3430ES2" clocks also are valid for later 3430 revisions.
Several OMAP3xxx clocks must be split into platform-specific variants,
since some early silicon revisions do not have target idle state bits
available. DSS, HSOTGUSB, and SSI clocks are affected. In the future, it
would be ideal to #ifdef out those clocks for kernels that don't need to
run on 3430ES1 chips to save memory.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Tue, 16 Sep 2008 14:58:33 +0000 (08:58 -0600)]
OMAP2/3 PRCM: convert IDLEST register bit macros to use the _SHIFT/_MASK style
Originally when the PRCM register macros were defined, bit shift macros
used a "_SHIFT" suffix, and mask macros used none. This became a source
of bugs and confusion, as the mask macros were mistakenly used for shift
values. Gradually, the mask macros have been updated, piece by piece,
to add a "_MASK" suffix on the end to clarify. This patch applies this
change to the CM_IDLEST_* register bits.
The patch also adds a few bits that were missing, mostly from the 3430ES1
to ES2 revisions.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Mon, 22 Sep 2008 14:51:14 +0000 (17:51 +0300)]
OMAP2/3 clock: use clk->prcm_mod for all struct clk register addressing
Use the clk->prcm_mod field for all register addresses in struct clk.
Remove all usage of the *_REGADDR() and *_OFFSET() macros from the
clock tree. This eliminates a set of (__force void __iomem *) casts
and removes all of the OMAP2xxx register address rewriting. Shrink
the width of the enable_reg/clksel_reg registers to 16 bits, saving 4
bytes per struct clk.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 17:47:15 +0000 (11:47 -0600)]
OMAP2/3 clock: convert omap2_wait_clock_ready() to use clk.prcm_mod
Convert omap2_wait_clock_ready() to use clk.prcm_mod rather than a
void __iomem *. This removes some cruft from clock24xx.c and sets
up further cruft removal in a subsequent patch.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 17:47:06 +0000 (11:47 -0600)]
OMAP2/3 clock: add _omap2_clk_{read,write}_reg()
Create new static functions to read/write registers used in the struct
clk, _omap2_clk_{read,write}_reg(). A subsequent patch will use these
to ensure the correct register read/write instruction is used, which depends
on whether the clock registers are in the CM, PRM, or SCM.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Add a "prcm_mod" field to the struct clk in OMAP2/3, and annotate each
OMAP2xxx real hardware clock controlled by the PRCM with the PRCM
module offset. (A subsequent patch will annotate OMAP3 clocks.)
Add flags for this field that allow the registers to
be marked as existing in the PRM, CM, or System Control Module.
A subsequent patch will use this to simplify register addressing in the
struct clk.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 17:46:54 +0000 (11:46 -0600)]
OMAP3 clock: split mcbspX_src_fck from mcbspX_fck
McBSP clock source control registers are located in the System Control
Module, not the PRCM. However, the clock enable/disable registers are
in the CM. Since the following patches require all registers in a
struct clk to be in only one of {CM, PRM, SCM}, we must split the
source clock selection into a separate struct clk from the clock
enable/disable control.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 16:30:34 +0000 (10:30 -0600)]
OMAP3 clock: recalculate DPLL subtree after bypass entry/exit
The DPLL's rate changes when it enters or leaves bypass, so the DPLL's
rate and the rates of all dependent clocks need to be recalculated
when this happens.
Also, fix test for bypass to test against the appropriate bypass clock,
rather than the parent clock (which is not the bypass clock for DPLL1
and DPLL2).
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 16:30:31 +0000 (10:30 -0600)]
OMAP3 clock: DPLLs should enter bypass if new rate is sys_ck
This patch causes a DPLL to enter bypass when it is instructed to set
its rate to that of its bypass clock. Previously this was only possible
after setting the DPLL rate, then disabling and re-enabling it.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 16:30:24 +0000 (10:30 -0600)]
OMAP3 clock: move DPLL bypass rate calculation into omap2_get_dpll_rate()
Removes the clksel-based DPLL rate handling from the OMAP3 clock tree.
In its place, omap2_get_dpll_rate() now has code to determine whether the DPLL
is bypassed. This obsoletes several clocks, which are removed by this patch.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 16:30:05 +0000 (10:30 -0600)]
OMAP3 clock: note the bypass source clock for DPLLs
Most DPLLs use sys_clk as their bypass rate source. But DPLL1 and DPLL2
use high-frequency bypass clocks dpll1_fclk and dpll2_fclk as their parents
during bypass. Add a new struct dpll_data field to track the DPLL's bypass
source clock.
Kevin Hilman <khilman@deeprootsystems.com> helped catch this - thanks Kevin.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Thu, 18 Sep 2008 16:29:58 +0000 (10:29 -0600)]
OMAP3 clock: convert dpll_data.idlest_bit to idlest_mask
Convert struct dpll_data.idlest_bit field to idlest_mask. Needed since
later patches are converting the DPLL bypass state test to use the IDLEST
registers, and OMAP2 uses two bits for DPLL IDLEST rather than one.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Atsushi Nemoto [Tue, 5 Aug 2008 14:45:14 +0000 (23:45 +0900)]
[MIPS] vmlinux.lds.S: handle .text.*
The -ffunction-sections puts each text in .text.function_name section.
Without this patch, most functions are placed outside _text..._etext
area and it breaks show_stacktrace(), etc.
Akinobu Mita [Sat, 13 Sep 2008 10:03:32 +0000 (19:03 +0900)]
mmc_test: initialize mmc_test_lock statically
The mutex mmc_test_lock is initialized at every time mmc_test device
is probed. Probing another mmc_test device may break the mutex, if
the probe function is called while the mutex is locked.
This patch fixes it by statically initializing mmc_test_lock.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
We used to store a binary register snapshot in the "regs" file, so we
set the file size to be the size of this snapshot. This is no longer
valid since we switched to using seq_file.
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
The debugfs hook atmci_regs_show allocates a temporary buffer for
storing a register snapshot, but it doesn't free it before returning.
Plug this leak.
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Andrew Paprocki [Sat, 20 Sep 2008 08:25:19 +0000 (10:25 +0200)]
hwmon: (it87) Fix fan tachometer reading in IT8712F rev 0x7 (I)
The IT8712F v0.9.1 datasheet applies to revisions >= 0x8 (J).
The driver was incorrectly attempting to enable 16-bit fan
readings on rev 0x7 (I) which led to incorrect RPM values.
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Tested-by: John Gumb <john.gumb@tandberg.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Commit 4611a77 ("[IA64] fix compile failure with non modular builds")
introduced struct fdesc into asm/elf.h, which duplicates KVM's definition.
Remove the latter to avoid the build error.
Signed-off-by: Jes Sorensen <jes@sgi.com> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
* git://oss.sgi.com:8090/xfs/linux-2.6:
[XFS] Don't do I/O beyond eof when unreserving space
[XFS] Fix use-after-free with buffers
[XFS] Prevent lockdep false positives when locking two inodes.
[XFS] Fix barrier status change detection.
[XFS] Prevent direct I/O from mapping extents beyond eof
[XFS] Fix regression introduced by remount fixup
[XFS] Move memory allocations for log tracing out of the critical path
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop()
RDMA/nes: Fix client side QP destroy
IB/mlx4: Fix up fast register page list format
mlx4_core: Set RAE and init mtt_sz field in FRMR MPT entries