deliverable/linux.git
15 years agosh: Export sh7366 VPU, VEU(1), VEU(2) using uio_pdrv_genirq
Magnus Damm [Tue, 15 Jul 2008 12:55:03 +0000 (21:55 +0900)] 
sh: Export sh7366 VPU, VEU(1), VEU(2) using uio_pdrv_genirq

This patch exports the VPU, VEU(1) and VEU(2) blocks of the sh7366
to user space using the uio_pdrv_genirq platform driver.

While at it, fix up the VEU(2) interrupt vector.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Export sh7723 VPU, VEU2H0, VEU2H1 using uio_pdrv_genirq
Magnus Damm [Tue, 15 Jul 2008 12:53:33 +0000 (21:53 +0900)] 
sh: Export sh7723 VPU, VEU2H0, VEU2H1 using uio_pdrv_genirq

This patch exports the VPU, VEU2H0 and VEU2H1 blocks of the sh7723
to user space using the uio_pdrv_genirq platform driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Export sh7722 VPU and VEU using uio_pdrv_genirq
Magnus Damm [Tue, 15 Jul 2008 12:52:19 +0000 (21:52 +0900)] 
sh: Export sh7722 VPU and VEU using uio_pdrv_genirq

This patch exports the VPU and VEU blocks of the sh7722 to user space
using the uio_pdrv_genirq platform driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Export sh7343 VPU and VEU using uio_pdrv_genirq
Magnus Damm [Tue, 15 Jul 2008 12:51:39 +0000 (21:51 +0900)] 
sh: Export sh7343 VPU and VEU using uio_pdrv_genirq

This patch exports the VPU and VEU blocks of the sh7343 to user space
using the uio_pdrv_genirq platform driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh2(A) exception handler update
Yoshinori Sato [Wed, 9 Jul 2008 16:20:03 +0000 (01:20 +0900)] 
sh2(A) exception handler update

This patch is

By sh2
- Remove duplicate code
- Reduce stack usage
- Cleanup and little optimize

By sh2a
- Add missing handler(256 to 511)
- Use sh2a instructions handler

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: update Solution Engine 7343
Yoshihiro Shimoda [Mon, 7 Jul 2008 12:11:54 +0000 (21:11 +0900)] 
sh: update Solution Engine 7343

updated the following codes for Solution Endine 7343:
 - fix compile error in arch/sh/boards/se/7343/irq.c
 - add nor flash physmaps
 - update defconfig

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: update sh7343 code
Yoshihiro Shimoda [Mon, 7 Jul 2008 12:11:51 +0000 (21:11 +0900)] 
sh: update sh7343 code

updated the following codes for SH7343:
 - add register_intc_controller()
 - add EARLY_SCIF_CONSOLE_PORT
 - add define of CPG register

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: fix pg-sh4.c build breakage in linux-next
Magnus Damm [Sat, 5 Jul 2008 03:33:30 +0000 (12:33 +0900)] 
sh: fix pg-sh4.c build breakage in linux-next

Remove inline from ptep_get_and_clean() to match with header file prototype.
Makes linux-next build.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: enable I2C on the ap325rxa board
Magnus Damm [Sat, 5 Jul 2008 03:32:44 +0000 (12:32 +0900)] 
sh: enable I2C on the ap325rxa board

This patch enables I2C on the sh7723-based ap325rxa board.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add SuperH Mobile I2C platform data to sh7366
Magnus Damm [Sat, 5 Jul 2008 03:32:23 +0000 (12:32 +0900)] 
sh: add SuperH Mobile I2C platform data to sh7366

This patch adds platform data for the single I2C channel on sh7366.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add SuperH Mobile I2C platform data to sh7723
Magnus Damm [Sat, 5 Jul 2008 03:32:06 +0000 (12:32 +0900)] 
sh: add SuperH Mobile I2C platform data to sh7723

This patch adds platform data for the single I2C channel on sh7723.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add SuperH Mobile I2C platform data to sh7343
Magnus Damm [Sat, 5 Jul 2008 03:31:46 +0000 (12:31 +0900)] 
sh: add SuperH Mobile I2C platform data to sh7343

This patch adds platform data for two I2C channels to the sh7343.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add interrupt ack code to sh4a
Yoshihiro Shimoda [Fri, 4 Jul 2008 03:37:12 +0000 (12:37 +0900)] 
sh: add interrupt ack code to sh4a

This patch is based on interrupt acknowledge code for external
interrupt sources on sh3 processors and adds on sh4a processors.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Fix up link error on SH-2 zImage with older binutils.
Yoshinori Sato [Fri, 4 Jul 2008 03:54:51 +0000 (12:54 +0900)] 
sh: Fix up link error on SH-2 zImage with older binutils.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Conditionally re-enable IRQs in fault path.
Stuart Menefy [Wed, 2 Jul 2008 08:51:23 +0000 (17:51 +0900)] 
sh: Conditionally re-enable IRQs in fault path.

The current kernel behaviour is to reenable interrupts unconditionally
when taking a page fault. This patch changes this to only enable them
if interrupts were previously enabled.

It also fixes a problem seen with this fix in place: the kernel previously
flushed the vsyscall page when handling a signal, which is not only
unncessary, but caused a possible sleep with interrupts disabled.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Record the major cut revision for probed SH-4A parts.
Paul Mundt [Wed, 2 Jul 2008 08:46:40 +0000 (17:46 +0900)] 
sh: Record the major cut revision for probed SH-4A parts.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Optimized flush_icache_range() implementation.
Chris Smith [Wed, 2 Jul 2008 06:17:11 +0000 (15:17 +0900)] 
sh: Optimized flush_icache_range() implementation.

Add implementation of flush_icache_range() suitable for signal handler
and kprobes. Remove flush_cache_sigtramp() and change signal.c to use
flush_icache_range().

Signed-off-by: Chris Smith <chris.smith@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Stub in silicon cut in CPU info.
Stuart Menefy [Wed, 2 Jul 2008 06:15:09 +0000 (15:15 +0900)] 
sh: Stub in silicon cut in CPU info.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Tidy up the SH-3 exception vector table.
Paul Mundt [Wed, 2 Jul 2008 04:58:38 +0000 (13:58 +0900)] 
sh: Tidy up the SH-3 exception vector table.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agoSH7619 add ethernet controler support
Yoshinori Sato [Wed, 2 Jul 2008 02:20:24 +0000 (22:20 -0400)] 
SH7619 add ethernet controler support

- Add EtherC + PHY resource define.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Remove sh_pcic_io_xxx function from Solution Engine IO code
Nobuhiro Iwamatsu [Tue, 24 Jun 2008 04:00:52 +0000 (13:00 +0900)] 
sh: Remove sh_pcic_io_xxx function from Solution Engine IO code

sh_pcic_io_xxx function are very old.
In linux-2.4, mrshpc_ss socket driver used this function.
But there is not this driver to the present kernel.
I deleted these cords and checked operation.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Fix Kconfig of AP-325RXA
Nobuhiro Iwamatsu [Thu, 19 Jun 2008 10:27:55 +0000 (19:27 +0900)] 
sh: Fix Kconfig of AP-325RXA

The CPU of AP-325RXA is SH7723, but a CPU becomes selectable.
This patch fixes this problem.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Clean up code of Solution Engine 770x
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:32:03 +0000 (18:32 +0900)] 
sh: Clean up code of Solution Engine 770x

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Update Solution Enginge 7712 defconfig
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:31:46 +0000 (18:31 +0900)] 
sh: Update Solution Enginge 7712 defconfig

Enable SH-Ether support and NFS userland support.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Solution Enginge 7710/7712 SH-Ether support
Nobuhiro Iwamatsu [Wed, 18 Jun 2008 09:29:06 +0000 (18:29 +0900)] 
sh: Solution Enginge 7710/7712 SH-Ether support

Add support SH-Ether for Hitachi Solution Engine.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh/kernel/ cleanups
Adrian Bunk [Wed, 18 Jun 2008 00:36:50 +0000 (03:36 +0300)] 
sh/kernel/ cleanups

This patch contains the following cleanups:
- make the following needlessly global code static:
  - cf-enabler.c: cf_init()
  - cpu/clock.c: __clk_enable()
  - cpu/clock.c: __clk_disable()
  - process_32.c: default_idle()
  - time_32.c: struct clocksource_sh
  - timers/timer-tmu.c: struct tmu_timer_ops
- remove the following unused functions (no CONFIG_BLK_DEV_FD on sh):
  - process_{32,64}.c: disable_hlt()
  - process_{32,64}.c: enable_hlt()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: make pcibios_max_latency static
Adrian Bunk [Tue, 17 Jun 2008 22:33:40 +0000 (01:33 +0300)] 
sh: make pcibios_max_latency static

This patch makes the needlessly global pcibios_max_latency static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: make EARLY_PCI_OP's static
Adrian Bunk [Tue, 17 Jun 2008 22:31:03 +0000 (01:31 +0300)] 
sh: make EARLY_PCI_OP's static

This patch makes the needlessly global EARLY_PCI_OP's static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh/boards/dreamcast/rtc.c: make 2 functions static
Adrian Bunk [Tue, 17 Jun 2008 22:30:57 +0000 (01:30 +0300)] 
sh/boards/dreamcast/rtc.c: make 2 functions static

This patch makes the needlessly global aica_rtc_{get,set}timeofday()
static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agomaple: tidy maple_driver code by removing redundant connect/disconnect
Adrian McMenamin [Sun, 15 Jun 2008 19:48:09 +0000 (20:48 +0100)] 
maple: tidy maple_driver code by removing redundant connect/disconnect

The connect and disconnect functions are unnecessary - everything they do can be
accomplished in the initial probe - so remove them.

Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Renesas Solutions SH7763RDP board support
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 08:04:56 +0000 (17:04 +0900)] 
sh: Renesas Solutions SH7763RDP board support

This patch adds basic support for the SH7763RDP board.
This supports a basic stuff provided in SH7763, like SCIF,
NOR Flash and USB host.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Add SCIF2 support for SH7763.
Nobuhiro Iwamatsu [Fri, 6 Jun 2008 08:04:08 +0000 (17:04 +0900)] 
sh: Add SCIF2 support for SH7763.

SH7763 has 3 SCIF device. Current code supports SCIF0 and 1.
SCIF0 and 1 are same register constitution, but only SCIF2 is different.
I added support of SCIF2.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Add support Renesas Solutions AP-325RXA board
Yusuke Goda [Fri, 6 Jun 2008 08:03:23 +0000 (17:03 +0900)] 
sh: Add support Renesas Solutions AP-325RXA board

This board is SH7723 base board.

This has SCIF, LCDC, USB Host controler, NOR/NAND Flash, Sound,
Ether and other.

This patch supports SCIF, NOR Flash.

Signed-off-by: Yusuke Goda <goda.yusuke@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Initial consolidation of the _32/_64 uaccess split.
Paul Mundt [Tue, 3 Jun 2008 11:05:39 +0000 (20:05 +0900)] 
sh: Initial consolidation of the _32/_64 uaccess split.

This consolidates everything but the bare assembly routines, which we
will sync up in a follow-up patch.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Consolidate addr/access_ok across mmu/nommu on 32bit.
Paul Mundt [Tue, 3 Jun 2008 10:38:22 +0000 (19:38 +0900)] 
sh: Consolidate addr/access_ok across mmu/nommu on 32bit.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Use the common segment definitions for the _64 uaccess routines.
Paul Mundt [Tue, 3 Jun 2008 10:37:35 +0000 (19:37 +0900)] 
sh: Use the common segment definitions for the _64 uaccess routines.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Add support for 16kB PAGE_SIZE.
Paul Mundt [Tue, 3 Jun 2008 09:54:02 +0000 (18:54 +0900)] 
sh: Add support for 16kB PAGE_SIZE.

16kB is a useful size on nommu, while 64kB still tends to be too big to
be useful. Newer MMUs are likely to support this as well, so plug it
in in anticipation of those, too.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Support variable page sizes on nommu.
Paul Mundt [Tue, 3 Jun 2008 09:52:11 +0000 (18:52 +0900)] 
sh: Support variable page sizes on nommu.

PAGE_SIZE doesn't need to be fixed at 4096 on nommu, so stub in a !MMU
case for the various PAGE_SIZE Kconfig options.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Consolidate segment modifiers across mmu/nommu systems.
Paul Mundt [Tue, 3 Jun 2008 09:48:54 +0000 (18:48 +0900)] 
sh: Consolidate segment modifiers across mmu/nommu systems.

This moves get_fs/set_fs() and friends in to asm/segment.h. The
mm_segment_t definition is likewise consolidated from the _32/_64 split.

This is prepatory groundwork for using the generic address space limit
and verification routines across mmu/nommu configs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: RSK+ 7203 board support.
Paul Mundt [Mon, 19 May 2008 07:47:56 +0000 (16:47 +0900)] 
sh: RSK+ 7203 board support.

This adds initial support for the RTE RSK+ SH7203 board.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Make dump_task dependent on ELF core.
Paul Mundt [Mon, 19 May 2008 05:00:44 +0000 (14:00 +0900)] 
sh: Make dump_task dependent on ELF core.

Currently this is only linked in for CONFIG_BINFMT_ELF, make it dependent
on CONFIG_ELF_CORE, so it's both selectable there and also linked in for
CONFIG_BINFMT_ELF_FDPIC.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Initial ELF FDPIC support.
Paul Mundt [Mon, 19 May 2008 04:40:12 +0000 (13:40 +0900)] 
sh: Initial ELF FDPIC support.

This adds initial support for ELF FDPIC on MMU-less SH, as per version
0.2 of the ABI definition at:

http://www.codesourcery.com/public/docs/sh-fdpic/sh-fdpic-abi.txt

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agobinfmt_elf_fdpic: Magical stack pointer index, for NEW_AUX_ENT compat.
Paul Mundt [Mon, 19 May 2008 04:34:45 +0000 (13:34 +0900)] 
binfmt_elf_fdpic: Magical stack pointer index, for NEW_AUX_ENT compat.

While implementing binfmt_elf_fdpic on SH it quickly became apparent
that SH was the first platform to support both binfmt_elf_fdpic and
binfmt_elf, as well as the only of the FDPIC platforms to make use of the
auxvt.

Currently binfmt_elf_fdpic uses a special version of NEW_AUX_ENT() where
the first argument is the entry displacement after csp has been adjusted,
being reset after each adjustment. As we have no ability to sort this out
through the platform's ARCH_DLINFO, this index needs to be managed
entirely in create_elf_fdpic_tables(). Presently none of the platforms
that set their own auxvt entries are able to do so through their
respective ARCH_DLINFOs when using binfmt_elf_fdpic.

In addition to this, binfmt_elf_fdpic has been looking at
DLINFO_ARCH_ITEMS for the number of architecture-specific entries in the
auxvt. This is legacy cruft, and is not defined by any platforms in-tree,
even those that make heavy use of the auxvt. AT_VECTOR_SIZE_ARCH is
always available, and contains the number that is of interest here, so we
switch to using that unconditionally as well.

As this has direct bearing on how much stack is used, platforms that have
configurable (or dynamically adjustable) NEW_AUX_ENT calls need to either
make AT_VECTOR_SIZE_ARCH more fine-grained, or leave it as a worst-case
and live with some lost stack space if those entries aren't pushed (some
platforms may also need to purposely sacrifice some space here for
alignment considerations, as noted in the code -- although not an issue
for any FDPIC-capable platform today).

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: David Howells <dhowells@redhat.com>
15 years agomove arch/sh/lib/io.o to obj-y
Adrian Bunk [Tue, 17 Jun 2008 22:30:53 +0000 (01:30 +0300)] 
move arch/sh/lib/io.o to obj-y

EXPORT_SYMBOL's in lib-y considered harmful:

<--  snip  -->

...
  MODPOST 1837 modules
ERROR: "__raw_readsl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/3c59x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/3c59x.ko] undefined!
...
make[2]: *** [__modpost] Error 1

<--  snip  -->

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh dreamcast: export board_pci_channels
Adrian Bunk [Tue, 17 Jun 2008 22:30:40 +0000 (01:30 +0300)] 
sh dreamcast: export board_pci_channels

This patch fixes the following build error:

<--  snip  -->

...
  MODPOST 1837 modules
ERROR: "board_pci_channels" [drivers/pcmcia/yenta_socket.ko] undefined!
...
make[2]: *** [__modpost] Error 1

<--  snip  -->

I freely admit that it's a pathological configuration, but as long as
it is allowed it should build.

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: export get_cpu_subtype
Adrian Bunk [Tue, 17 Jun 2008 22:30:24 +0000 (01:30 +0300)] 
sh: export get_cpu_subtype

This patch fixes the following build error:

<--  snip  -->

...
  MODPOST 1837 modules
ERROR: "get_cpu_subtype" [arch/sh/oprofile/oprofile.ko] undefined!
...
make[2]: *** [__modpost] Error 1

<--  snip  -->

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: Prevent leaking of CONFIG_SUPERH32 to userspace in asm/unistd.h.
Khem Raj [Thu, 3 Jul 2008 10:02:41 +0000 (19:02 +0900)] 
sh: Prevent leaking of CONFIG_SUPERH32 to userspace in asm/unistd.h.

CONFIG_SUPERH32 is currently trickling into userspace unistd.h. Attached
patch uses __SH5__ define in userspace.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: fix seq_file memory leak
Li Zefan [Tue, 24 Jun 2008 05:30:23 +0000 (13:30 +0800)] 
sh: fix seq_file memory leak

When using single_open(), single_release() should be used instead
of seq_release(), otherwise there is a memory leak.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agopowerpc: Disable 64K hugetlb support when doing 64K SPU mappings
Benjamin Herrenschmidt [Mon, 28 Jul 2008 06:13:18 +0000 (16:13 +1000)] 
powerpc: Disable 64K hugetlb support when doing 64K SPU mappings

The 64K SPU local store mapping feature is incompatible with the
64K huge pages support due to the inability of some parts of
the memory management to differenciate between them while they
use a different page table format.

For now, disable 64K huge pages when CONFIG_SPU_FS_64K_LS,
in the long run, this can be fixed by making this feature use
the hugetlb page table format.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/powermac: Fixup default serial port device for pmac_zilog
Benjamin Herrenschmidt [Mon, 28 Jul 2008 03:49:15 +0000 (13:49 +1000)] 
powerpc/powermac: Fixup default serial port device for pmac_zilog

This removes the non-working code in legacy_serial that tried to handle
the powermac SCC ports, and instead add a (now working) function to the
powermac platform code to find the default serial console if any.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/powermac: Use sane default baudrate for SCC debugging
Benjamin Herrenschmidt [Mon, 28 Jul 2008 02:06:19 +0000 (12:06 +1000)] 
powerpc/powermac: Use sane default baudrate for SCC debugging

When using the "sccdbg" option to route early kernel messages and
xmon to the SCC serial port on PowerMacs, when this wasn't the
configured output port of Open Firmware, we initialize the baudrate
to 57600bps. This isn't a very good default on some powermacs where
both the FW and pmac_zilog will default to 38400. This fixes it to
use the same logic as pmac_zilog to pick a default speed.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit
Nick Piggin [Mon, 28 Jul 2008 03:28:03 +0000 (20:28 -0700)] 
powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit

Implement _PAGE_SPECIAL and pte_special() for 64-bit powerpc. This bit will
be used by the fast get_user_pages() to differenciate PTEs that correspond
to a valid struct page from special mappings that don't such as IO mappings
obtained via io_remap_pfn_ranges().

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Reviewed-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Show processor cache information in sysfs
Nathan Lynch [Sun, 27 Jul 2008 05:24:55 +0000 (15:24 +1000)] 
powerpc: Show processor cache information in sysfs

Collect cache information from the OF device tree and display it in
the cpu hierarchy in sysfs.  This is intended to be compatible at the
userspace level with x86's implementation[1], hence some of the funny
attribute names.  The arrangement of cache info is not immediately
intuitive, but (again) it's for compatibility's sake.

The cache attributes exposed are:

type (Data, Instruction, or Unified)
level (1, 2, 3...)
size
coherency_line_size
number_of_sets
ways_of_associativity

All of these can be derived on platforms that follow the OF PowerPC
Processor binding.  The code "publishes" only those attributes for
which it is able to determine values; attributes for values which
cannot be determined are not created at all.

[1] arch/x86/kernel/cpu/intel_cacheinfo.c

BenH: Turned some printk's into pr_debug, added better NULL checking
in a couple of places.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Make core id information available to userspace
Nathan Lynch [Sun, 27 Jul 2008 05:24:54 +0000 (15:24 +1000)] 
powerpc: Make core id information available to userspace

Existing Open Firmware practice is to report each processor core as a
separate node in the device tree.  Report the value of the "reg" OF
property corresponding to a logical CPU's device node as the core_id
attribute in /sys/devices/system/cpu/cpu*/topology/core_id.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Make core sibling information available to userspace
Nathan Lynch [Sun, 27 Jul 2008 05:24:53 +0000 (15:24 +1000)] 
powerpc: Make core sibling information available to userspace

Implement the notion of "core siblings" for powerpc.  This makes
/sys/devices/system/cpu/cpu*/topology/core_siblings present sensible
values, indicating online CPUs which share an L2 cache.

BenH: Made cpu_to_l2cache() use of_find_node_by_phandle() instead
of IBM-specific open coded search

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/vio: More fallout from dma_mapping_error API change
Stephen Rothwell [Sun, 27 Jul 2008 16:22:14 +0000 (02:22 +1000)] 
powerpc/vio: More fallout from dma_mapping_error API change

arch/powerpc/kernel/vio.c:533: error: too few arguments to function 'dma_mapping_error'

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agoibmveth: Fix multiple errors with dma_mapping_error conversion
Stephen Rothwell [Sun, 27 Jul 2008 16:14:24 +0000 (02:14 +1000)] 
ibmveth: Fix multiple errors with dma_mapping_error conversion

The addition of an argument to dma_mapping_error() in commit
8d8bb39b9eba32dd70e87fd5ad5c5dd4ba118e06 "dma-mapping: add the device
argument to dma_mapping_error()" left a bit of fallout:

drivers/net/ibmveth.c:263: error: too few arguments to function 'dma_mapping_error'
drivers/net/ibmveth.c:264: error: expected ')' before 'goto'
drivers/net/ibmveth.c:284: error: expected expression before '}' token
drivers/net/ibmveth.c:297: error: too few arguments to function 'dma_mapping_error'
drivers/net/ibmveth.c:298: error: expected ')' before 'dma_unmap_single'
drivers/net/ibmveth.c:306: error: expected expression before '}' token
drivers/net/ibmveth.c:491: error: too few arguments to function 'dma_mapping_error'
drivers/net/ibmveth.c:927: error: too few arguments to function 'dma_mapping_error'
drivers/net/ibmveth.c:927: error: expected ')' before '{' token
drivers/net/ibmveth.c:974: error: expected expression before '}' token
drivers/net/ibmveth.c:914: error: label 'out' used but not defined m

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/pseries: Fix CMO sysdev attribute API change fallout
Stephen Rothwell [Sun, 27 Jul 2008 14:51:02 +0000 (00:51 +1000)] 
powerpc/pseries: Fix CMO sysdev attribute API change fallout

Noticed due to these wanings:

arch/powerpc/platforms/pseries/cmm.c:298: warning: initialization from incompatible pointer type
arch/powerpc/platforms/pseries/cmm.c:299: warning: initialization from incompatible pointer type
arch/powerpc/platforms/pseries/cmm.c:320: warning: initialization from incompatible pointer type
arch/powerpc/platforms/pseries/cmm.c:320: warning: initialization from incompatible pointer type

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Enable tracehook for the architecture
Roland McGrath [Sun, 27 Jul 2008 06:53:20 +0000 (16:53 +1000)] 
powerpc: Enable tracehook for the architecture

The powerpc arch code has all the prerequisites, so set HAVE_ARCH_TRACEHOOK.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Add TIF_NOTIFY_RESUME support for tracehook
Roland McGrath [Sun, 27 Jul 2008 06:52:52 +0000 (16:52 +1000)] 
powerpc: Add TIF_NOTIFY_RESUME support for tracehook

This adds TIF_NOTIFY_RESUME support for powerpc.  When set,
we call tracehook_notify_resume() on the way to user mode.
This overloads do_signal() to do the work, but changes its
arguments to it has the TIF_* bits handy in a register and
drops the useless first argument that was always zero.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Add asm/syscall.h with the tracehook entry points
Roland McGrath [Sun, 27 Jul 2008 06:51:35 +0000 (16:51 +1000)] 
powerpc: Add asm/syscall.h with the tracehook entry points

Add asm/syscall.h for powerpc with all the required entry points.
This will allow arch-independent tracing code for system calls.

BenH: Fixed up use of regs->trap to properly mask low bit

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Make syscall tracing use tracehook.h helpers
Roland McGrath [Sun, 27 Jul 2008 06:51:03 +0000 (16:51 +1000)] 
powerpc: Make syscall tracing use tracehook.h helpers

This changes powerpc syscall tracing to use the new tracehook.h entry
points.  There is no change, only cleanup.

In addition, the assembly changes allow do_syscall_trace_enter() to
abort the syscall without losing the information about the original
r0 value.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Call tracehook_signal_handler() when setting up signal frames
Roland McGrath [Sun, 27 Jul 2008 06:49:50 +0000 (16:49 +1000)] 
powerpc: Call tracehook_signal_handler() when setting up signal frames

This makes the powerpc signal handling code call tracehook_signal_handler()
after a handler is set up.  This means that using PTRACE_SINGLESTEP to
enter a signal handler will report to ptrace on the first instruction of
the handler, instead of the second.  This is consistent with what x86 and
other machines do, and what users and debuggers want.

BenH: Fixed up the test for the trap value.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Update cpu_sibling_maps dynamically
Nathan Lynch [Sun, 27 Jul 2008 05:24:52 +0000 (15:24 +1000)] 
powerpc: Update cpu_sibling_maps dynamically

Rather doing one initialization pass over all the per-cpu
cpu_sibling_maps at boot, update the maps at cpu online/offline time.

This is a behavior change -- the thread_siblings attribute now
reflects only online siblings, whereas it would display offline
siblings before.  The new behavior matches that of x86, and is
arguably more useful.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: register_cpu_online should be __cpuinit
Nathan Lynch [Sun, 27 Jul 2008 05:24:51 +0000 (15:24 +1000)] 
powerpc: register_cpu_online should be __cpuinit

It is called only in cpu online paths.

(caught by CONFIG_DEBUG_SECTION_MISMATCH=y)

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: kill useless SMT code in prom_hold_cpus
Nathan Lynch [Sun, 27 Jul 2008 05:24:50 +0000 (15:24 +1000)] 
powerpc: kill useless SMT code in prom_hold_cpus

This piece of code is broken for >2 threads, and possibly in some
other subtle ways (such as comparing a value obtained from an
"ibm,ppc-interrupt-server#s" property to a value obtained from a
"reg" property) and doesn't seem to have any useful purpose in the
first place other than a dubious warning in case NR_CPUS is too
small, which probably isn't the right place to do so.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Fix 8xx build failure
Kumar Gala [Sat, 26 Jul 2008 17:57:30 +0000 (03:57 +1000)] 
powerpc: Fix 8xx build failure

The 'powerpc ioremap_prot' broke 8xx builds:

include2/asm/pgtable-ppc32.h:555: error: '_PAGE_WRITETHRU' undeclared (first use in this function)
include2/asm/pgtable-ppc32.h:555: error: (Each undeclared identifier is reported only once
include2/asm/pgtable-ppc32.h:555: error: for each function it appears in.)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Fix vio build warnings
Nathan Lynch [Fri, 25 Jul 2008 23:06:17 +0000 (09:06 +1000)] 
powerpc: Fix vio build warnings

arch/powerpc/kernel/vio.c:1034: warning: function declaration isnâ\80\99t a prototype
arch/powerpc/kernel/vio.c:1035: warning: function declaration isnâ\80\99t a prototype

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc/booke: Clean up the hardware watchpoint support
Kumar Gala [Fri, 25 Jul 2008 19:27:33 +0000 (05:27 +1000)] 
powerpc/booke: Clean up the hardware watchpoint support

* CONFIG_BOOKE is selected by CONFIG_44x so we dont need both
* Fixed a few comments
* Go back to only using DBCR0_IDM to determine if we are using
  debug resources.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agopowerpc: Removed duplicated include in stacktrace.c
Huang Weiyi [Wed, 23 Jul 2008 14:44:51 +0000 (00:44 +1000)] 
powerpc: Removed duplicated include in stacktrace.c

Removed duplicated include file <linux/module.h> in
arch/powerpc/kernel/stacktrace.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 years agoMerge commit 'gcl/gcl-next'
Benjamin Herrenschmidt [Mon, 28 Jul 2008 06:30:40 +0000 (16:30 +1000)] 
Merge commit 'gcl/gcl-next'

15 years agostop_machine: fix up ftrace.c
Rusty Russell [Mon, 28 Jul 2008 17:16:31 +0000 (12:16 -0500)] 
stop_machine: fix up ftrace.c

Simple conversion.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Abhishek Sagar <sagar.abhishek@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>
15 years agostop_machine: Wean existing callers off stop_machine_run()
Rusty Russell [Mon, 28 Jul 2008 17:16:30 +0000 (12:16 -0500)] 
stop_machine: Wean existing callers off stop_machine_run()

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agostop_machine(): stop_machine_run() changed to use cpu mask
Rusty Russell [Mon, 28 Jul 2008 17:16:30 +0000 (12:16 -0500)] 
stop_machine(): stop_machine_run() changed to use cpu mask

Instead of a "cpu" arg with magic values NR_CPUS (any cpu) and ~0 (all
cpus), pass a cpumask_t.  Allow NULL for the common case (where we
don't care which CPU the function is run on): temporary cpumask_t's
are usually considered bad for stack space.

This deprecates stop_machine_run, to be removed soon when all the
callers are dead.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agoHotplug CPU: don't check cpu_online after take_cpu_down
Rusty Russell [Mon, 28 Jul 2008 17:16:29 +0000 (12:16 -0500)] 
Hotplug CPU: don't check cpu_online after take_cpu_down

Akinobu points out that if take_cpu_down() succeeds, the cpu must be offline.
Remove the cpu_online() check, and put a BUG_ON().

Quoting Akinobu Mita:
   Actually the cpu_online() check was necessary before appling this
   stop_machine: simplify patch.

   With old __stop_machine_run(), __stop_machine_run() could succeed
   (return !IS_ERR(p) value) even if take_cpu_down() returned non-zero value.
   The return value of take_cpu_down() was obtained through kthread_stop()..

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Akinobu Mita" <akinobu.mita@gmail.com>
15 years agoSimplify stop_machine
Rusty Russell [Mon, 28 Jul 2008 17:16:28 +0000 (12:16 -0500)] 
Simplify stop_machine

stop_machine creates a kthread which creates kernel threads.  We can
create those threads directly and simplify things a little.  Some care
must be taken with CPU hotunplug, which has special needs, but that code
seems more robust than it was in the past.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
15 years agostop_machine: add ALL_CPUS option
Jason Baron [Thu, 28 Feb 2008 16:33:03 +0000 (11:33 -0500)] 
stop_machine: add ALL_CPUS option

-allow stop_mahcine_run() to call a function on all cpus. Calling
 stop_machine_run() with a 'ALL_CPUS' invokes this new behavior.
 stop_machine_run() proceeds as normal until the calling cpu has
 invoked 'fn'. Then, we tell all the other cpus to call 'fn'.

Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
CC: Adrian Bunk <bunk@stusta.de>
CC: Andi Kleen <andi@firstfloor.org>
CC: Alexey Dobriyan <adobriyan@gmail.com>
CC: Christoph Hellwig <hch@infradead.org>
CC: mingo@elte.hu
CC: akpm@osdl.org
15 years agomodule: fix build warning with !CONFIG_KALLSYMS
WANG Cong [Thu, 24 Jul 2008 14:41:48 +0000 (15:41 +0100)] 
module: fix build warning with !CONFIG_KALLSYMS

This patch fixed the warning:

  CC      kernel/module.o
  /home/wangcong/Projects/linux-2.6/kernel/module.c:332: warning:
‘lookup_symbol’ defined but not used

Signed-off-by: WANG Cong <wangcong@zeuux.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agoMerge ../linux-2.6
Mauro Carvalho Chehab [Mon, 28 Jul 2008 01:23:18 +0000 (22:23 -0300)] 
Merge ../linux-2.6

15 years agosparc: Set CONFIG_HAVE_ARCH_TRACEHOOK
David S. Miller [Sun, 27 Jul 2008 10:53:32 +0000 (03:53 -0700)] 
sparc: Set CONFIG_HAVE_ARCH_TRACEHOOK

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc: Add task_pt_regs().
David S. Miller [Sun, 27 Jul 2008 10:43:51 +0000 (03:43 -0700)] 
sparc: Add task_pt_regs().

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc: Add call to tracehook_signal_handler().
David S. Miller [Sun, 27 Jul 2008 10:40:53 +0000 (03:40 -0700)] 
sparc: Add call to tracehook_signal_handler().

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc: Create and use TIF_NOTIFY_RESUME.
David S. Miller [Sun, 27 Jul 2008 10:38:53 +0000 (03:38 -0700)] 
sparc: Create and use TIF_NOTIFY_RESUME.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc: Use tracehook routines in syscall_trace().
David S. Miller [Sun, 27 Jul 2008 10:13:13 +0000 (03:13 -0700)] 
sparc: Use tracehook routines in syscall_trace().

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK
Roland McGrath [Mon, 21 Apr 2008 00:42:22 +0000 (17:42 -0700)] 
sparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK

The sparc64 arch code has all the prerequisites, so set HAVE_ARCH_TRACEHOOK.

Signed-off-by: Roland McGrath <roland@redhat.com>
15 years agosparc: Add user_stack_pointer().
David S. Miller [Sun, 27 Jul 2008 08:59:21 +0000 (01:59 -0700)] 
sparc: Add user_stack_pointer().

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc64: tracehook_signal_handler
Roland McGrath [Sun, 27 Jul 2008 08:08:02 +0000 (01:08 -0700)] 
sparc64: tracehook_signal_handler

Call the standard hook after setting up signal handlers.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc64: tracehook: TIF_NOTIFY_RESUME
Roland McGrath [Sun, 20 Apr 2008 22:06:49 +0000 (15:06 -0700)] 
sparc64: tracehook: TIF_NOTIFY_RESUME

This adds TIF_NOTIFY_RESUME support for sparc64.
When set, we call tracehook_notify_resume() on the way to user mode.

Signed-off-by: Roland McGrath <roland@redhat.com>
15 years agosparc: Add asm/syscall.h
David S. Miller [Sun, 27 Jul 2008 07:53:10 +0000 (00:53 -0700)] 
sparc: Add asm/syscall.h

Based upon a patch by Roland McGrath.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc64: tracehook syscall
Roland McGrath [Sun, 27 Jul 2008 07:30:50 +0000 (00:30 -0700)] 
sparc64: tracehook syscall

This changes sparc64 syscall tracing to use the new tracehook.h entry
points.

[ Add assembly changes to force an immediate -ENOSYS return from
  the system call when syscall_trace() returns non-zero at syscall
  entry.  -DaveM ]

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/sparc
David S. Miller [Mon, 28 Jul 2008 00:09:02 +0000 (17:09 -0700)] 
Merge branch 'master' of git://git./linux/kernel/git/sam/sparc

15 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
David S. Miller [Sun, 27 Jul 2008 23:51:21 +0000 (16:51 -0700)] 
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6

15 years agoMerge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Sun, 27 Jul 2008 23:47:55 +0000 (16:47 -0700)] 
Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
  NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
  nfs_remount oops when rebooting + possible fix

15 years agoMerge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sun, 27 Jul 2008 23:46:51 +0000 (16:46 -0700)] 
Merge branch 'x86/urgent' of git://git./linux/kernel/git/x86/linux-2.6-tip

* 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
  x86: fix cpu hotplug on 32bit

15 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 27 Jul 2008 23:46:08 +0000 (16:46 -0700)] 
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] Fix shared mmap when more than two maps of the same file exist
  [ARM] fix VIPT/VIVT macro optimisations, add comments
  [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*
  [ARM] update defconfig for eseries.
  [ARM] PXA: squash warning in pxafb
  [ARM] pxa: PXA25x UDC - Fix warning during build
  [ARM] fix nwflash.c: 6ee8928d94841aa764aeaf645ad16daff811dc26
  [ARM] fix IOP32x, IOP33x, MXC and Samsung builds
  [ARM] pci: provide dummy pci_get_legacy_ide_irq()
  [ARM] fix fls() for 64-bit arguments
  [ARM] fix mode for board-yl-9200.c
  [ARM] 5176/1: arm/Makefile: fix: ARM946T -> ARM946E

15 years agotask IO accounting: move all IO statistics in struct task_io_accounting
Andrea Righi [Sun, 27 Jul 2008 22:48:12 +0000 (00:48 +0200)] 
task IO accounting: move all IO statistics in struct task_io_accounting

Simplify the code of include/linux/task_io_accounting.h.

It is also more reasonable to have all the task i/o-related statistics in a
single struct (task_io_accounting).

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoV4L/DVB (8549): mxl5007: Fix an error at include file
Mauro Carvalho Chehab [Sun, 27 Jul 2008 22:30:46 +0000 (19:30 -0300)] 
V4L/DVB (8549): mxl5007: Fix an error at include file

mxl5007 was forcing for its compilation:

In file included from drivers/media/common/tuners/mxl5007t.c:25:drivers/media/common/tuners/mxl5007t.h:80:1: warning: "CONFIG_MEDIA_TUNER_MXL5007T" redefined
In file included from <command-line>:0:
./include/linux/autoconf.h:2782:1: warning: this is the location of the previous definition

Probably, some temporary hack for testing.

Cc: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
15 years agoNFS: Ensure we call nfs_sb_deactive() after releasing the directory inode
Trond Myklebust [Sun, 27 Jul 2008 22:03:19 +0000 (18:03 -0400)] 
NFS: Ensure we call nfs_sb_deactive() after releasing the directory inode

In order to avoid the "Busy inodes after unmount" error message, we need to
ensure that nfs_async_unlink_release() releases the super block after the
call to nfs_free_unlinkdata().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
15 years agonfs_remount oops when rebooting + possible fix
Marc Zyngier [Thu, 17 Jul 2008 11:21:55 +0000 (13:21 +0200)] 
nfs_remount oops when rebooting + possible fix

Jeff, Trond,

The commit

48b605f83c920d8daa50e43fc2c7f718e04c7bfa (NFS: implement option checking
when remounting NFS filesystems (resend))

generate an Oops on my platform when rebooting while its root FS on
an NFS share (NFSv3, TCP) :

Unmounting local filesystems...done.
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3d00000
[00000000] *pgd=a3d72031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
CPU: 0    Not tainted  (2.6.26-03414-g33af79d-dirty #15)
PC is at nfs_remount+0x40/0x264
LR is at do_remount_sb+0x158/0x194
pc : [<c00bbf54>]    lr : [<c0076c40>]    psr: 60000013
sp : c2dd1e70  ip : c2dd1e98  fp : c2dd1e94
r10: 00000040  r9 : c3d17000  r8 : c3c3fc40
r7 : 00000000  r6 : 00000000  r5 : c3d2b200  r4 : 00000000
r3 : 00000003  r2 : 00000000  r1 : c2dd1e9c  r0 : c3c3fc00
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0000397f  Table: a3d00000  DAC: 00000015
Process mount (pid: 1462, stack limit = 0xc2dd0270)
Stack: (0xc2dd1e70 to 0xc2dd2000)
1e60:                                     00000000 c3c3fc00 00000000 00000000
1e80: c3c3fc40 c3d17000 c2dd1ebc c2dd1e98 c0076c40 c00bbf20 c01c61e4 00000001
1ea0: c2dd1ebc 00000001 c3c3fc00 c2dd1ef0 c2dd1ee4 c2dd1ec0 c008c6d8 c0076af4
1ec0: 00000021 00000040 c2dd1ef0 c3d77000 c3eaa000 00000000 c2dd1f6c c2dd1ee8
1ee0: c008d1bc c008c5f8 00000000 c2dd0000 c3c0c320 c3805b38 c002064c 0001f820
1f00: 0001f810 00000001 00000001 00000000 c2dd0000 00000000 c2dd1f34 c2dd1f28
1f20: c005ead8 c005e6f8 c2dd1f44 c2dd1f38 c005eaf8 c005ead0 c2dd1f6c c2dd1f48
1f40: c008ae3c 00000000 c3d77000 0001f810 c0ed0021 c0020ca8 c2dd0000 00000000
1f60: c2dd1fa4 c2dd1f70 c008d2d4 c008d0bc 00000000 0001f810 c2dd1f9c c3eaa000
1f80: c3d17000 00000000 00000000 be8b6aa8 be8b6ad0 00000015 00000000 c2dd1fa8
1fa0: c0020b00 c008d254 00000000 be8b6aa8 0001f810 0001f820 0001f830 c0ed0021
1fc0: 00000000 be8b6aa8 be8b6ad0 00000015 00000000 be8b6ad0 0001f810 be8b6aa8
1fe0: 0001f810 be8b6964 0000aab8 40125124 60000010 0001f810 00000000 00000000
Backtrace:
[<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
r4:00000000
[<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
[<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
[<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
[<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
Code: 0a000086 ea000006 e3530003 8a000004 (e5923000)
---[ end trace 55e1b689cf8c8a6a ]---
------------[ cut here ]------------
WARNING: at kernel/exit.c:966 do_exit+0x3c/0x628()
Modules linked in: cpufreq_powersave cpufreq_ondemand cpufreq_userspace cpufreq_conservative ext3 jbd sd_mod pata_pcmcia libata scsi_mod pcmcia loop firmware_class pxafb cfbcopyarea cfbimgblt cfbfillrect pxa2xx_cs pxa2xx_core pcmcia_core snd_pxa2xx_ac97 snd_ac97_codec ac97_bus snd_pxa2xx_pcm snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd isp116x_hcd soundcore rtc_sa1100 snd_page_alloc pxa25x_udc usbcore rtc_ds1307 rtc_core
[<c0025168>] (dump_stack+0x0/0x14) from [<c0032154>] (warn_on_slowpath+0x4c/0x68)
[<c0032108>] (warn_on_slowpath+0x0/0x68) from [<c003531c>] (do_exit+0x3c/0x628)
  r6:0000000b r5:c3c3dc80 r4:c2dd0000
[<c00352e0>] (do_exit+0x0/0x628) from [<c0025004>] (die+0x2b0/0x30c)
[<c0024d54>] (die+0x0/0x30c) from [<c00270bc>] (__do_kernel_fault+0x6c/0x80)
[<c0027050>] (__do_kernel_fault+0x0/0x80) from [<c00272e0>] (do_page_fault+0x210/0x230)
  r7:c3fa7118 r6:c3c3dc80 r5:c3d166a8 r4:00010000
[<c00270d0>] (do_page_fault+0x0/0x230) from [<c00201ec>] (do_DataAbort+0x3c/0xa0)
[<c00201b0>] (do_DataAbort+0x0/0xa0) from [<c002064c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc2dd1e28 to 0xc2dd1e70)
1e20:                   c3c3fc00 c2dd1e9c 00000000 00000003 00000000 c3d2b200
1e40: 00000000 00000000 c3c3fc40 c3d17000 00000040 c2dd1e94 c2dd1e98 c2dd1e70
1e60: c0076c40 c00bbf54 60000013 ffffffff
  r8:c3c3fc40 r7:00000000 r6:00000000 r5:c2dd1e5c r4:ffffffff
[<c00bbf14>] (nfs_remount+0x0/0x264) from [<c0076c40>] (do_remount_sb+0x158/0x194)
  r9:c3d17000 r8:c3c3fc40 r7:00000000 r6:00000000 r5:c3c3fc00
r4:00000000
[<c0076ae8>] (do_remount_sb+0x0/0x194) from [<c008c6d8>] (do_remount+0xec/0x118)
  r6:c2dd1ef0 r5:c3c3fc00 r4:00000001
[<c008c5ec>] (do_remount+0x0/0x118) from [<c008d1bc>] (do_mount+0x10c/0x198)
[<c008d0b0>] (do_mount+0x0/0x198) from [<c008d2d4>] (sys_mount+0x8c/0xd4)
[<c008d248>] (sys_mount+0x0/0xd4) from [<c0020b00>] (ret_fast_syscall+0x0/0x2c)
  r7:00000015 r6:be8b6ad0 r5:be8b6aa8 r4:00000000
---[ end trace 55e1b689cf8c8a6a ]---
/etc/rc6.d/S60umountroot: line 17:  1462 Segmentation fault      mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2> /dev/null

The new super.c:nfs_remount function doesn't check the validity of the
options/options4 pointers. Unfortunately, this seems to happend.
The obvious patch seems to check the pointers, and not to do anything if
the happend to be NULL.

Tested on an XScale PXA255 system, latest git.

Regards,

M.

Signed-off-by: Marc Zyngier <marc.zyngier@altran.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
15 years agoV4L/DVB (8548): pwc: Fix compilation
Mauro Carvalho Chehab [Sun, 27 Jul 2008 22:02:30 +0000 (19:02 -0300)] 
V4L/DVB (8548): pwc: Fix compilation

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This page took 0.056889 seconds and 5 git commands to generate.