]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agoOMAP3 PRCM: add DPLL1-5 powerdomains, clockdomains
Paul Walmsley [Wed, 10 Sep 2008 16:47:55 +0000 (10:47 -0600)]
OMAP3 PRCM: add DPLL1-5 powerdomains, clockdomains

Each DPLL exists in its own powerdomain (cf 34xx TRM figure 4-18) and
clockdomain; so, create powerdomain and clockdomain structures for them.
These are used in a following patch for DPLL-related clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clockdomain: remove wkup_clkdm
Paul Walmsley [Wed, 10 Sep 2008 16:47:52 +0000 (10:47 -0600)]
OMAP2/3 clockdomain: remove wkup_clkdm

Remove wkup_clkdm, as it has been completely replaced by prm_clkdm and
cm_clkdm.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clock: mark the rest of the CM clocks as belonging to cm_clkdm
Paul Walmsley [Wed, 10 Sep 2008 16:47:49 +0000 (10:47 -0600)]
OMAP2/3 clock: mark the rest of the CM clocks as belonging to cm_clkdm

Mark CM clocks with no clockdomain as belonging to the CM clockdomain.

References for the OMAP3xxx clocks:

OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
  Figure 4-13:
     - sys_ck
  Figure 4-35:
     - sys_clkout2
  Figure 4-37:
     - corex2_fck, core_ck, dss_tv_fck
  Figure 4-38:
     - omap_96m_alwon_fck
  Figure 4-39:
     - corex2_fck, cm_96m_fck, omap_96m_fck, omap_54m_fck, omap_12m_fck,
       dpll1_fck, dpll2_fck, rm_ick, dss_tv_fck
  Section 4.7.3.2:
     - omap_96m_alwon_fck, omap_96m_fck, omap_48m_fck

OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
  Figure 3-19:
     - cpefuse_fck
  Table 3-57:
     - dss_tv_fck

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clock: convert wkup_clkdm CM clocks to cm_clkdm
Paul Walmsley [Wed, 10 Sep 2008 16:47:46 +0000 (10:47 -0600)]
OMAP2/3 clock: convert wkup_clkdm CM clocks to cm_clkdm

Convert existing wkup_clkdm clocks that should be in the CM clockdomain
to cm_clkdm.  (A later patch will add CM clockdomain associations for
unassociated clocks.)

References:

OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
   Figure 5-9
      - func_54m_ck, core_ck, func_96m_ck, func_48m_ck, func_12m_ck

OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
   Figure 4-35
      - sys_clkout2

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clock: annotate PRM clocks that are missing clockdomains
Paul Walmsley [Wed, 10 Sep 2008 16:47:43 +0000 (10:47 -0600)]
OMAP2/3 clock: annotate PRM clocks that are missing clockdomains

Some PRM clocks are missing clockdomain assignments; add them.

Also, in OMAP2xxx clock tree, standardize the name for wdt1_osc_ck.

References for the OMAP2xxx clocks:

OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
  Table 18-41:
      - wdt1_osc_ck

References for the OMAP3xxx clocks:

OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
  Figure 4-13:
      - sys_clkout1,
  Table 4-37:
      - sys_ck
  Table 4-38:
      - omap_32k_fck, osc_sys_ck,
  Figure 4-56:
      - sr1_fck, sr2_fck
  Figure 4-57:
      - omap_96m_alwon_fck
  Section 4.7.7.13:
      - sr1_fck, sr2_fck

OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
  Table 2-5:
      - usim_fck
  Figure 3-29:
      - secure_32k_fck, gpt12_fck, wdt1_fck

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clock: convert wkup_clkdm PRM clocks to prm_clkdm
Paul Walmsley [Wed, 10 Sep 2008 16:47:39 +0000 (10:47 -0600)]
OMAP2/3 clock: convert wkup_clkdm PRM clocks to prm_clkdm

Convert existing wkup_clkdm clocks that should be in the PRM clockdomain
to prm_clkdm.  (A later patch will add PRM clockdomain associations for
unassociated clocks.)

References for the OMAP2xxx clocks:

OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
  Figure 4-11:
      - alt_ck
  Figure 5-7:
      - func_32k_ck, osc_ck, sys_ck
  Figure 5-8 (assumes that "Level 0" = PRM)
      - dpll_ck, apll96_ck, apll54_ck, func_54m_ck
  Section 5.4.1.1:
      - sys_clkout_src, sys_clkout
  Section 29.3.1.1:
      - gpios_fck, mpu_wdt_fck, mpu_wdt_ick

References for the OMAP3xxx clocks:

OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
  Figure 4-54:
      - gpt1_fck, wkup_32k_fck, wdt2_fck, wkup_l4_fck, omap_32ksync_ick,
        gpt1_ick
  Section 25.3.1.1.3:
      - gpio1_fck, gpio1_ick

OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
  Table 2-5:
      - usim_ick
  Figure 3-29:
      - wdt1_ick, gpt12_ick

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clockdomains: add CM and PRM clkdms
Paul Walmsley [Wed, 10 Sep 2008 16:47:36 +0000 (10:47 -0600)]
OMAP2/3 clockdomains: add CM and PRM clkdms

Add clockdomains for the CM and PRM.  These will ultimately replace the
"wkup_clkdm", which appears to not actually exist on the hardware.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: Remove the possibility to stack the module
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:42 +0000 (19:20 +0300)]
lowmem: Remove the possibility to stack the module

The mod_reg_security() function that is used to stack modules has been removed:
"LSMs wishing to stack capability as a secondary module should do so
explicitly". Thus, let's remove the possibility to stack in the init function.
The functionality could probably be reintroduced later if somebody has time to
implement it.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: Fix split of ptrace
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:41 +0000 (19:20 +0300)]
lowmem: Fix split of ptrace

A previous commit split the ptrace member into two. Thus we need to update the
lowmem module accordingly.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: add compatibility code
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:40 +0000 (19:20 +0300)]
lowmem: add compatibility code

This is a patch that will reintroduce the old sysctl lowmem variables as read
only values in /proc/sys/vm. Some parts of the userland (at least libosso) are
reading these and it would probably greatly ease the transition to the new
scheme with memory limits in pages. We can revert this ugly patch when userland
has moved to the new scheme.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: Security modules can no longer be removed.
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:39 +0000 (19:20 +0300)]
lowmem: Security modules can no longer be removed.

The unregister_security() and mod_unreg_security() functions were removed
because the upstream developers believe that it should not be possible to remove
security modules, "It is used only by out-of-tree modules, which are often
binary-only, illegal, abusive of the API and dangerous, e.g.  silently
re-vectoring SELinux."

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: update memory management functions for the new kernel
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:38 +0000 (19:20 +0300)]
lowmem: update memory management functions for the new kernel

These functions now require an additional argument, so let's add it.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: sysfs has changed
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:37 +0000 (19:20 +0300)]
lowmem: sysfs has changed

Currently, the lowmem module doesn't even compile because the kernel API has
changed. This patch will unbreak the sysfs related code.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: remove an unecessary local variable
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:36 +0000 (19:20 +0300)]
lowmem: remove an unecessary local variable

This "changed" variable is kind of deprecated. We used to have a spinlock
[which was later deemed unecessary] around the first if clause in the
*_watermark_state() functions; the variable was needed in order to move the
operation in the second if clause out of the lock section.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: get rid of the percentages
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:35 +0000 (19:20 +0300)]
lowmem: get rid of the percentages

The purpose of this patch is to get rid of the lame percentage calculations in
lowmem.c. Currently, the limits (measured in pages) are calculated from
percentages every time somebody from userspace requests some memory. With this
patch, the limits are in pages and furthermore, they are specified as minimum
amount of "free pages", instead of as maximum amount of "used pages". "Free"
means free pages or such pages that can easily be freed by the VM system.

This patch changes the names of the lowmem sysctl limits in /proc/sys/vm:
lowmem_deny_watermark        => lowmem_deny_watermark_pages
lowmem_notify_low      => lowmem_notify_low_pages
lowmem_notify_high       => lowmem_notify_high_pages

The following read only value disappears:
lowmem_used_pages

The following read only value is introduced:
lowmem_free_pages

The old value can be calculated from userspace with the following pseudocode:

if lowmem_free_pages < lowmem_allowed_pages
   lowmem_used_pages = lowmem_allowed_pages - lowmem_free_pages
else
   lowmem_used_pages = 0;

Note that the value of lowmem_free_pages is only accurate when the system is
rather low on memory (otherwise it's a bit too pessimistic), this was true also
for the lowmem_used_pages metric.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agolowmem: remove unecessary usage of proc_dointvec_minmax()
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:34 +0000 (19:20 +0300)]
lowmem: remove unecessary usage of proc_dointvec_minmax()

As far as I can understand, using proc_dointvec_minmax() instead of
proc_dointvec only makes sense if you supply the min and/or max values in the
extra1 and extra2 fields of the struct.

Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoSecurity: Kernel OOM-killer and allocation denial use different rules
Henrik Saari [Thu, 11 Sep 2008 16:20:33 +0000 (19:20 +0300)]
Security: Kernel OOM-killer and allocation denial use different rules

Security: Kernel OOM-killer and allocation denial use different rules

Original patch created by Leonid Moiseichuk <leonid.moiseichuk@nokia.com>

Fixes the issue with the oom killer and lowmem module being inconsistent;
processes that are important enough to be protected from the oom killer should
not be denied memory either.

Signed-off-by: Henrik Saari <henrik.saari@nokia.com>
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotwl4030: improve rtc device setup
David Brownell [Thu, 11 Sep 2008 09:48:39 +0000 (02:48 -0700)]
twl4030: improve rtc device setup

Make the twl4030 RTC initialization follow the driver model better.
The platform device is created (if needed) as part of twl4030 setup
instead of as a board-specific thing, and fits properly into the
driver model tree.

The only minor glitch here is on boards using platform_data to pass
MSECURE initialization hooks to the RTC driver.  The right solution
probably just removes that platform_data, and might even make Linux
follow the principle of "least privilege" (at the hardware level!)
instead of always holding this signal high.

Pending better handling of MSECURE, this patch just does what the
RTC init does, but earlier:  MSECURE is always high, so the RTC time
and calendar registers can be updated (and presumably a bunch of
non-RTC privileged operations will be allowed too).

Yet to be done:  set up the IRQ resource; make the rtc driver use
that IRQ resource; and properly issue wakeup alarms.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomach-omap2: fix more arch_initcall() breakage
David Brownell [Thu, 11 Sep 2008 06:01:24 +0000 (23:01 -0700)]
mach-omap2: fix more arch_initcall() breakage

Remove more bogus arch_initcall() logic in mach-omap2/board-xyx.c files.
They broke a multi-OMAP build I did, at *RUN TIME* not build time, since
it tried to do the i2c init for every board linked in the kernel.

Remember, init_machine() entries run at arch_initcall() time; that's
where any board-specific init logic should normally go.  Any initcalls
in the mach-*/*c files should normally be guarded by tests to make sure
they only run on the relevant hardware (board, cpu).  Better yet, get
rid of the initcalls; init_machine() can *explicitly* call the right
version of that code, and pass in board-specific config data; and there
are hooks that can handle cpu-specific stuff too.

A quick glance suggests most of the remaining initcall logic in the
mach-omap2 directory is similarly broken... this patch gets rid of
one frequently-cloned idiom, it should help.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoFix build for beagleboard
Peter 'p2' De Schrijver [Fri, 12 Sep 2008 10:32:36 +0000 (13:32 +0300)]
Fix build for beagleboard

Also add missing u8 data as noted by Felipe Balbi.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Clean-up MMC device init
Tony Lindgren [Fri, 12 Sep 2008 00:23:52 +0000 (17:23 -0700)]
ARM: OMAP: Clean-up MMC device init

Clean-up MMC device init:

- Initialize devices in mach-omap1/devices.c and mach-omap2/devices.c
  instead of plat-omap/devices.c

- Remove old struct omap_mmc_config, use struct omap_mmc_platform_data instead

Note that this removes the second omap-hsmmc controller init for overo.
This needs to be fixed properly by changing hsmmc_init() to accept
board specific struct omap_mmc_platform_data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoSync MMC device code with arm devel branch
Tony Lindgren [Fri, 12 Sep 2008 00:05:32 +0000 (17:05 -0700)]
Sync MMC device code with arm devel branch

This is to sync with Russell's commit 7736c09c6cf9521f2413d78856a66f4a37046e84.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM:OMAP3: Smartreflex disable/enable fix
Kalle Jokiniemi [Fri, 29 Aug 2008 10:05:44 +0000 (13:05 +0300)]
ARM:OMAP3: Smartreflex disable/enable fix

Smartreflex modules have to be disabled when device enters WFI.
Previously only suspend idle path had these calls. By moving the
disable/enable calls to omap_sram_idle, all idle paths will be covered.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoPatch for Touch Screen noise on OMAP3EVM.
A NAVEEN [Mon, 8 Sep 2008 06:11:57 +0000 (11:41 +0530)]
Patch for Touch Screen noise on OMAP3EVM.

When git kernel tree is used on a OMAP3EVM board file for touch screen
testing, it shows lot of jitter. With this patch the jitter can be
reduced.

Signed-off-by: Naveen Atmakuri <anaveen@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP3 camera driver: OMAP34XXCAM: Camera Base Address.
Sergio Aguirre [Fri, 29 Aug 2008 23:34:17 +0000 (18:34 -0500)]
OMAP3 camera driver: OMAP34XXCAM: Camera Base Address.

ARM: OMAP: OMAP34XXCAM: Camera Base Address.

Adding OMAP 3 Camera registers base address, and Platform Device.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Sameer Venkatraman <sameerv@ti.com>
Signed-off-by: Mohit Jalori <mjalori@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoLoad triton2 scripts.
ext Peter 'p2' De Schrijver [Mon, 25 Aug 2008 10:31:17 +0000 (13:31 +0300)]
Load triton2 scripts.

This patch loads the triton2 (twl4030) with scripts that will cut off VDD1
and VDD2 voltages when SYS_OFF_MODE signal is set.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: Add sysfs file cover_switch
Jarkko Lavinen [Mon, 18 Aug 2008 15:13:20 +0000 (18:13 +0300)]
MMC: Add sysfs file cover_switch

Add sysfs cover_switch with the status of cover.

Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Add slot_name entry to sysfs
Francisco Alecrim [Mon, 18 Aug 2008 15:13:19 +0000 (18:13 +0300)]
MMC: OMAP: Add slot_name entry to sysfs

Add slot_name entry to sysfs.

Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Re-organizing some goto at hsmmc probe
Jarkko Lavinen [Mon, 18 Aug 2008 15:13:18 +0000 (18:13 +0300)]
MMC: OMAP: Re-organizing some goto at hsmmc probe

Re-organizing some goto at hsmmc probe.

Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMMC: OMAP: Readable output for IRQ status register
Francisco Alecrim [Mon, 18 Aug 2008 15:13:17 +0000 (18:13 +0300)]
MMC: OMAP: Readable output for IRQ status register

Readable output for IRQ status register

Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: HSMMC: Check wether board specific suspend / resume exists
Högander Jouni [Mon, 18 Aug 2008 15:13:15 +0000 (18:13 +0300)]
OMAP: HSMMC: Check wether board specific suspend / resume exists

Do not try to call board specific suspend / resume functions if there
is no such.

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoEnable 4-bit in HSMMC1 and HSMMC2 platform data
Madhusudhan Chikkature [Wed, 13 Aug 2008 06:13:30 +0000 (11:43 +0530)]
Enable 4-bit in HSMMC1 and HSMMC2 platform data

ARM: OMAP3: Enable 4-bit support for HSMMC.

This patch provides the fix to enable 4-bit support for HSMMC.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: purushotam<purushotam@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotweak musb_hdrc SOC init code
David Brownell [Tue, 2 Sep 2008 19:05:00 +0000 (12:05 -0700)]
tweak musb_hdrc SOC init code

Minor cleanups to omap 2430/34xx/35x musb_hdrc init:

 - num_eps is 16; here, each one is bidirectional
 - use DMA_32BIT_MASK to prevent confusion/errors
 - initialize root port power to reflect 100 mA limit

This still hard-wires some board-specific data, since there
are no hooks through which different boards can provide the
right data to the init code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP3 clock: remove extra init from csi2_96m_fck
Paul Walmsley [Tue, 9 Sep 2008 16:58:02 +0000 (10:58 -0600)]
OMAP3 clock: remove extra init from csi2_96m_fck

csi2_96m_fck no longer should attempt to init its clockdomain pointer; the
clock framework now does this by default.  Applies on top of the "Update
powerdomains and clockdomains" series sent earlier.

Verified on 3430SDP ES2.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: Fix Makefile to use -march=armv7-a
Koen Kooi [Wed, 10 Sep 2008 23:33:39 +0000 (16:33 -0700)]
ARM: Fix Makefile to use -march=armv7-a

This seems to be the right naming and allows using vanilla gcc.

See also:

http://sourceware.org/ml/binutils/2006-12/msg00149.html

Signed-off-by: Koen Kooi <k.kooi@student.utwente.nl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRemove L2 info from id.c
Tony Lindgren [Wed, 10 Sep 2008 23:25:10 +0000 (16:25 -0700)]
Remove L2 info from id.c

Now we have Catalin's cache patch applied, which should eventually
hit mainline at some point.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoShow the cache type of ARMv7 CPUs
Catalin Marinas [Wed, 10 Sep 2008 23:23:55 +0000 (16:23 -0700)]
Show the cache type of ARMv7 CPUs

Show the cache type of ARMv7 CPUs

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
16 years agoARM: OMAP: Fix occasional i2c driver hang
Jason Marini [Thu, 28 Aug 2008 19:30:58 +0000 (15:30 -0400)]
ARM: OMAP: Fix occasional i2c driver hang

The i2c driver contains a while loop that has no timeout.  If i2c is in a
funky state and OMAP_I2C_CON_STT remains asserted, the kernel hangs.  Insert
the standard i2c timeout into the loop.

Signed-off-by: Jason P Marini <jason.marini@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoomapfb: remove wrong scale call for gfx_plane
arun c [Tue, 9 Sep 2008 07:43:31 +0000 (03:43 -0400)]
omapfb: remove wrong scale call for gfx_plane

The gfx_plane doesn't support scaling.

Signed-off-by: Arun C <arunedarath@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP3: Fix omapfb's problem on OMAP3430sdp
stanley.miao [Mon, 8 Sep 2008 03:29:57 +0000 (11:29 +0800)]
ARM: OMAP3: Fix omapfb's problem on OMAP3430sdp

Prune off a empty line.

Fix omapfb's problem on OMAP3430sdp.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoThis patch fixes the typo which breaks the build on OMAP1
Arun KS [Tue, 9 Sep 2008 07:40:59 +0000 (13:10 +0530)]
This patch fixes the typo which breaks the build on OMAP1

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Wed, 10 Sep 2008 17:27:10 +0000 (10:27 -0700)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

Conflicts:

arch/arm/mach-omap1/mcbsp.c
arch/arm/mach-omap2/mcbsp.c
arch/arm/plat-omap/include/mach/mcbsp.h
arch/arm/plat-omap/mcbsp.c

16 years agoLinux 2.6.27-rc6 v2.6.27-rc6
Linus Torvalds [Tue, 9 Sep 2008 23:27:49 +0000 (16:27 -0700)]
Linux 2.6.27-rc6

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 9 Sep 2008 23:25:58 +0000 (16:25 -0700)]
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:
  ipv6: Fix OOPS in ip6_dst_lookup_tail().
  ipsec: Restore larval states and socket policies in dump
  [Bluetooth] Reject L2CAP connections on an insecure ACL link
  [Bluetooth] Enforce correct authentication requirements
  [Bluetooth] Fix reference counting during ACL config stage

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 9 Sep 2008 23:25:02 +0000 (16:25 -0700)]
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: Disable timer interrupts in fixup_irqs().

16 years agoipv6: Fix OOPS in ip6_dst_lookup_tail().
Neil Horman [Tue, 9 Sep 2008 20:51:35 +0000 (13:51 -0700)]
ipv6: Fix OOPS in ip6_dst_lookup_tail().

This fixes kernel bugzilla 11469: "TUN with 1024 neighbours:
ip6_dst_lookup_tail NULL crash"

dst->neighbour is not necessarily hooked up at this point
in the processing path, so blindly dereferencing it is
the wrong thing to do.  This NULL check exists in other
similar paths and this case was just an oversight.

Also fix the completely wrong and confusing indentation
here while we're at it.

Based upon a patch by Evgeniy Polyakov.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 9 Sep 2008 20:47:01 +0000 (13:47 -0700)]
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  clockevents: remove WARN_ON which was used to gather information

16 years agoSync gpio changes from mainline
Tony Lindgren [Tue, 9 Sep 2008 20:42:19 +0000 (13:42 -0700)]
Sync gpio changes from mainline

This is to be in sync with Russell's commit 7c7095aa423b9b14038abc08fba84b9d7a33d643.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoSync changes for hardware.h from mainline
Tony Lindgren [Tue, 9 Sep 2008 20:38:38 +0000 (13:38 -0700)]
Sync changes for hardware.h from mainline

This is to be in sync with Russell's commit 0062f1048bb6c80d66d55034b49b3d733acc4e3a.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoSync io.h changes from mainline
Tony Lindgren [Tue, 9 Sep 2008 20:31:27 +0000 (13:31 -0700)]
Sync io.h changes from mainline

This is to be in sync with Russell's patch 690b5a13b27ba3bb2c9d61c1f4018c5074b591e6.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoclockevents: remove WARN_ON which was used to gather information
Thomas Gleixner [Tue, 9 Sep 2008 19:38:57 +0000 (21:38 +0200)]
clockevents: remove WARN_ON which was used to gather information

The issue of the endless reprogramming loop due to a too small
min_delta_ns was fixed with the previous updates of the clock events
code, but we had no information about the spread of this problem. I
added a WARN_ON to get automated information via kerneloops.org and to
get some direct reports, which allowed me to analyse the affected
machines.

The WARN_ON has served its purpose and would be annoying for a release
kernel. Remove it and just keep the information about the increase of
the min_delta_ns value.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 9 Sep 2008 19:23:41 +0000 (12:23 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix memmap=exactmap boot argument
  x86: disable static NOPLs on 32 bits
  xen: fix 2.6.27-rc5 xen balloon driver warnings

16 years agox86: fix memmap=exactmap boot argument
Prarit Bhargava [Tue, 9 Sep 2008 13:56:08 +0000 (09:56 -0400)]
x86: fix memmap=exactmap boot argument

When using kdump modifying the e820 map is yielding strange results.

For example starting with

 BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000100 - 0000000000093400 (usable)
 BIOS-e820: 0000000000093400 - 00000000000a0000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fee0000 (usable)
 BIOS-e820: 000000003fee0000 - 000000003fef3000 (ACPI data)
 BIOS-e820: 000000003fef3000 - 000000003ff80000 (ACPI NVS)
 BIOS-e820: 000000003ff80000 - 0000000040000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)

and booting with args

memmap=exactmap memmap=640K@0K memmap=5228K@16384K memmap=125188K@22252K memmap=76K#1047424K memmap=564K#1047500K

resulted in:

 user-defined physical RAM map:
 user: 0000000000000000 - 0000000000093400 (usable)
 user: 0000000000093400 - 00000000000a0000 (reserved)
 user: 0000000000100000 - 000000003fee0000 (usable)
 user: 000000003fee0000 - 000000003fef3000 (ACPI data)
 user: 000000003fef3000 - 000000003ff80000 (ACPI NVS)
 user: 000000003ff80000 - 0000000040000000 (reserved)
 user: 00000000e0000000 - 00000000f0000000 (reserved)
 user: 00000000fec00000 - 00000000fec10000 (reserved)
 user: 00000000fee00000 - 00000000fee01000 (reserved)
 user: 00000000ff000000 - 0000000100000000 (reserved)

But should have resulted in:

 user-defined physical RAM map:
 user: 0000000000000000 - 00000000000a0000 (usable)
 user: 0000000001000000 - 000000000151b000 (usable)
 user: 00000000015bb000 - 0000000008ffc000 (usable)
 user: 000000003fee0000 - 000000003ff80000 (ACPI data)

This is happening because of an improper usage of strcmp() in the
e820 parsing code.  The strcmp() always returns !0 and never resets the
value for e820.nr_map and returns an incorrect user-defined map.

This patch fixes the problem.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Tue, 9 Sep 2008 18:53:05 +0000 (11:53 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] cio: allow offline processing for disconnected devices
  [S390] cio: handle ssch() return codes correctly.
  [S390] cio: Correct cleanup on error.
  [S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode

16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 9 Sep 2008 18:52:34 +0000 (11:52 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] IP22: Fix detection of second HPC3 on Challenge S

16 years agoMerge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6
Linus Torvalds [Tue, 9 Sep 2008 18:52:12 +0000 (11:52 -0700)]
Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6

* 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6:
  UBIFS: make minimum fanout 3
  UBIFS: fix division by zero
  UBIFS: amend f_fsid
  UBIFS: fill f_fsid
  UBIFS: improve statfs reporting even more
  UBIFS: introduce LEB overhead
  UBIFS: add forgotten gc_idx_lebs component
  UBIFS: fix assertion
  UBIFS: improve statfs reporting
  UBIFS: remove incorrect index space check
  UBIFS: push empty flash hack down
  UBIFS: do not update min_idx_lebs in stafs
  UBIFS: allow for racing between GC and TNC
  UBIFS: always read hashed-key nodes under TNC mutex
  UBIFS: fix zero-length truncations

16 years agolib: Correct printk %pF to work on all architectures
James Bottomley [Thu, 4 Sep 2008 01:43:36 +0000 (20:43 -0500)]
lib: Correct printk %pF to work on all architectures

It was introduced by "vsprintf: add support for '%pS' and '%pF' pointer
formats" in commit 0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2.  However,
the current way its coded doesn't work on parisc64.  For two reasons: 1)
parisc isn't in the #ifdef and 2) parisc has a different format for
function descriptors

Make dereference_function_descriptor() more accommodating by allowing
architecture overrides.  I put the three overrides (for parisc64, ppc64
and ia64) in arch/kernel/module.c because that's where the kernel
internal linker which knows how to deal with function descriptors sits.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Tony Luck <tony.luck@intel.com>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMAINTAINERS: add Atheros maintainer for atlx
Chris Snook [Tue, 9 Sep 2008 07:26:57 +0000 (03:26 -0400)]
MAINTAINERS: add Atheros maintainer for atlx

Jie Yang at Atheros is getting more directly involved with upstream work
on the atl* drivers.  This patch changes the ATL1 entry to ATLX (atl2
support posted to netdev today) and adds him as a maintainer.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoupdate Documentation/filesystems/Locking for 2.6.27 changes
Christoph Hellwig [Tue, 9 Sep 2008 18:02:01 +0000 (20:02 +0200)]
update Documentation/filesystems/Locking for 2.6.27 changes

In the 2.6.27 circle ->fasync lost the BKL, and the last remaining
->open variant that takes the BKL is also gone.  ->get_sb and ->kill_sb
didn't have BKL forever, so updated the entries while we're at that.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoI2C: Initiallize func_cb to NULL
Tony Lindgren [Tue, 9 Sep 2008 17:40:43 +0000 (10:40 -0700)]
I2C: Initiallize func_cb to NULL

As pointed out by Adrian Hunter.

Signed-off-by: Tony Lindren <tony@atomide.com>
16 years agortc-twl4030: Fix periodic interrupt
Jagadeesh Bhaskar Pakaravoor [Fri, 5 Sep 2008 09:24:46 +0000 (14:54 +0530)]
rtc-twl4030: Fix periodic interrupt

RTC generates an extra spurious interrupt for every actual periodic
interrupt. This is due to a problem with the RTC_IT bit of
REG_PWR_ISR1. It requires two writes or two reads (when COR is
enabled) to clear it. Since COR is enabled and one read of the same
register is done already (inside twl4030-pwrirq.c do_twl4030_pwrirq()
function), we can do away with a need to add one more write into the
same register inside the interrupt handler, by replacing the write
currently present with just one extra read.

Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agortc-twl4030 cleanup
David Brownell [Thu, 4 Sep 2008 17:24:17 +0000 (10:24 -0700)]
rtc-twl4030 cleanup

Some rtc-twl4030 cleanup, which among other things adds up to
using about 10% less object code:

 - Remove:
    * broken/unfixable "periodic" IRQ support (2^N Hz)
    * duplicated constants in the header file
    * pointless stuff:
       + support for settable epoch
       + memset() calls
       + indirection when reading time and alarm
       + indirection when enabling irqs
    * needless ifdeffery for reading irq enable register
 - IRQ updates:
    * group irq enable/disable utilities together
    * cache irq enable register
    * now disable any old alarm irq before setting alarm
 - Comment updates
    * fix up my copyright attribution (old omap1 code)
    * more correctly describe the rtc mask/set ops
    * have a single place describe the register vs tm_* differences
 - Other:
    * don't support "current" dates in the 20th century
    * switch over to bcd2bin()/bin2bcd()
    * prefer dev_err() and better messages to printk(KERN_ERR...)
    * correct some KERN_WARNING messages (should have been pr_err)
    * whitespace bugs
    * misc

The bugs fixed here are removing "periodic" IRQ support, and
some of the messaging.  Update IRQs still misbehave (two per
second, not one!), and the alarm isn't wake-enabled.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRevert some merge-errors
Tony Lindgren [Tue, 9 Sep 2008 15:24:26 +0000 (08:24 -0700)]
Revert some merge-errors

As pointed out by Russell King.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoipsec: Restore larval states and socket policies in dump
Herbert Xu [Tue, 9 Sep 2008 12:23:37 +0000 (05:23 -0700)]
ipsec: Restore larval states and socket policies in dump

The commit commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3 ("[XFRM]:
Speed up xfrm_policy and xfrm_state walking") inadvertently removed
larval states and socket policies from netlink dumps.  This patch
restores them.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[S390] cio: allow offline processing for disconnected devices
Peter Oberparleiter [Tue, 9 Sep 2008 10:38:59 +0000 (12:38 +0200)]
[S390] cio: allow offline processing for disconnected devices

When disconnected ccw devices are removed, the device has to be set
offline, otherwise there will be side effects including a reference
count imbalance. This patch modifies ccw_device_offline to work for
devices in disconnecte/not operational state. ccw_device_offline is
called by cio for devices which are online during device removal.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] cio: handle ssch() return codes correctly.
Cornelia Huck [Tue, 9 Sep 2008 10:38:58 +0000 (12:38 +0200)]
[S390] cio: handle ssch() return codes correctly.

ssch() has two classes of return codes:
- condition codes (0-3) which need to be translated to Linux
  error codes
- Linux error codes (-EIO on exceptions) which should be passed
  to the caller (instead of erronously being handled like
  condition code 3)

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] cio: Correct cleanup on error.
Cornelia Huck [Tue, 9 Sep 2008 10:38:57 +0000 (12:38 +0200)]
[S390] cio: Correct cleanup on error.

Fix cleanup on error in chp_new() and init_channel_subsystem()
(must not call kfree() on structures that had been registered).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years ago[S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode
Jarod Wilson [Tue, 9 Sep 2008 10:38:56 +0000 (12:38 +0200)]
[S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode

When running a 31-bit ptrace, on either an s390 or s390x kernel,
reads and writes into a padding area in struct user_regs_struct32
will result in a kernel panic.

This is also known as CVE-2008-1514.

Test case available here:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/user-area-padding.c?cvsroot=systemtap

Steps to reproduce:
1) wget the above
2) gcc -o user-area-padding-31bit user-area-padding.c -Wall -ggdb2 -D_GNU_SOURCE -m31
3) ./user-area-padding-31bit
<panic>

Test status
-----------
Without patch, both s390 and s390x kernels panic. With patch, the test case,
as well as the gdb testsuite, pass without incident, padding area reads
returning zero, writes ignored.

Nb: original version returned -EINVAL on write attempts, which broke the
gdb test and made the test case slightly unhappy, Jan Kratochvil suggested
the change to return 0 on write attempts.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluet...
David S. Miller [Tue, 9 Sep 2008 09:11:11 +0000 (02:11 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6

16 years ago[Bluetooth] Reject L2CAP connections on an insecure ACL link
Marcel Holtmann [Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)]
[Bluetooth] Reject L2CAP connections on an insecure ACL link

The Security Mode 4 of the Bluetooth 2.1 specification has strict
authentication and encryption requirements. It is the initiators job
to create a secure ACL link. However in case of malicious devices, the
acceptor has to make sure that the ACL is encrypted before allowing
any kind of L2CAP connection. The only exception here is the PSM 1 for
the service discovery protocol, because that is allowed to run on an
insecure ACL link.

Previously it was enough to reject a L2CAP connection during the
connection setup phase, but with Bluetooth 2.1 it is forbidden to
do any L2CAP protocol exchange on an insecure link (except SDP).

The new hci_conn_check_link_mode() function can be used to check the
integrity of an ACL link. This functions also takes care of the cases
where Security Mode 4 is disabled or one of the devices is based on
an older specification.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Enforce correct authentication requirements
Marcel Holtmann [Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)]
[Bluetooth] Enforce correct authentication requirements

With the introduction of Security Mode 4 and Simple Pairing from the
Bluetooth 2.1 specification it became mandatory that the initiator
requires authentication and encryption before any L2CAP channel can
be established. The only exception here is PSM 1 for the service
discovery protocol (SDP). It is meant to be used without any encryption
since it contains only public information. This is how Bluetooth 2.0
and before handle connections on PSM 1.

For Bluetooth 2.1 devices the pairing procedure differentiates between
no bonding, general bonding and dedicated bonding. The L2CAP layer
wrongly uses always general bonding when creating new connections, but it
should not do this for SDP connections. In this case the authentication
requirement should be no bonding and the just-works model should be used,
but in case of non-SDP connection it is required to use general bonding.

If the new connection requires man-in-the-middle (MITM) protection, it
also first wrongly creates an unauthenticated link key and then later on
requests an upgrade to an authenticated link key to provide full MITM
protection. With Simple Pairing the link key generation is an expensive
operation (compared to Bluetooth 2.0 and before) and doing this twice
during a connection setup causes a noticeable delay when establishing
a new connection. This should be avoided to not regress from the expected
Bluetooth 2.0 connection times. The authentication requirements are known
up-front and so enforce them.

To fulfill these requirements the hci_connect() function has been extended
with an authentication requirement parameter that will be stored inside
the connection information and can be retrieved by userspace at any
time. This allows the correct IO capabilities exchange and results in
the expected behavior.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years ago[Bluetooth] Fix reference counting during ACL config stage
Marcel Holtmann [Tue, 9 Sep 2008 05:19:19 +0000 (07:19 +0200)]
[Bluetooth] Fix reference counting during ACL config stage

The ACL config stage keeps holding a reference count on incoming
connections when requesting the extended features. This results in
keeping an ACL link up without any users. The problem here is that
the Bluetooth specification doesn't define an ownership of the ACL
link and thus it can happen that the implementation on the initiator
side doesn't care about disconnecting unused links. In this case the
acceptor needs to take care of this.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
16 years agoomap2_nand updates
David Brownell [Sun, 31 Aug 2008 21:19:05 +0000 (14:19 -0700)]
omap2_nand updates

Minor updates to the OMAP{2,3} NAND driver:

 - Rename those buffer PIO routines as *_buf16()
 - Get rid of pointless LE16 data conversions; OMAP is always LE
 - Speed up buffer reads by switching to __raw_readsl()

Right now this driver only handles 16-bit NAND, but eventually it
should handle 8-bit too.  Moreover it may be worth using DMA...

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP2: defconfig for the Gumstix Overo board (rev 3)
Steve Sakoman [Sun, 7 Sep 2008 06:41:44 +0000 (23:41 -0700)]
ARM: OMAP2: defconfig for the Gumstix Overo board (rev 3)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoALSA: ASoC: Add support for Gumstix Overo (rev 3)
Steve Sakoman [Sun, 7 Sep 2008 06:41:43 +0000 (23:41 -0700)]
ALSA: ASoC: Add support for Gumstix Overo (rev 3)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoALSA: ASoC: Add support for TWL4030 audio codec (rev 4)
Steve Sakoman [Mon, 8 Sep 2008 21:41:39 +0000 (14:41 -0700)]
ALSA: ASoC: Add support for TWL4030 audio codec (rev 4)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP2: Add video driver the Gumstix Overo board (rev 3)
Steve Sakoman [Sun, 7 Sep 2008 06:41:41 +0000 (23:41 -0700)]
ARM: OMAP2: Add video driver the Gumstix Overo board (rev 3)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP2: Add support for the Gumstix Overo board (rev 3)
Steve Sakoman [Sun, 7 Sep 2008 06:41:40 +0000 (23:41 -0700)]
ARM: OMAP2: Add support for the Gumstix Overo board (rev 3)

This patch adds support for basic features: nand, uarts, i2c,
mmc, rtc, and usb

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver
Jarkko Nikula [Mon, 8 Sep 2008 10:29:44 +0000 (13:29 +0300)]
ASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Add support for OMAP2430 in McBSP
Jarkko Nikula [Mon, 8 Sep 2008 10:29:43 +0000 (13:29 +0300)]
ARM: OMAP: Add support for OMAP2430 in McBSP

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Update GPMC code for ioremap
Tony Lindgren [Tue, 9 Sep 2008 00:35:42 +0000 (17:35 -0700)]
ARM: OMAP: Update GPMC code for ioremap

Update GPMC code for ioremap

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agosparc64: Disable timer interrupts in fixup_irqs().
David S. Miller [Tue, 9 Sep 2008 00:21:07 +0000 (17:21 -0700)]
sparc64: Disable timer interrupts in fixup_irqs().

When a CPU is offlined, we leave the timer interrupts disabled
because fixup_irqs() does not explicitly take care of that case.

Fix this by invoking tick_ops->disable_irq().

Based upon analysis done by Paul E. McKenney.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoomap: fix a load of "warning: symbol 'xxx' was not declared. Should it be static?"
Russell King [Fri, 5 Sep 2008 14:13:24 +0000 (15:13 +0100)]
omap: fix a load of "warning: symbol 'xxx' was not declared. Should it be static?"

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoomap: fix lots of 'Using plain integer as NULL pointer'
Russell King [Mon, 8 Sep 2008 23:26:35 +0000 (16:26 -0700)]
omap: fix lots of 'Using plain integer as NULL pointer'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Conflicts:

arch/arm/mach-omap2/clock.c

16 years ago[ARM] omap: fix inappropriate casting in gpio.c
Russell King [Fri, 5 Sep 2008 14:49:14 +0000 (15:49 +0100)]
[ARM] omap: fix inappropriate casting in gpio.c

gpio.c wilfully casts physical addresses to void __iomem * and then
fixes them up at runtime using:

bank->base = IO_ADDRESS(bank->base);

where accesses prior to this fixup are via omap_read/omap_write, and
after are by __raw_read/__raw_write.  This doesn't lend itself to
static checking, nor to easy understanding of the code.

And so, OMAP_MPUIO_BASE gets to be the right type - integer like since
it's a physical address, not a MMIO pointer.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] omap: DSP registers don't need to be casted
Russell King [Fri, 5 Sep 2008 14:46:19 +0000 (15:46 +0100)]
[ARM] omap: DSP registers don't need to be casted

We're now assigning/comparing void __iomem pointers with
void __iomem pointer variables.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen...
Linus Torvalds [Mon, 8 Sep 2008 22:55:18 +0000 (15:55 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: pm_standby low-power ram bug fix
  avr32: Fix lockup after Java stack underflow in user mode

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Mon, 8 Sep 2008 22:54:32 +0000 (15:54 -0700)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  powerpc: Fix rare boot build breakage
  powerpc/spufs: Fix possible scheduling of a context to multiple SPEs
  powerpc/spufs: Fix race for a free SPU
  powerpc/spufs: Fix multiple get_spu_context()

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 8 Sep 2008 22:51:12 +0000 (15:51 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  Revert "crypto: camellia - Use kernel-provided bitops, unaligned access helpers"

16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 8 Sep 2008 22:50:19 +0000 (15:50 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5241/1: provide ioremap_wc()
  [ARM] omap: fix virtual vs physical address space confusions
  [ARM] remove unused #include <version.h>
  [ARM] omap: fix build error in ohci-omap.c
  [ARM] omap: fix gpio.c build error

16 years agoMerge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 8 Sep 2008 22:47:21 +0000 (15:47 -0700)]
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: arch_reinit_sched_domains() must destroy domains to force rebuild
  sched, cpuset: rework sched domains and CPU hotplug handling (v4)

16 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Mon, 8 Sep 2008 22:46:56 +0000 (15:46 -0700)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs
  pata_sil680: remove duplicate pcim_enable_device
  libata-sff: kill spurious WARN_ON() in ata_hsm_move()
  sata_nv: disable hardreset for generic
  ahci: disable PMP for marvell ahcis
  sata_mv: add RocketRaid 1720 PCI ID to driver
  ahci, pata_marvell: play nicely together

16 years agoFix format of MAINTAINERS
Uwe Kleine-König [Mon, 8 Sep 2008 22:11:39 +0000 (00:11 +0200)]
Fix format of MAINTAINERS

... one entry lacked a colon which broke one of my scripts.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 8 Sep 2008 22:43:44 +0000 (15:43 -0700)]
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:
  bridge: don't allow setting hello time to zero
  netns : fix kernel panic in timewait socket destruction
  pkt_sched: Fix qdisc state in net_tx_action()
  netfilter: nf_conntrack_irc: make sure string is terminated before calling simple_strtoul
  netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet
  netfilter: nf_conntrack_gre: more locking around keymap list
  netfilter: nf_conntrack_sip: de-static helper pointers

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 8 Sep 2008 22:43:02 +0000 (15:43 -0700)]
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: Prevent sparc64 from invoking irq handlers on offline CPUs
  sparc64: Fix IPI call locking.

16 years agousb: fix null deferences in low level usb serial
Jason Wessel [Mon, 8 Sep 2008 13:53:37 +0000 (14:53 +0100)]
usb: fix null deferences in low level usb serial

The hw interface drivers for the usb serial devices deference the tty
structure to set up the parameters for the initial console.  The tty
structure should be passed as a parameter to the set_termios() call.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoNFS: Restore missing hunk in NFS mount option parser
Chuck Lever [Mon, 8 Sep 2008 15:58:13 +0000 (11:58 -0400)]
NFS: Restore missing hunk in NFS mount option parser

Automounter maps can contain mount options valid for other NFS
implementations but not for Linux.  The Linux automounter uses the
mount command's "-s" command line option ("s" for "sloppy") so that
mount requests containing such options are not rejected.

Commit f45663ce5fb30f76a3414ab3ac69f4dd320e760a attempted to address a
known regression with text-based NFS mount option parsing.  Unrecognized
mount options would cause mount requests to fail, even if the "-s"
option was used on the mount command line.

Unfortunately, this commit was not complete as submitted.  It adds a
new mount option, "sloppy".  But it is missing a hunk, so it now allows
NFS mounts with unrecognized mount options, even if the "sloppy" option
is not present.  This could be a problem if a required critical mount
option such as "sync" is misspelled, for example, and is considered a
regression from 2.6.26.

This patch restores the missing hunk.  Now, the default behavior of
text-based NFS mount options is as before: any unrecognized mount option
will cause the mount to fail.

Please include this in 2.6.27-rc.

Thanks to Neil Brown for reporting this.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agobridge: don't allow setting hello time to zero
Stephen Hemminger [Mon, 8 Sep 2008 20:44:40 +0000 (13:44 -0700)]
bridge: don't allow setting hello time to zero

Dushan Tcholich reports that on his system ksoftirqd can consume
between %6 to %10 of cpu time, and cause ~200 context switches per
second.

He then correlated this with a report by bdupree@techfinesse.com:

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

and the culprit cause seems to be starting the bridge interface.
In particular, when starting the bridge interface, his scripts
are specifying a hello timer interval of "0".

The bridge hello time can't be safely set to values less than 1
second, otherwise it is possible to end up with a runaway timer.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetns : fix kernel panic in timewait socket destruction
Daniel Lezcano [Mon, 8 Sep 2008 20:17:27 +0000 (13:17 -0700)]
netns : fix kernel panic in timewait socket destruction

How to reproduce ?
 - create a network namespace
 - use tcp protocol and get timewait socket
 - exit the network namespace
 - after a moment (when the timewait socket is destroyed), the kernel
   panics.

# BUG: unable to handle kernel NULL pointer dereference at
0000000000000007
IP: [<ffffffff821e394d>] inet_twdr_do_twkill_work+0x6e/0xb8
PGD 119985067 PUD 11c5c0067 PMD 0
Oops: 0000 [1] SMP
CPU 1
Modules linked in: ipv6 button battery ac loop dm_mod tg3 libphy ext3 jbd
edd fan thermal processor thermal_sys sg sata_svw libata dock serverworks
sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]
Pid: 0, comm: swapper Not tainted 2.6.27-rc2 #3
RIP: 0010:[<ffffffff821e394d>] [<ffffffff821e394d>]
inet_twdr_do_twkill_work+0x6e/0xb8
RSP: 0018:ffff88011ff7fed0 EFLAGS: 00010246
RAX: ffffffffffffffff RBX: ffffffff82339420 RCX: ffff88011ff7ff30
RDX: 0000000000000001 RSI: ffff88011a4d03c0 RDI: ffff88011ac2fc00
RBP: ffffffff823392e0 R08: 0000000000000000 R09: ffff88002802a200
R10: ffff8800a5c4b000 R11: ffffffff823e4080 R12: ffff88011ac2fc00
R13: 0000000000000001 R14: 0000000000000001 R15: 0000000000000000
FS: 0000000041cbd940(0000) GS:ffff8800bff839c0(0000)
knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000007 CR3: 00000000bd87c000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffff8800bff9e000, task
ffff88011ff76690)
Stack: ffffffff823392e0 0000000000000100 ffffffff821e3a3a
0000000000000008
0000000000000000 ffffffff821e3a61 ffff8800bff7c000 ffffffff8203c7e7
ffff88011ff7ff10 ffff88011ff7ff10 0000000000000021 ffffffff82351108
Call Trace:
<IRQ> [<ffffffff821e3a3a>] ? inet_twdr_hangman+0x0/0x9e
[<ffffffff821e3a61>] ? inet_twdr_hangman+0x27/0x9e
[<ffffffff8203c7e7>] ? run_timer_softirq+0x12c/0x193
[<ffffffff820390d1>] ? __do_softirq+0x5e/0xcd
[<ffffffff8200d08c>] ? call_softirq+0x1c/0x28
[<ffffffff8200e611>] ? do_softirq+0x2c/0x68
[<ffffffff8201a055>] ? smp_apic_timer_interrupt+0x8e/0xa9
[<ffffffff8200cad6>] ? apic_timer_interrupt+0x66/0x70
<EOI> [<ffffffff82011f4c>] ? default_idle+0x27/0x3b
[<ffffffff8200abbd>] ? cpu_idle+0x5f/0x7d

Code: e8 01 00 00 4c 89 e7 41 ff c5 e8 8d fd ff ff 49 8b 44 24 38 4c 89 e7
65 8b 14 25 24 00 00 00 89 d2 48 8b 80 e8 00 00 00 48 f7 d0 <48> 8b 04 d0
48 ff 40 58 e8 fc fc ff ff 48 89 df e8 c0 5f 04 00
RIP [<ffffffff821e394d>] inet_twdr_do_twkill_work+0x6e/0xb8
RSP <ffff88011ff7fed0>
CR2: 0000000000000007

This patch provides a function to purge all timewait sockets related
to a network namespace. The timewait sockets life cycle is not tied with
the network namespace, that means the timewait sockets stay alive while
the network namespace dies. The timewait sockets are for avoiding to
receive a duplicate packet from the network, if the network namespace is
freed, the network stack is removed, so no chance to receive any packets
from the outside world. Furthermore, having a pending destruction timer
on these sockets with a network namespace freed is not safe and will lead
to an oops if the timer callback which try to access data belonging to
the namespace like for example in:
inet_twdr_do_twkill_work
-> NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);

Purging the timewait sockets at the network namespace destruction will:
 1) speed up memory freeing for the namespace
 2) fix kernel panic on asynchronous timewait destruction

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Denis V. Lunev <den@openvz.org>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agox86: disable static NOPLs on 32 bits
Linus Torvalds [Fri, 5 Sep 2008 16:30:14 +0000 (09:30 -0700)]
x86: disable static NOPLs on 32 bits

On 32-bit, at least the generic nops are fairly reasonable, but the
default nops for 64-bit really look pretty sad, and the P6 nops really do
look better.

So I would suggest perhaps moving the static P6 nop selection into the
CONFIG_X86_64 thing.

The alternative is to just get rid of that static nop selection, and just
have two cases: 32-bit and 64-bit, and just pick obviously safe cases for
them.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>