]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agodriver:spi changes for 3430
Girish [Tue, 29 Jan 2008 12:50:27 +0000 (18:20 +0530)]
driver:spi changes for 3430

This adds driver OMAP SPI specific changes to support OMAP 3430

Signed-off-by: Girish S G <girishsg@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoarm:omap2:spi device changes
Girish [Tue, 29 Jan 2008 12:49:06 +0000 (18:19 +0530)]
arm:omap2:spi device changes

OMAP SPI device specific changes. Also, corrects SPI Clock name and id in clock34xx.

Signed-off-by: Girish S G <girishsg@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP34xx poweroff
Peter 'p2' De Schrijver [Mon, 28 Jan 2008 16:46:58 +0000 (18:46 +0200)]
OMAP34xx poweroff

Add support for software controlled power off of omap34xx and TWL4030
based devices.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoomap2430sdp_mmc_fix
Arun K S [Mon, 28 Jan 2008 15:04:57 +0000 (20:34 +0530)]
omap2430sdp_mmc_fix

The PRCM (0x490022E8)register was overwritten by the MMC code
which made the other peripherals like USB etc to stop working.
The following patch fixes the modification of PRCM register by
the MMC code. This patch is tested here on the OMAP2430 SDP board.

Signed-off-by: Arun K S <arunks@mistralsolutions.com>
Ack-by: Madhusudhan Chikkature Rajashekar" <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix OMAP_UDC compile
Kyungmin Park [Fri, 25 Jan 2008 02:03:54 +0000 (11:03 +0900)]
ARM: OMAP: Fix OMAP_UDC compile

Remove non-exist include file.
It's changed to <asm/arch/control.h>

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: MMC: Add MMC multislot support for TI OMAP H4 2420 boards.
David Cohen [Fri, 25 Jan 2008 18:59:36 +0000 (14:59 -0400)]
OMAP: MMC: Add MMC multislot support for TI OMAP H4 2420 boards.

This patch adds MMC multislot support for TI OMAP H4 2420 boards.

Signed-off-by: David Cohen <david.cohen@indt.org.br>
Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: MMC: Add menelaus_enable_slot on menelaus.c.
David Cohen [Fri, 25 Jan 2008 18:59:35 +0000 (14:59 -0400)]
OMAP: MMC: Add menelaus_enable_slot on menelaus.c.

Adding menelaus_enable_slot() function on menelaus driver.
This function enables/disables the mmc slots on menelaus.

Signed-off-by: David Cohen <david.cohen@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoWait for OMAP3430 clocks to enable before returning from clk_enable()
Paul Walmsley [Fri, 25 Jan 2008 18:45:29 +0000 (11:45 -0700)]
Wait for OMAP3430 clocks to enable before returning from clk_enable()

This patch fixes some boot-time instability problems with OMAP3430. The
GPTIMER modules can take 200 to 300 microseconds to become available after
their clocks are enabled, and without this patch, the clock framework
won't wait for them before returning from clk_enable().  If the system
attempts to access a GPTIMER register too quickly after the clk_enable(),
the system will halt with something similar to the following in the
dmtimer code:

Unhandled fault: external abort on non-linefetch (0x1028) at 0xd9032010

This is perhaps not the ideal way to solve this problem, but then again,
omap2_clk_wait_ready() is perhaps not the ideal way to wait for module
readiness.  This function is due to be replaced, but in the interim, this
patch fixes the issue.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: MENELAUS: MMC slot 2 misconfiguration on menelaus code
Carlos Eduardo Aguiar [Fri, 25 Jan 2008 18:36:48 +0000 (14:36 -0400)]
OMAP: MENELAUS: MMC slot 2 misconfiguration on menelaus code

This patch corrects MMC slot 2 misconfiguration on menelaus code.

Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
Acked-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Enable dynamic tick in Nokia N800 defconfig
Jarkko Nikula [Fri, 25 Jan 2008 08:32:17 +0000 (10:32 +0200)]
ARM: OMAP: Enable dynamic tick in Nokia N800 defconfig

This drops n.o. wake-ups from >128 Hz to only few per second.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years ago3430ES2 clock: Add several 3430ES2-only clocks
Paul Walmsley [Fri, 25 Jan 2008 08:20:08 +0000 (01:20 -0700)]
3430ES2 clock: Add several 3430ES2-only clocks

Add several OMAP3430ES2-only clocks:

- DPLL5, which provides clock to onboard USB and USIM modules;

- the Customer Programmable EFUSE;

- MMC3;

- SGX, the graphics module replacing GFX;

- the bandgap temperature sensor;

- USBHOST;

- USB TLL (transceiverless link);

- the Universal Subscriber Identity Module (USIM).

The interface clock for USB TLL is on CM_ICLKEN3, which formerly was
OMAP2430-only; so also convert OMAP2430_CM_ICLKEN3 to CM_ICLKEN3.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years ago3430ES2 clock: separate 3430ES1/3430ES2 rates in clock code
Paul Walmsley [Fri, 25 Jan 2008 08:20:07 +0000 (01:20 -0700)]
3430ES2 clock: separate 3430ES1/3430ES2 rates in clock code

On the OMAP3430 architecture, some DPLL3 rates are only available on
3430ES2.  We wish to avoid inadvertently selecting these on 3430ES1.
So we need some way to mark these rates as being 3430ES2-only.  To do
so, add new rate flag RATE_IN_3430ES2, to be used for rates that only
exist on 3430ES2.  (I'm not aware of any 3430ES1-only rates, so, no
corresponding 3430ES1 flag is currently defined.)  RATE_IN_343X is
still present and used for rates which exist on all 343X-level
devices.  The current code assumes that production rates will be
identical to 3430ES2 rates, but this is easy enough to change if
necessary.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years ago3430ES2 clock: separate 3430ES1/3430ES2 clocks in clock code
Paul Walmsley [Fri, 25 Jan 2008 08:20:06 +0000 (01:20 -0700)]
3430ES2 clock: separate 3430ES1/3430ES2 clocks in clock code

On the OMAP3430 architecture, some clocks are only available on
3430ES1 (e.g., the GFX subsystem, and the 16.8MHz input crystal rate
option) and some clocks are only available on 3430ES2 (e.g., DPLL5,
temp sensor, etc.)  Now that OMAP3430ES revision detection is in the
tree, we can flag these so we do not try to initialize clocks that
don't exist on other ES revisions.

To do so, add new clock flags CLOCK_IN_OMAP3430ES1 and
CLOCK_IN_OMAP3430ES2, to be used for clocks that only exist on one
architecture or the other.  CLOCK_IN_OMAP343X is still present and
used for clocks which exist on all 343X-level devices.  The current
code assumes that production clocks will be identical to 3430ES2
clocks, but this is easy enough to change if necessary.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP2: Add omap_ctrl_readb et al
Tony Lindgren [Thu, 24 Jan 2008 08:31:05 +0000 (00:31 -0800)]
ARM: OMAP2: Add omap_ctrl_readb et al

Add omap_ctrl_readb et al, and make code us it.
Some registers are 8-bit on 24xx and 16-bit on 34xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Clean-up mux code
Tony Lindgren [Fri, 25 Jan 2008 01:24:15 +0000 (17:24 -0800)]
ARM: OMAP: Clean-up mux code

Misc clean-up for the mux code and remove some unnecessary
ifdefs. Also change debug function so it can be used on
24xx and 34xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Split omap_cfg_reg() into omap processor specific functions
Tony Lindgren [Fri, 25 Jan 2008 00:42:48 +0000 (16:42 -0800)]
ARM: OMAP: Split omap_cfg_reg() into omap processor specific functions

Use omap processor specific function depending on system type.
Based on an earlier patch by Klaus Pedersen <klaus.k.pedersen@nokia.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Allow registering pin mux function
Tony Lindgren [Fri, 25 Jan 2008 00:42:48 +0000 (16:42 -0800)]
ARM: OMAP: Allow registering pin mux function

This patch changes pin multiplexing init to allow registering
custom function. The omap_cfg_reg() func will be split into
omap processor specific functions in later patch.

This is done to make adding omap3 pin multiplexing easier.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix compile for hsmmc boards
Tony Lindgren [Fri, 25 Jan 2008 00:37:46 +0000 (16:37 -0800)]
ARM: OMAP: Fix compile for hsmmc boards

It can't be static, it gets from board-*.c files as
noted by Paul Walmsley.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Thu, 24 Jan 2008 23:50:05 +0000 (15:50 -0800)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

16 years agoARM: OMAP: updated N800/N810 support for OneNAND
Adrian Hunter [Thu, 24 Jan 2008 15:00:12 +0000 (17:00 +0200)]
ARM: OMAP: updated N800/N810 support for OneNAND

Updates omap2 support for OneNAND on N800/N810.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix HSMMC compile
Tony Lindgren [Thu, 24 Jan 2008 23:38:36 +0000 (15:38 -0800)]
ARM: OMAP: Fix HSMMC compile

I accidentally left the Makefile changes out.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: use edge/level handlers from generic IRQ framework
Kevin Hilman [Wed, 16 Jan 2008 21:56:16 +0000 (13:56 -0800)]
ARM: OMAP: use edge/level handlers from generic IRQ framework

Currently, the GPIO interrupt handling is duplicating some of the work
done by the generic IRQ handlers (handle_edge_irq, handle_level_irq)
such as detecting nesting, handling re-triggers etc.  Remove this
duplication and use generic hooks based on IRQ type.

Using generic IRQ handlers ensures correct behavior when using
threaded interrupts introduced by the -rt patch.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Clear level-triggered GPIO interrupts in unmask hook
Kevin Hilman [Wed, 16 Jan 2008 21:56:15 +0000 (13:56 -0800)]
ARM: OMAP: Clear level-triggered GPIO interrupts in unmask hook

The clearing was moved to the unmask hook because it is known to run
after the interrupt handler has actually run.  Before this patch, if
interrupts are threaded, the clearing/unmasking of level triggered
interrupts would be done before the threaded handler actually ran.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix GPIO IRQ unmask
Kevin Hilman [Wed, 16 Jan 2008 21:56:14 +0000 (13:56 -0800)]
ARM: OMAP: Fix GPIO IRQ unmask

GPIO IRQ unmask doesn't actually do anything useful.  The problem is
hidden by a separate explicit mass unmask at the end of the chained
bank handler.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARCH: OMAP: Move board-nokia.h to hardware.h where it belongs
Felipe Balbi [Tue, 18 Dec 2007 18:05:31 +0000 (20:05 +0200)]
ARCH: OMAP: Move board-nokia.h to hardware.h where it belongs

board-*.h are always included from hardware.h

Signed-off-by: Felipe Balbi <felipe.lima@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoEnable HSMMC support in OMAP3430 default configuration
Madhusudhan Chikkature Rajashekar [Thu, 20 Dec 2007 10:05:35 +0000 (15:35 +0530)]
Enable HSMMC support in OMAP3430 default configuration

This patch enables high speed MMC support for OMAP3430.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoEnable HSMMC support in OMAP2430 default configuration
Madhusudhan Chikkature Rajashekar [Thu, 20 Dec 2007 10:05:25 +0000 (15:35 +0530)]
Enable HSMMC support in OMAP2430 default configuration

This patch enables high speed MMC support for OMAP2430.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoDevice file update to support MMC/SD on OMAP2430/3430
Madhusudhan Chikkature Rajashekar [Thu, 20 Dec 2007 10:04:43 +0000 (15:34 +0530)]
Device file update to support MMC/SD on OMAP2430/3430

This patch registers the MMC device for OMAP2430/3430.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC/SD board specific update for OMAP2430/3430
Madhusudhan Chikkature Rajashekar [Thu, 20 Dec 2007 10:04:19 +0000 (15:34 +0530)]
MMC/SD board specific update for OMAP2430/3430

This patch adds OMAP2430/3430 MMC board specific file.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC/SD Controller driver for OMAP2430
Madhusudhan Chikkature Rajashekar [Thu, 20 Dec 2007 10:03:49 +0000 (15:33 +0530)]
MMC/SD Controller driver for OMAP2430

This patch adds MMC controller driver for OMAP2430/3430.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoLinux 2.6.24 v2.6.24
Linus Torvalds [Thu, 24 Jan 2008 22:58:37 +0000 (14:58 -0800)]
Linux 2.6.24

16 years agoUpdate OMAP2430/3430 MMC clk structures to use ID field
Madhusudhan Chikkature Rajashekar [Tue, 18 Dec 2007 11:00:18 +0000 (16:30 +0530)]
Update OMAP2430/3430 MMC clk structures to use ID field

This patch updates the OMAP2430/3430 MMC clock structures to use the id field.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoBQ27000 battery moniter HDQ/1-wire slave driver
Madhusudhan Chikkature Rajashekar [Tue, 18 Dec 2007 09:34:19 +0000 (15:04 +0530)]
BQ27000 battery moniter HDQ/1-wire slave driver

This patch adds bq27000 battery moniter HDQ slave driver support.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoHDQ/1-wire driver for OMAP2430/3430
Madhusudhan Chikkature Rajashekar [Tue, 18 Dec 2007 09:34:07 +0000 (15:04 +0530)]
HDQ/1-wire driver for OMAP2430/3430

This patch adds OMAP2430/3430 HDQ/1-Wire driver support.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoomap2 device file update to support HDQ/1-wire for OMAP2430/3430
Madhusudhan Chikkature Rajashekar [Tue, 18 Dec 2007 09:33:49 +0000 (15:03 +0530)]
omap2 device file update to support HDQ/1-wire for OMAP2430/3430

This patch adds HDQ base address defines and registers hdq as platform device.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRTC: twl4030-rtc specific code
Girish [Tue, 18 Dec 2007 07:29:06 +0000 (12:59 +0530)]
RTC: twl4030-rtc specific code

This patch adds rtc-twl4030 driver specific code.

Signed-off-by: Girish S G <girishsg@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agospi: omap2_mcspi PIO RX fix
Kalle Valo [Thu, 24 Jan 2008 22:00:40 +0000 (14:00 -0800)]
spi: omap2_mcspi PIO RX fix

Before transmission of the last word in PIO RX_ONLY mode rx+tx mode
is enabled:

/* prevent last RX_ONLY read from triggering
 * more word i/o: switch to rx+tx
 */
if (c == 0 && tx == NULL)
mcspi_write_cs_reg(spi,
OMAP2_MCSPI_CHCONF0, l);

But because c is decremented after the test, c will never be zero and
rx+tx will not be enabled. This breaks RX_ONLY mode PIO transfers.

Fix it by decrementing c in the beginning of the various I/O loops.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoRevert "mac80211: warn when receiving frames with unaligned data"
Linus Torvalds [Thu, 24 Jan 2008 21:35:10 +0000 (13:35 -0800)]
Revert "mac80211: warn when receiving frames with unaligned data"

This reverts commit 81100eb80add328c4d2a377326f15aa0e7236398 for the
release, to avoid the unnecessary warning noise that is only really
relevant to wireless driver developers.

The warning will probably go right back in after I cut the release, but
at least we won't unnecessarily worry users.

Acked-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoOMAP3: FLASH: Move Flash specific device info in aseparate board file
Choraria, Rohit [Fri, 11 Jan 2008 06:07:03 +0000 (11:37 +0530)]
OMAP3: FLASH: Move Flash specific device info in aseparate board file

This patch does the following
moves flash specific code to a new file board-3430sdp-flash.c
adds support for 3430 ES2 SDP changes for ethernet
changes the check in gpmc to OMAP34XX as same address is valid.
Signed-off-by: Rohit Choraria <rohitkc@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Do not busy wait for end of command for ever
Jarkko Lavinen [Fri, 28 Dec 2007 20:38:23 +0000 (16:38 -0400)]
MMC: OMAP: Do not busy wait for end of command for ever

The limit was a fixed 100k limit in the busy loop, which is not
accurate. It would better to have time limit for the worst case
which occurs when sending 80 cycles at 400 kHz and takes about
200 microseconds, so limit the max time spend in the busy loop
for some 250 microseconds.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Start new commands from work queue instead of irq
Jarkko Lavinen [Fri, 28 Dec 2007 20:38:20 +0000 (16:38 -0400)]
MMC: OMAP: Start new commands from work queue instead of irq

Use work queues for starting new commands instead of starting them
directly from irq handler. The command scheduling needs to be delayed
a bit for some cards which should not be done from an interrupt.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Lazy clock shutdown
Jarkko Lavinen [Fri, 28 Dec 2007 20:38:17 +0000 (16:38 -0400)]
MMC: OMAP: Lazy clock shutdown

MMCA spec says the mmc clock should be kept running for at least
8 cycles after the last RW request. Ensure this with lazy clock
disable after a request, or with an explicit delay before
switching a slot.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Move failing command abortion to workqueue
Jarkko Lavinen [Fri, 28 Dec 2007 20:38:13 +0000 (16:38 -0400)]
MMC: OMAP: Move failing command abortion to workqueue

Abort failed command from workqueue rather than from an interrupt,
allowing longer delays in abortion.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Use tasklet instead of workqueue for cover switch notification
Jarkko Lavinen [Fri, 28 Dec 2007 20:38:09 +0000 (16:38 -0400)]
MMC: OMAP: Use tasklet instead of workqueue for cover switch notification

The cover waitqueue is occasionally scheduled twice from timer
and the interrupt and oops follows. It would have been possible
to fix this problem with spinlocks but using tasklet was a dropin
sloution with no need for locking.

This path also adds some cleanups.

Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 24 Jan 2008 16:12:38 +0000 (08:12 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Partially revert "Constify function pointer tables."

16 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Thu, 24 Jan 2008 16:09:50 +0000 (08:09 -0800)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  Revert "ACPI: Fan: Drop force_power_state acpi_device option"
  ACPI: EC: "DEBUG" needs to be defined earlier
  ACPI: EC: add leading zeros to debug messages
  ACPI: EC: fix dmesg spam regression
  ACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems.
  ACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list
  ACPI: make _OSI(Linux) console messages smarter
  ACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list
  ACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output
  ACPI: create acpi_dmi_dump()
  DMI: create dmi_get_slot()
  DMI: move dmi_available declaration to linux/dmi.h
  ACPI: processor: Fix null pointer dereference in throttling

16 years agoslab: partially revert list3 changes
Mel Gorman [Thu, 24 Jan 2008 13:49:54 +0000 (05:49 -0800)]
slab: partially revert list3 changes

Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6
to the kmem_list3 management. On a machine with a memoryless node, this
BUG_ON was triggering

static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)
{
struct list_head *entry;
struct slab *slabp;
struct kmem_list3 *l3;
void *obj;
int x;

l3 = cachep->nodelists[nodeid];
BUG_ON(!l3);

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Christoph Lameter <clameter@sgi.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix hugepages leak due to pagetable page sharing
Larry Woodman [Thu, 24 Jan 2008 13:49:25 +0000 (05:49 -0800)]
fix hugepages leak due to pagetable page sharing

The shared page table code for hugetlb memory on x86 and x86_64
is causing a leak.  When a user of hugepages exits using this code
the system leaks some of the hugepages.

-------------------------------------------------------
Part of /proc/meminfo just before database startup:
HugePages_Total:  5500
HugePages_Free:   5500
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

Just before shutdown:
HugePages_Total:  5500
HugePages_Free:   4475
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

After shutdown:
HugePages_Total:  5500
HugePages_Free:   4988
HugePages_Rsvd:
0 Hugepagesize:     2048 kB
----------------------------------------------------------

The problem occurs durring a fork, in copy_hugetlb_page_range().  It
locates the dst_pte using huge_pte_alloc().  Since huge_pte_alloc() calls
huge_pmd_share() it will share the pmd page if can, yet the main loop in
copy_hugetlb_page_range() does a get_page() on every hugepage.  This is a
violation of the shared hugepmd pagetable protocol and creates additional
referenced to the hugepages causing a leak when the unmap of the VMA
occurs.  We can skip the entire replication of the ptes when the hugepage
pagetables are shared.  The attached patch skips copying the ptes and the
get_page() calls if the hugetlbpage pagetable is shared.

[akpm@linux-foundation.org: coding-style cleanups]
Signed-off-by: Larry Woodman <lwoodman@redhat.com>
Signed-off-by: Adam Litke <agl@us.ibm.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Ken Chen <kenchen@google.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosysctl: kill binary sysctl KERN_PPC_L2CR
Eric W. Biederman [Thu, 24 Jan 2008 13:52:13 +0000 (05:52 -0800)]
sysctl: kill binary sysctl KERN_PPC_L2CR

: Stefan Roese <sr@denx.de> said:
> ppc: 4xx: sysctl table check failed: /kernel/l2cr .1.31 Missing strategy
>
> I'm seeing this error message when booting an recent arch/ppc kernel on
> 4xx platforms (tested on Ocotea and other 4xx platforms). Booting NFS
> rootfs still works fine, but this message kind of makes me "nervous".
> This is not seen on 4xx arch/powerpc platforms. Here the bootlog:

Because the data field was never filled and a binary sysctl handler was
never written this sysctl has never been usable through the sys_sysctl
interface.  So just remove the binary sysctl number.  Making the kernel
sanity checks happy.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Reported-by: Stefan Roese <sr@denx.de>
Cc: Josh Boyer <jwboyer@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agolockdep: fix kernel crash on module unload
Arjan van de Ven [Thu, 24 Jan 2008 06:00:45 +0000 (07:00 +0100)]
lockdep: fix kernel crash on module unload

Michael Wu noticed in his lkml post at

    http://marc.info/?l=linux-kernel&m=119396182726091&w=2

that certain wireless drivers ended up having their name in module
memory, which would then crash the kernel on module unload.

The patch he proposed was a bit clumsy in that it increased the size of
a lockdep entry significantly; the patch below tries another approach,
it checks, on module teardown, if the name of a class is in module space
and then zaps the class.  This is very similar to what we already do
with keys that are in module space.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[SPARC64]: Partially revert "Constify function pointer tables."
David S. Miller [Thu, 24 Jan 2008 05:32:04 +0000 (21:32 -0800)]
[SPARC64]: Partially revert "Constify function pointer tables."

This partially reverts 872e2be7c4056496c2871bd9b0f2fae6c374fe47
(Constify function pointer tables.)

The solaris/socksys.c transformation wasn't valid:

arch/sparc64/solaris/socksys.c:192: error: assignment of read-only variable ‘socksys_file_ops’
arch/sparc64/solaris/socksys.c:195: error: assignment of read-only variable ‘socksys_file_ops’
arch/sparc64/solaris/socksys.c:196: error: assignment of read-only variable ‘socksys_file_ops’

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPull dmi-2.6.24 into release branch
Len Brown [Thu, 24 Jan 2008 04:50:01 +0000 (23:50 -0500)]
Pull dmi-2.6.24 into release branch

16 years agoPull bugzilla-9798 into release branch
Len Brown [Thu, 24 Jan 2008 04:48:46 +0000 (23:48 -0500)]
Pull bugzilla-9798 into release branch

16 years agoPull bugzilla-8459 into release branch
Len Brown [Thu, 24 Jan 2008 04:48:33 +0000 (23:48 -0500)]
Pull bugzilla-8459 into release branch

16 years agoPull bugzilla-9747 into release branch
Len Brown [Thu, 24 Jan 2008 04:48:19 +0000 (23:48 -0500)]
Pull bugzilla-9747 into release branch

16 years agoRevert "ACPI: Fan: Drop force_power_state acpi_device option"
Len Brown [Thu, 24 Jan 2008 03:41:20 +0000 (22:41 -0500)]
Revert "ACPI: Fan: Drop force_power_state acpi_device option"

This reverts commit 93ad7c07ad487b036add8760dabcc35666a550ef.

http://bugzilla.kernel.org/show_bug.cgi?id=9798

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: EC: "DEBUG" needs to be defined earlier
Márton Németh [Thu, 24 Jan 2008 03:34:09 +0000 (22:34 -0500)]
ACPI: EC: "DEBUG" needs to be defined earlier

The "DEBUG" symbol needs to be defined before #including <linux/kernel.h> to
get the pr_debug() working.

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: EC: add leading zeros to debug messages
Márton Németh [Thu, 24 Jan 2008 03:33:06 +0000 (22:33 -0500)]
ACPI: EC: add leading zeros to debug messages

Add leading zeros to pr_debug() calls. For example if x=0x0a, the format
"0x%2x" will result the string "0x a", the format "0x%2.2x" will result "0x0a".

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: EC: fix dmesg spam regression
Alexey Starikovskiy [Thu, 24 Jan 2008 03:28:34 +0000 (22:28 -0500)]
ACPI: EC: fix dmesg spam regression

Return OBF_1 optimization workaround

http://bugzilla.kernel.org/show_bug.cgi?id=8459

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 24 Jan 2008 02:46:25 +0000 (18:46 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Constify function pointer tables.
  [SPARC64]: Fix section error in sparcspkr
  [SPARC64]: Fix of section mismatch warnings.

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 24 Jan 2008 02:41:51 +0000 (18:41 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  sis190: scheduling while atomic error
  sis190: mdio operation failure is not correctly detected
  sis190: remove duplicate INIT_WORK
  sis190: add cmos ram access code for the SiS19x/968 chipset pair
  [INET]: Fix truesize setting in ip_append_data
  [NETNS]: Re-export init_net via EXPORT_SYMBOL.
  iwlwifi: fix possible read attempt on ucode that is not available
  [IPV4]: Add missing skb->truesize increment in ip_append_page().
  [TULIP] DMFE: Fix SROM parsing regression.
  [BLUETOOTH]: Move children of connection device to NULL before connection down.

16 years agoACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems.
Len Brown [Thu, 24 Jan 2008 02:19:27 +0000 (21:19 -0500)]
ACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems.

This DMI blacklist reduces the console messages
on systems which have a BIOS that invokes OSI(Linux).

As the DMI blacklist already knows about these systems,
the request for DMI info itself is disabled.

Further, if OSI(Linux) has already been determined
to have no beneift, we disable the console message
requesting acpi_osi=Linux test results.

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list
Len Brown [Thu, 24 Jan 2008 01:56:18 +0000 (20:56 -0500)]
ACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list

acpi_osi=Linux helps sound on these systems.

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: make _OSI(Linux) console messages smarter
Len Brown [Thu, 24 Jan 2008 01:50:56 +0000 (20:50 -0500)]
ACPI: make _OSI(Linux) console messages smarter

If BIOS invokes _OSI(Linux), the kernel response
depends on what the ACPI DMI list knows about the system,
and that is reflectd in dmesg:

1) System unknown to DMI:

ACPI: BIOS _OSI(Linux) query ignored
ACPI: DMI System Vendor: LENOVO
ACPI: DMI Product Name: 7661W1P
ACPI: DMI Product Version: ThinkPad T61
ACPI: DMI Board Name: 7661W1P
ACPI: DMI BIOS Vendor: LENOVO
ACPI: DMI BIOS Date: 10/18/2007
ACPI: Please send DMI info above to linux-acpi@vger.kernel.org
ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

2) System known to DMI, but effect of OSI(Linux) unknown:

ACPI: DMI detected: Lenovo ThinkPad T61
...
ACPI: BIOS _OSI(Linux) query ignored via DMI
ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

3) System known to DMI, which disables _OSI(Linux):

ACPI: DMI detected: Lenovo ThinkPad T61
...
ACPI: BIOS _OSI(Linux) query ignored via DMI

4) System known to DMI, which enable _OSI(Linux):

ACPI: DMI detected: Lenovo ThinkPad T61
ACPI: Added _OSI(Linux)
...
ACPI: BIOS _OSI(Linux) query honored via DMI

cmdline overrides take precidence over the built-in
default and the DMI prescribed default.
cmdline "acpi_osi=Linux" results in:

ACPI: BIOS _OSI(Linux) query honored via cmdline

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list
Len Brown [Thu, 24 Jan 2008 01:06:41 +0000 (20:06 -0500)]
ACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list

Linux does not want BIOS writers to invoke _OSI(Linux) -
for in the field it causes more Windows incompatibility problems
than it solves.

So when it is seen in the BIOS for an Intel Customer Reference Board,
Linux should ignore its effect by default, and should complain loudly.
Otherwise, the reference BIOS will go unfixed, and the bad BIOS
will spread to the field.

Users of this board can get the old behavior with "acpi_osi=Linux"

As this was the only entry, delete acpi_osl_dmi_table[].

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output
Len Brown [Thu, 24 Jan 2008 01:04:28 +0000 (20:04 -0500)]
ACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoACPI: create acpi_dmi_dump()
Len Brown [Thu, 24 Jan 2008 01:01:22 +0000 (20:01 -0500)]
ACPI: create acpi_dmi_dump()

A utility routine to print common entries used
for ACPI-related DMI blacklist entries.

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoDMI: create dmi_get_slot()
Len Brown [Wed, 23 Jan 2008 21:36:45 +0000 (16:36 -0500)]
DMI: create dmi_get_slot()

This simply allows other sub-systems (such as ACPI)
to access and print out slots in static dmi_ident[].

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoDMI: move dmi_available declaration to linux/dmi.h
Len Brown [Wed, 16 Jan 2008 22:20:37 +0000 (17:20 -0500)]
DMI: move dmi_available declaration to linux/dmi.h

Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Thu, 24 Jan 2008 02:05:28 +0000 (18:05 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] initio: fix module hangs on loading

16 years agodrm/i915: add support for E7221 chipset
Carlos Martín [Thu, 24 Jan 2008 00:34:10 +0000 (10:34 +1000)]
drm/i915: add support for E7221 chipset

E7221 chipset is a server version of the i915.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoagp/intel: add support for E7221 chipset
Carlos Martín [Thu, 24 Jan 2008 00:34:09 +0000 (10:34 +1000)]
agp/intel: add support for E7221 chipset

The E7221 chipset is a 915 rebadged for the Intel server line.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoxen: disable vcpu_info placement for now
Jeremy Fitzhardinge [Thu, 24 Jan 2008 00:07:17 +0000 (16:07 -0800)]
xen: disable vcpu_info placement for now

There have been several reports of Xen guest domains locking up when
using vcpu_info structure placement.  Disable it for now.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[SCSI] initio: fix module hangs on loading
Stuart Swales [Wed, 23 Jan 2008 20:00:48 +0000 (20:00 +0000)]
[SCSI] initio: fix module hangs on loading

I've verified (on my Initio 9100 with a DAT drive) that the
2.6.24-rc8-git6 initio module still hangs on loading.

These fixes (other than the printk) are needed to get the module to load
ok (and work correctly) with my adapter & tape drive.

a) printk cosmetic fix

b) cblk->sglen needs setting for later DMA I/O routines to use

c) host->bios_addr needs setting for debug output correctness

d) semaph & semaph_lock initialisation had got lost since 2.6.22

e) since 2.6.22 the bios data address was truncated to 16 bits (needs 20
when shifted left)

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
16 years agoUpdate ctime and mtime for memory-mapped files
Anton Salikhmetov [Tue, 22 Jan 2008 23:21:18 +0000 (02:21 +0300)]
Update ctime and mtime for memory-mapped files

Update ctime and mtime for memory-mapped files at a write access on
a present, read-only PTE, as well as at a write on a non-present PTE.

Signed-off-by: Anton Salikhmetov <salikhmetov@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosis190: scheduling while atomic error
Francois Romieu [Sat, 17 Nov 2007 20:29:47 +0000 (21:29 +0100)]
sis190: scheduling while atomic error

sis190_tx_timeout
-> sis190_hw_start
   -> sis190_soft_reset
      -> msleep *splat*

PCI transactions are correctly flushed here.
The msleep() is probably useless.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: K.M. Liu <kmliu@sis.com.tw>
16 years agosis190: mdio operation failure is not correctly detected
Francois Romieu [Sat, 17 Nov 2007 15:56:43 +0000 (16:56 +0100)]
sis190: mdio operation failure is not correctly detected

i ranges from 0 to 100 in the 'for' loop a few lines above.

Reported by davem.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: K.M. Liu <kmliu@sis.com.tw>
16 years agosis190: remove duplicate INIT_WORK
Francois Romieu [Sat, 17 Nov 2007 14:55:10 +0000 (15:55 +0100)]
sis190: remove duplicate INIT_WORK

It is already done in sis190_init_one.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: K.M. Liu <kmliu@sis.com.tw>
16 years agosis190: add cmos ram access code for the SiS19x/968 chipset pair
Francois Romieu [Tue, 4 Dec 2007 21:58:41 +0000 (22:58 +0100)]
sis190: add cmos ram access code for the SiS19x/968 chipset pair

More work is needed to handle correctly the PHY of the new devices
when connected to a 10Mb link but this change already helps some
users as is.

Fix for:
http://bugzilla.kernel.org/show_bug.cgi?id=9467

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: K.M. Liu <kmliu@sis.com.tw>
Cc: J. Gleacher <jgleacher@yahoo.com>
Cc: Alexandre Penasso Teixeira <alexandre@keepsoftware.com>
Cc: Arliton Rocha <arliton@gmail.com>
Cc: Juan Jose Pablos <juanjo@apertus.es>
Cc: Wipat Srutiprom <wipat.s@psu.ac.th>
16 years ago[INET]: Fix truesize setting in ip_append_data
Herbert Xu [Wed, 23 Jan 2008 06:39:26 +0000 (22:39 -0800)]
[INET]: Fix truesize setting in ip_append_data

As it is ip_append_data only counts page fragments to the skb that
allocated it.  As such it means that the first skb gets hit with a
4K charge even though it might have only used a fraction of it while
all subsequent skb's that use the same page gets away with no charge
at all.

This bug was exposed by the UDP accounting patch.

[ The wmem_alloc bumping needs to be moved with the truesize,
  noticed by Takahiro Yasui.  -DaveM ]

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NETNS]: Re-export init_net via EXPORT_SYMBOL.
Denis V. Lunev [Wed, 23 Jan 2008 06:05:33 +0000 (22:05 -0800)]
[NETNS]: Re-export init_net via EXPORT_SYMBOL.

init_net is used added as a parameter to a lot of old API calls, f.e.
ip_dev_find. These calls were exported as EXPORT_SYMBOL. So, export init_net
as EXPORT_SYMBOL to keep networking API consistent.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwlwifi: fix possible read attempt on ucode that is not available
Reinette Chatre [Mon, 21 Jan 2008 18:08:31 +0000 (10:08 -0800)]
iwlwifi: fix possible read attempt on ucode that is not available

This fixes a NULL pointer dereference that can occur when the
ucode is not loaded at the time __iwl_up is called.

The problem was reported at http://kerneloops.org/raw.php?rawid=2765&msgid=

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[IPV4]: Add missing skb->truesize increment in ip_append_page().
David S. Miller [Wed, 23 Jan 2008 07:44:31 +0000 (23:44 -0800)]
[IPV4]: Add missing skb->truesize increment in ip_append_page().

And as noted by Takahiro Yasui, we thus need to bump the
sk->sk_wmem_alloc at this spot as well.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TULIP] DMFE: Fix SROM parsing regression.
David S. Miller [Tue, 22 Jan 2008 07:20:58 +0000 (23:20 -0800)]
[TULIP] DMFE: Fix SROM parsing regression.

Changeset 16b110c3fd760620b4a787db6ed512fe531ab1b5 (dmfe warning fix)
bothed up the offsets read from the SROM so that it doesn't read the
same datums it used to.

The change made transformations like turning:

"srom + 34"

into

"(__le32 *)srom + 34/4"

which doesn't work because 4 does not divide evenly
into 34 so we're using a different pointer offset
than in the original code.

I've changed theses cases in dmfe_parse_srom() to
consistently use "(type *)(srom + offset)" preserving
the offsets from the original code.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BLUETOOTH]: Move children of connection device to NULL before connection down.
Dave Young [Tue, 22 Jan 2008 06:35:21 +0000 (22:35 -0800)]
[BLUETOOTH]: Move children of connection device to NULL before connection down.

The rfcomm tty device will possibly retain even when conn is down, and
sysfs doesn't support zombie device moving, so this patch move the tty
device before conn device is destroyed.

For the bug refered please see :
http://lkml.org/lkml/2007/12/28/87

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC]: Constify function pointer tables.
Jan Engelhardt [Wed, 23 Jan 2008 02:29:20 +0000 (18:29 -0800)]
[SPARC]: Constify function pointer tables.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agox86: GEODE fix a race condition in the MFGPT timer tick
Jordan Crouse [Tue, 22 Jan 2008 22:30:16 +0000 (23:30 +0100)]
x86: GEODE fix a race condition in the MFGPT timer tick

When we set the MFGPT timer tick, there is a chance that we'll
immediately assert an event.  If for some reason the IRQ routing
for this clock has been setup for some other purpose, then we
could end up firing an interrupt into the SMM handler or worse.

This rearranges the timer tick init function to initalize the handler
before we set up the MFGPT clock to make sure that even if we get
an event, it will go to the handler.

Furthermore, in the handler we need to make sure that we clear the
event, even if the timer isn't running.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Arnd Hannemann <hannemann@i4.informatik.rwth-aachen.de>
16 years agoMake OMAP dspgateway driver play nice with others
George G. Davis [Mon, 21 Jan 2008 20:46:24 +0000 (15:46 -0500)]
Make OMAP dspgateway driver play nice with others

The OMAP dspgateway driver causes build failures for non-OMAP machines.
So make build of same depend on ARCH_OMAP=y.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Tue, 22 Jan 2008 19:56:40 +0000 (11:56 -0800)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

Conflicts:

arch/arm/Kconfig

16 years agoFix file references in documentation and Kconfig
Johann Felix Soden [Sun, 20 Jan 2008 13:41:18 +0000 (14:41 +0100)]
Fix file references in documentation and Kconfig

Fix typo in arch/powerpc/boot/flatdevtree_env.h.
There is no Documentation/networking/ixgbe.txt.

README.cycladesZ is now in Documentation/.
wavelan.p.h is now in drivers/net/wireless/.
HFS.txt is now Documentation/filesystems/hfs.txt.
OSS-files are now in sound/oss/.

Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6
Linus Torvalds [Tue, 22 Jan 2008 17:25:55 +0000 (09:25 -0800)]
Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6

* 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6:
  hwmon: (it87) request only Environment Controller ports

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Tue, 22 Jan 2008 17:19:06 +0000 (09:19 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  Revert "x86: fix NMI watchdog & 'stopped time' problem"

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
Linus Torvalds [Tue, 22 Jan 2008 17:18:45 +0000 (09:18 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
  sched: group scheduler, set uid share fix

16 years agorcu: fix section mismatch
Randy Dunlap [Tue, 22 Jan 2008 11:31:39 +0000 (03:31 -0800)]
rcu: fix section mismatch

rcu_online_cpu() should be __cpuinit instead of __devinit.

WARNING: vmlinux.o(.text+0x4b6d5): Section mismatch: reference to .init.text: (between 'rcu_cpu_notify' and 'wakeme_after_rcu')

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoW1: w1_therm.c is flagging 0C etc as invalid
David Fries [Tue, 22 Jan 2008 11:31:39 +0000 (03:31 -0800)]
W1: w1_therm.c is flagging 0C etc as invalid

The extra rom[0] check is flagging valid temperatures as invalid when
there is already a CRC data transmission check.

w1_therm_read_bin()
if (rom[8] == crc && rom[0])
verdict = 1;

Requiring rom[0] to be non-zero will flag as invalid temperature
conversions when the low byte is zero, specifically the temperatures 0C,
16C, 32C, 48C, -16C, -32C, and -48C.

The CRC check is produced on the device for the previous 8 bytes and is
required to ensure the data integrity in transmission.  I don't see why the
extra check for rom[0] being non-zero is in there.  Evgeniy Polyakov didn't
know either.  Just for a check I unplugged the sensor, executed a
temperature conversion, and read the results.  The read was all ff's, which
also failed the CRC, so it doesn't need to protect against a disconnected
sensor.

I have more extensive patches in the work, but these two trivial ones will
do for today.  I would like to hear from people who use the ds2490 USB to
one wire dongle.  1 if you would be willing to test the patches as I
currently only have the one sensor on a short parisite powered wire, 2 if
there is any cheap sources for the ds2490.

Signed-off-by: David Fries <david@fries.net>
Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoW1: w1_therm.c ds18b20 decode freezing temperatures correctly
David Fries [Tue, 22 Jan 2008 11:31:37 +0000 (03:31 -0800)]
W1: w1_therm.c ds18b20 decode freezing temperatures correctly

Correct the decoding of negative C temperatures.  The code did a binary OR
of two bytes to make a 16 bit value, but assignd it to an integer.  This
caused the value to not be sign extended and to loose that it was a
negative number in the assignment.

Before the patch (in my freezer),
w1_slave
ed fe 4b 46 7f ff 03 10 e4 : crc=e4 YES
ed fe 4b 46 7f ff 03 10 e4 t=4078
With the patch,
e3 fe 4b 46 7f ff 0d 10 81 : crc=81 YES
e3 fe 4b 46 7f ff 0d 10 81 t=-17

Signed-off-by: David Fries <david@fries.net>
Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agohwmon: (it87) request only Environment Controller ports
Bjorn Helgaas [Tue, 22 Jan 2008 12:21:03 +0000 (07:21 -0500)]
hwmon: (it87) request only Environment Controller ports

The IT8705F and related parts are Super I/O controllers that contain
many separate devices.

Some BIOSes describe IT8705F I/O port usage under a motherboard device
(PNP0C02) with overlapping regions, e.g., 0x290-0x29f and 0x290-0x294.

The it87 driver supports only the Environment Controller, which requires
only two ISA ports, but it used to request an eight-port range.  If that
range exceeds a range reported by the BIOS, as 0x290-0x297 would, the
request fails, and the it87 driver cannot claim the device.

This patch makes the it87 driver request only the two ports used for the
Environment Controller device.

Systems where this problem has been reported:
    Gigabyte GA-K8N Ultra 9
    Gigabyte M56S-S3
    Gigabyte GA-965G-DS3

Kernel bug reports:
    http://bugzilla.kernel.org/show_bug.cgi?id=9514
    http://lkml.org/lkml/2007/12/4/466

Related change:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a7839e960675b549f06209d18283d5cee2ce9261

    The patch above increases the number of PNP port resources we support.
    Prior to this patch, we ignored some port resources, which masked the
    it87 problem.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
16 years agosched: group scheduler, set uid share fix
Ingo Molnar [Tue, 22 Jan 2008 10:24:58 +0000 (11:24 +0100)]
sched: group scheduler, set uid share fix

setting cpu share to 1 causes hangs, as reported in:

    http://bugzilla.kernel.org/show_bug.cgi?id=9779

as the default share is 1024, the values of 0 and 1 can indeed
cause problems. Limit it to 2 or higher values.

These values can only be set by the root user - but still it
makes sense to protect against nonsensical values.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoRevert "x86: fix NMI watchdog & 'stopped time' problem"
Thomas Gleixner [Tue, 22 Jan 2008 09:23:01 +0000 (10:23 +0100)]
Revert "x86: fix NMI watchdog & 'stopped time' problem"

This reverts commit d4d25deca49ec2527a634557bf5a6cf449f85deb.

It tried to fix long standing bugzilla entries, but the solution was
reported to break other systems. The reporter of

http://bugzilla.kernel.org/show_bug.cgi?id=9791

tracked it down to this commit and confirmed that reverting the patch
restores the correct behaviour. It's too late in the release cycle to
find a better solution than reverting the commit to avoid regressions.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
16 years ago[SPARC64]: Fix section error in sparcspkr
Sam Ravnborg [Tue, 22 Jan 2008 01:25:37 +0000 (17:25 -0800)]
[SPARC64]: Fix section error in sparcspkr

With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n
the following error happened during link of vmlinux:

local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o
local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o

(The error message above is from kbuild.git but it happens in mainline too)

The error happens becase there is a reference from .text/.data to a
function marked __devexit. With CONFIG_HOTPLUG=n all code marked
__devexit are discarded and the linker complains.

It was tracked down to sparcspkr.c which were missing __devexit_p()
around the function pointers.

Unfortunately modpost did not catch this since modpost do not warn
about references from .data to .devexit from variables named *_driver.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>