Commit Graph

1866 Commits

Author SHA1 Message Date
Andrzej Zaborowski ef557d76df ARM: OMAP: correct misc 15xx and non-15xx platform code
Disable accesses to SOFT_REQ_REG2 and ULPD_SOFT_DISABLE_REQ_REG
registers for 15xx processors that don't have these registers. Enable
level 2 interrupt handler for processors that identify as OMAP 15xx
(e.g 310) and not 1510 specifically. Also fix the following compiler
warning (only visible with CONFIG_OMAP_RESET_CLOCKS):

arch/arm/mach-omap1/clock.c: In function 'omap1_clk_disable_unused':
arch/arm/mach-omap1/clock.c:634: warning: 'return' with a value, in
function returning void

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2007-03-02 01:47:08 -08:00
Linus Torvalds 038c068f63 Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] CLPS7500 doesn't have IO ports
  [ARM] Fix more apm-emulation.h
  [ARM] 4234/1: Introduce get_irqnr_preamble and arch_ret_to_user for ns9xxx.
  [ARM] 4233/1: nand/s3c2410.c: warning fix
  [ARM] 4226/1: initial .data and .bss mappings of XIP kernel should be TEXT_OFFSET
  [ARM] 4224/2: allow XIP kernel to boot again
  [ARM] 4232/1: AT91: Generic GPIO bug
  [ARM] 4231/1: AT91: Merge and typo fixes.
  [ARM] 4229/1: S3C2410: Add MACH_QT2410 to s3c2410_defconfig
  [ARM] 4228/2: S3C24XX: update s3c2410_defconfig for 2.6.21-rc1
2007-02-26 13:19:17 -08:00
Russell King e41698894d [ARM] CLPS7500 doesn't have IO ports
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-26 21:07:30 +00:00
Russell King 61fde514c2 [ARM] Fix more apm-emulation.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-26 21:04:29 +00:00
Nicolas Pitre ec3622d963 [ARM] 4226/1: initial .data and .bss mappings of XIP kernel should be TEXT_OFFSET
aware

Since TEXT_OFFSET is meant to determine RAM location for kernel use,
itshould affect .data and .bss initial mapping in the XIP case.
Otherwise a XIP kernel would crash if TEXT_OFFSET gets somewhat larger
than 2MB.

Corresponding code is also moved up a bit to be near the similar .text
mapping code making the whole a bit more straight forward to understand.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-25 16:41:39 +00:00
Nicolas Pitre e98ff7f6d8 [ARM] 4224/2: allow XIP kernel to boot again
Since commit 2552fc27ff XIP kernels failed
to boot because (_end - PAGE_OFFSET - 1) is much smaller than the size
of the kernel text and data in the XIP case, causing the kernel not to
be entirely mapped.

Even in the non-XIP case, the use of (_end - PAGE_OFFSET - 1) is wrong
because it produces a too large value if TEXT_OFFSET is larger than 1MB.

Finally the original code was performing one loop too many.

Let's break the loop when the section pointer has passed the last byte
of the kernel instead.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-25 16:41:38 +00:00
Andrew Victor 0ebffe39f8 [ARM] 4232/1: AT91: Generic GPIO bug
The new gpio_direction_input() and gpio_direction_output() functions
were both enabling output mode.  When configuring a GPIO for input mode,
you need to program the ODR (Output Disable Register).

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-22 14:53:32 +00:00
Andrew Victor 7f6e2d992d [ARM] 4231/1: AT91: Merge and typo fixes.
The duplicate file "include/asm-arm/arch-at91rm9200/entry-macro.S" can
be removed - it was already moved to include/asm-arm/arch-at91/.

Fix 3 small typo's - two in comments, and the incorrect clock was
specified for the LCD device.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-22 14:53:30 +00:00
Ben Dooks f8dbf45fab [ARM] 4229/1: S3C2410: Add MACH_QT2410 to s3c2410_defconfig
Add the Armzone QT2410 to the list of built
machines in the s3c2410_defconfig

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-22 14:53:25 +00:00
Ben Dooks b9c28081a7 [ARM] 4228/2: S3C24XX: update s3c2410_defconfig for 2.6.21-rc1
Udpate s3c2410_defconfig for 2.6.21-rc1

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-22 14:53:24 +00:00
Philipp Zabel 5b7e42b2d3 [PATCH] GPIO API: SA1100 wrapper cleanup
Based on the discussion last december (http://lkml.org/lkml/2006/12/20/241),
this patch
  - adds gpio_direction_input/output functions to
    generic.c instead of making them inline,
  - fixes comment and includes and uses inline functions
    instead of macros in gpio.h

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-20 17:10:16 -08:00
Philipp Zabel 3deac046e2 [PATCH] GPIO API: PXA wrapper cleanup
Based on the discussion last december (http://lkml.org/lkml/2006/12/20/242),
this patch:

  - moves the PXA_LAST_GPIO check into pxa_gpio_mode
  - fixes comment and includes in gpio.h
  - replaces the gpio_set/get_value macros with inline
    functions and adds a non-inline version to avoid
    code explosion when gpio is not a constant.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-20 17:10:16 -08:00
Russell King 5a84d15906 Merge ARM fixes 2007-02-20 19:13:30 +00:00
Ben Dooks 7d477a04a6 [ARM] 4165/1: S3C24XX: Select CONFIG_NO_IOPORT
On S3C24XX architecture, select CONFIG_NO_IOPORT
as we only have memory based IO.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 16:28:47 +00:00
David Brownell 25ccb569ee [ARM] fix mach-at91 build breakage
The rename of the AT91 subtree from mach-at91rm9200 to mach-at91
(to accomodate at91sam926x processors) was incomplete.  It needs
this patch to be able to build again.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 15:28:40 +00:00
Russell King 4f2849e49c [ARM] Fix jornada720 build errors
kernel/built-in.o: In function `pm_suspend':
utsname_sysctl.c:(.text+0x23008): multiple definition of `pm_suspend'
arch/arm/mach-sa1100/built-in.o:arch/arm/mach-sa1100/sleep.S:(.text+0xf68): first defined here
arm-linux-ld: Warning: size of symbol `pm_suspend' changed from 20 in arch/arm/mach-sa1100/built-in.o to 44 in kernel/built-in.o

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 15:23:57 +00:00
Russell King 6a32b935f8 [ARM] Fix iop13xx build error
CC      arch/arm/mach-iop13xx/setup.o
arch/arm/mach-iop13xx/setup.c: In function 'iq8134x_probe_flash_size':
arch/arm/mach-iop13xx/setup.c:210: warning: implicit declaration of function 'ioremap'
arch/arm/mach-iop13xx/setup.c:210: warning: initialization makes pointer from integer without a cast
arch/arm/mach-iop13xx/setup.c:218: warning: implicit declaration of function 'writew'
arch/arm/mach-iop13xx/setup.c:222: warning: implicit declaration of function 'readb'
arch/arm/mach-iop13xx/setup.c:231: warning: implicit declaration of function 'iounmap'
  LD      .tmp_vmlinux1
arch/arm/mach-iop13xx/built-in.o: In function `iop13xx_platform_init':
iq81340mc.c:(.init.text+0x150): undefined reference to `ioremap'
iq81340mc.c:(.init.text+0x21c): undefined reference to `writew'
iq81340mc.c:(.init.text+0x24c): undefined reference to `writew'
iq81340mc.c:(.init.text+0x254): undefined reference to `iounmap'
iq81340mc.c:(.init.text+0x2c4): undefined reference to `readb'
iq81340mc.c:(.init.text+0x2e8): undefined reference to `readb'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 14:56:51 +00:00
Russell King d608e52c36 [ARM] Fix build error caused by move of apm
CC      arch/arm/common/sharpsl_pm.o
arch/arm/common/sharpsl_pm.c:30:31: error: asm/apm-emulation.h: No such file or directory
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 14:53:28 +00:00
Russell King e80a0e6e7c [ARM] Merge remaining IOP code
Conflicts:
	include/asm-arm/arch-at91rm9200/entry-macro.S

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-20 10:52:43 +00:00
Linus Torvalds 874ff01bd9 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
  Documentation/kernel-docs.txt update.
  arch/cris: typo in KERN_INFO
  Storage class should be before const qualifier
  kernel/printk.c: comment fix
  update I/O sched Kconfig help texts - CFQ is now default, not AS.
  Remove duplicate listing of Cris arch from README
  kbuild: more doc. cleanups
  doc: make doc. for maxcpus= more visible
  drivers/net/eexpress.c: remove duplicate comment
  add a help text for BLK_DEV_GENERIC
  correct a dead URL in the IP_MULTICAST help text
  fix the BAYCOM_SER_HDX help text
  fix SCSI_SCAN_ASYNC help text
  trivial documentation patch for platform.txt
  Fix typos concerning hierarchy
  Fix comment typo "spin_lock_irqrestore".
  Fix misspellings of "agressive".
  drivers/scsi/a100u2w.c: trivial typo patch
  Correct trivial typo in log2.h.
  Remove useless FIND_FIRST_BIT() macro from cardbus.c.
  ...
2007-02-19 13:29:02 -08:00
Linus Torvalds 59b8175c77 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (117 commits)
  [ARM] 4058/2: iop32x: set ->broken_parity_status on n2100 onboard r8169 ports
  [ARM] 4140/1: AACI stability add ac97 timeout and retries
  [ARM] 4139/1: AACI record support
  [ARM] 4138/1: AACI: multiple channel support for IRQ handling
  [ARM] 4211/1: Provide a defconfig for ns9xxx
  [ARM] 4210/1: base for new machine type "NetSilicon NS9360"
  [ARM] 4222/1: S3C2443: Remove reference to missing S3C2443_PM
  [ARM] 4221/1: S3C2443: DMA support
  [ARM] 4220/1: S3C24XX: DMA system initialised from sysdev
  [ARM] 4219/1: S3C2443: DMA source definitions
  [ARM] 4218/1: S3C2412: fix CONFIG_CPU_S3C2412_ONLY wrt to S3C2443
  [ARM] 4217/1: S3C24XX: remove the dma channel show at startup
  [ARM] 4090/2: avoid clash between PXA and SA1111 defines
  [ARM] 4216/1: add .gitignore entries for ARM specific files
  [ARM] 4214/2: S3C2410: Add Armzone QT2410
  [ARM] 4215/1: s3c2410 usb device:  per-platform vbus_draw
  [ARM] 4213/1: S3C2410 - Update definition of ADCTSC_XY_PST
  [ARM] 4098/1: ARM: rtc_lock only used with rtc_cmos
  [ARM] 4137/1: Add kexec support
  [ARM] 4201/1: SMP barriers pair needed for the secondary boot process
  ...

Fix up conflict due to typedef removal in sound/arm/aaci.h
2007-02-19 13:18:39 -08:00
Russell King 3b0eb4a195 Merge the easy part of the IOP branch 2007-02-18 11:31:14 +00:00
Russell King 8213084125 Merge NetSilicon NS93xx tree
Fixed conflicts:

	arch/arm/Makefile
	arch/arm/mm/Kconfig

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-18 11:27:07 +00:00
Lennert Buytenhek 66822b2eef [ARM] 4058/2: iop32x: set ->broken_parity_status on n2100 onboard r8169 ports
On the n2100, both onboard r8169 ports exhibit PCI parity problems.
Set the ->broken_parity_status flag for both ports so that the r8169
drivers knows it should ignore error interrupts.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-18 10:59:51 +00:00
Russell King f69eda00d4 Merge AT91, EP93xx, General devel, PXA, S3C, V6+ and Xscale trees 2007-02-17 20:09:53 +00:00
Uwe Kleine-König b77bfa84c4 [ARM] 4211/1: Provide a defconfig for ns9xxx
This is a follow up for the patch providing the base support for the
ns9xxx machine type.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 20:05:48 +00:00
Uwe Kleine-König 9918cda523 [ARM] 4210/1: base for new machine type "NetSilicon NS9360"
Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 20:05:45 +00:00
Ben Dooks 78c2644fec [ARM] 4222/1: S3C2443: Remove reference to missing S3C2443_PM
S3C2443_PM is not defined in our Kconfig, so
remove the reference from CPU_S3C2443 to stop
the configuration process warning about it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 20:04:17 +00:00
Robert P. J. Day 6340aa61b1 kbuild: Replace remaining "depends" with "depends on"
Replace the very few remaining "depends" Kconfig directives with
"depends on".

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-17 19:05:24 +01:00
Dan Williams 3668b45d46 [ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xx
* architecture specific details are handled in asm/arch/time.h
* ARCH_IOP13XX now selects PLAT_IOP
* as suggested by Lennert use ifdef CONFIG_XSCALE to skip the cp_wait on
XSC3

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:05:40 +00:00
Dan Williams 4434c5c7fd [ARM] 4186/1: iop: remove cp6_enable/disable routines
This functionality is replaced by cp6_trap

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:04:53 +00:00
Dan Williams f80dff9da0 [ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
get_irqnr_preamble allows machines to take some action before entering the
get_irqnr_and_base loop.  On iop we enable cp6 access.

arch_ret_to_user is added to the userspace return path to allow individual
architectures to take actions, like disabling coprocessor access, before
the final return to userspace.

Per Nicolas Pitre's note, there is no need to cp_wait on the return to user
as the latency to return is sufficient.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:04:29 +00:00
Ben Dooks f8271e5756 [ARM] 4221/1: S3C2443: DMA support
Add initialisation and mappings for S3C2443 DMA
system

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:00:35 +00:00
Ben Dooks 48adbcf33b [ARM] 4220/1: S3C24XX: DMA system initialised from sysdev
This patch gets the DMA system for the S3C24XX
ready for the S3C2443, which requires 6 dma channels
at a different stride, and different base IRQ.

The DMA system is now initialised from the same
drivers which apply the DMA mappings, as well
as removing the DMA sysdev intialisation out of
the main init code (which is now being called
from a sysdev probe, so cannot add a new sysdev)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:00:34 +00:00
Ben Dooks 64f33beafb [ARM] 4218/1: S3C2412: fix CONFIG_CPU_S3C2412_ONLY wrt to S3C2443
Update the Kconfig of arch/arm/mach-s3c2443 to
add the CONFIG_CPU_S3C2443 to the list of config
variabls which mean CONFIG_CPU_S3C2412_ONLY cannot
be set

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:00:31 +00:00
Ben Dooks 3d9dd6bdbd [ARM] 4217/1: S3C24XX: remove the dma channel show at startup
Remove the DMA code's channel printing at startup
as this is firstly a waste of console output on
initialsaion, and secondly is going to be obsolete
once the S3C2443 DMA code has been merged

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 15:00:30 +00:00
Nicolas Pitre ca83b0bcf8 [ARM] 4216/1: add .gitignore entries for ARM specific files
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 11:26:41 +00:00
Ben Dooks c6184e271d [ARM] 4214/2: S3C2410: Add Armzone QT2410
Patch from: Harald Welte <laforge@openmoko.org>

Add support for the Armzone QT2410 system, with
basic peripheral support for TFT display, SPI
and LEDs.

Signed-off-by: Harald Welte <laforge@openmoko.org>
Signed-off-by: Ben Dooks <ben-linux@fluf.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-17 11:17:42 +00:00
David Brownell 9dd34948aa [ARM] 4098/1: ARM: rtc_lock only used with rtc_cmos
Fix build glitches on ARM ... the only user of "rtc_lock" today is the
optional PC-style "CMOS" RTC driver, the legacy SA1100 RTC driver is
not even in the tree any more.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 19:17:44 +00:00
Ingo Molnar d7e25f3394 [PATCH] genirq: remove IRQ_DISABLED
Now that disable_irq() defaults to delayed-disable semantics, the IRQ_DISABLED
flag is not needed anymore.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-16 08:14:00 -08:00
Thomas Gleixner c66699a749 [PATCH] clocksource: fixup is_continous changes on ARM
Fixup the is_contionous replacement by a flag field.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-16 08:13:57 -08:00
Richard Purdie c587e4a6a4 [ARM] 4137/1: Add kexec support
Add kexec support to ARM.

Improvements like commandline handling could be made but this patch gives
basic functional support. It uses the next available syscall number, 347.

Once the syscall number is known, userspace support will be
finalised/submitted to kexec-tools, various patches already exist.

Originally based on a patch by Maxim Syrchin but updated and forward
ported by various people.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 14:37:06 +00:00
Catalin Marinas 0e0ba76926 [ARM] 4201/1: SMP barriers pair needed for the secondary boot process
In some situations, the pen_release store in platform_secondary_init()
may stay forever in the write buffer while the CPU is waiting on the
boot_lock to be released in boot_secondary(). The primary CPU could
never see the pen_release update without the barriers.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 13:06:56 +00:00
Jan Altenberg dd1d2f4439 [ARM] at91: correct value for AT91_RSTC_KEY
- Remove a duplicated define for AT91_RSTC_KEY
- Set AT91_RSTC_KEY to the correct value
- Replace the hardcoded keys in at91sam9620.c and at91sam9261.c
  by AT91_RSTC_KEY

Signed-off-by: Jan Altenberg <jan@linutronix.de>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 13:06:01 +00:00
David Brownell f1e1398654 [ARM] 4207/1: defconfig fixes, use RTC_DRV_AT91RM9200
When "rtc-at91" was renamed to "rtc-at91rm9200" not all the relevant
defconfig entries were updated.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 13:03:56 +00:00
George G. Davis cb36bb7516 [ARM] 4191/1: Remove redundant __flush_dcache_page() function prototype
Commit 1c9d3df5e8 added function prototype
__flush_dcache_page() in include/asm-arm/cacheflush.h.  So we can remove
the prototype for same in arch/arm/mm/fault-armv.c since it is now
redundant to have it there.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 12:57:55 +00:00
Ben Dooks 72262e8b19 [ARM] 4202/2: S3C2443: IRQ sub source handlers
Add IRQ handlers for the IRQs which originate
from the sub-interrupt register on the S3C2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 12:08:00 +00:00
Ben Dooks 90bc8566fb [ARM] 4209/1: S3C24XX: remove unnecessary includes of iomd.h
Machines in the S3C24XX architectures should not
be including <asm/hardware/iomd.h> as this is not
needed.

Also remove commented out includes

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:55:43 +00:00
Ben Dooks a930609496 [ARM] 4206/1: SMDK2440: Fix lcd type in platform data
Set the LCD display type field in the platform data
so that the LCD driver initialise the display as an
TFT display

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:40:52 +00:00
Ben Dooks b4f14eb86c [ARM] 4205/1: S3C2443: Add cpu specific reset hook
Hook in a cpu specific reset function for the S3C2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:40:51 +00:00
Ben Dooks d9c0ebbda5 [ARM] 4203/1: S3C2443: use S3C2412 nand driver
Use the S3C2412 nand driver for the S3C2443 as it
is register compatible.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:40:49 +00:00
Ben Dooks 5ea22225e2 [ARM] 4200/1: S3C2443: Update s3c2410_defconfig to add SMDK2443
Add SMDK2443 to s3c2410_defconfig

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:30:21 +00:00
Ben Dooks 285f4930f2 [ARM] 4199/1: S3C2443: SMDK2443 machine addition
Add support for SMDK2443 to arch/arm/mach-s3c2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:30:20 +00:00
Ben Dooks e4d06e3953 [ARM] 4198/2: S3C2443: arch/arm/mach-s3c2443 and related support
Add arch/arm/mach-s3c2443 for support of the Samsung S3C2443 SoC

This patch adds the core CPU support, clock framework, times
and initial IRQ support, as well as adding the directory into
the build tree.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-16 11:13:37 +00:00
Andrew Victor f7eee89b2a [ARM] 4192/1: AT91: Support for AT91SAM9XE processors.
Add support for the Atmel AT91SAM9XE range of processors.  These are
basically AT91SAM9260's with different amounts of internal SRAM and
Flash.

We make use of the existing AT91SAM9260 support, but just perform
run-time detection of the size of the internal SRAM.

Original patch from Nicolas Ferre.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-15 15:33:31 +00:00
Catalin Marinas 7770bddb27 [ARM] 4130/1: Add L220 support to RealView/EB
This patch enables the L220 on the RealView/EB MPCore platform.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-15 15:08:54 +00:00
Russell King 4ba9dcbeba Merge Realview GIC code 2007-02-15 15:07:40 +00:00
Catalin Marinas 4b17244c13 [ARM] 4109/2: Add support for the RealView/EB MPCore revC platform
The kernel originally supported revB only. This patch enables revC by
default and adds a config option for building the kernel for the revB
platform. Since the SCU base address was hard-coded in the proc-v6.S
file (and only valid for RealView/EB revB), this patch also adds a
more generic support for defining the SCU information.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-15 14:56:32 +00:00
Catalin Marinas 3edf22ab34 [ARM] 4190/2: Add the secondary GIC support for the RealView/EB
MPCore platform

This patch adds the registration of the secondary GIC on the
baseboard, together with the IRQ chaining setup.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-15 14:51:21 +00:00
Catalin Marinas b3a1bde4db [ARM] 4108/2: Allow multiple GIC interrupt controllers in a system
The current implementation only assumes one GIC to be present in the
system. However, there are platforms with more than one cascaded interrupt
controllers (RealView/EB MPCore for example).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-15 14:44:10 +00:00
Eric W. Biederman 0b4d414714 [PATCH] sysctl: remove insert_at_head from register_sysctl
The semantic effect of insert_at_head is that it would allow new registered
sysctl entries to override existing sysctl entries of the same name.  Which is
pain for caching and the proc interface never implemented.

I have done an audit and discovered that none of the current users of
register_sysctl care as (excpet for directories) they do not register
duplicate sysctl entries.

So this patch simply removes the support for overriding existing entries in
the sys_sysctl interface since no one uses it or cares and it makes future
enhancments harder.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Corey Minyard <minyard@acm.org>
Cc: Neil Brown <neilb@suse.de>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Jan Kara <jack@ucw.cz>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Cc: David Chinner <dgc@sgi.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:59 -08:00
Andrew Victor 69b2e99cf5 [ARM] 4189/1: AT91: MACB Ethernet clock
The MACB Ethernet driver searches for a "macb_clk" clock, so rename the
"ether_clk" on the SAM9260 and SAM9263 to "macb_clk".

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:22:09 +00:00
Dan Williams 588ef76935 [ARM] 4184/1: iop: cp6 access handler (undef_hook)
Enable svc access to cp6 via an undefined instruction hook.  Do not enable
access for usr code.

This patch also makes iop13xx select PLAT_IOP, this requires a small change
to drivers/i2c/busses/i2c-iop3xx.c.

Per Lennert Buytenhek's note, the cp6 trap routine is moved to arch/arm/plat-iop
Per Nicolas Pitre's note, the cp_wait is skipped since the latency to
return to the faulting function is longer than cp_wait.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:21:24 +00:00
Dan Williams dfc544c721 [ARM] 4183/1: do_undefinstr: read svc undefined instructions with svc privileges
do_undefinstr currently does not expect undefined instructions in kernel
code, since it always uses get_user() to read the instruction.

Dereference the 'pc' pointer directly in the SVC case.

Per Nicolas Pitre's note, kernel code is never in thumb mode.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:21:22 +00:00
Dan Williams 6df26700c0 [ARM] 4182/1: iop3xx: fix the ioremap implementation to not remap static ranges
Implement a custom ioremap implementation for iop3xx. This saves
establishing new mappings. It also cleans up the PCI IO resource to be a
physical address rather than a virtual address as Russell pointed out on
the original iop13xx port.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:21:21 +00:00
Ben Dooks 5ac602b2ea [ARM] 4188/1: S3C24XX: add CRAMFS to s3c2410_defconfig
Add cramfs support in by default, as a lot of
our initrds are cramfs images.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:32 +00:00
Ben Dooks bd65c82b9e [ARM] 4179/1: S3C2440: DMA ordering list
Add DMA ordering list for S3C2440

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:26 +00:00
Ben Dooks dad8d6c50e [ARM] 4178/1: S3C2410: DMA ordering list
Add DMA ordering list for S3C2410

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:25 +00:00
Ben Dooks 0c6022d453 [ARM] 4177/1: S3C24XX: Add DMA channel allocation order
Allow the CPU code, and any board specific initialisation
code to change the allocation order of the DMA channels,
or stop a peripheral allocating any DMA at-all.

This is due to the scarce mapping of DMA channels on
some earlier S3C24XX cpus, where the selection changes
depending on the channel in use.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:22 +00:00
Arnaud Patard d2a76020e3 [ARM] 4176/1: H1940 leds
H1940 leds device addition.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:20 +00:00
Ben Dooks ecd1b171a7 [ARM] 4175/1: SMDK2413: add udc pull-up control
USB gadget pull-up control and device addition
for the SMDK2413/SMDK2412 board.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:17 +00:00
Arnaud Patard 71a9c42412 [ARM] 4174/1: H1940 usb device definitions
This patch is adding the usb device controller to the h1940 device
list. It's also adding the code to handle the usb pull-ups.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:15 +00:00
Arnaud Patard 0dcfc328cc [ARM] 4173/1: S3C24XX usb device platform datas
This patch is adding the functions and structures used for handling the
S3C24XX udc driver platform datas.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-14 15:04:13 +00:00
Matt Reimer 07b04595e3 [ARM] 4170/1: S3C2410: don't save and restore cp register 15
Don't save and restore cp register 15 since it is only a test register on S3C2410. This is probably a leftover from the PXA sleep.S from which this was derived.

Supersedes patch 4167.

Signed-off-by: Matt Reimer <mreimer@vpop.net>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 20:58:07 +00:00
Matt Reimer 4b210faf09 [ARM] 4169/1: S3C2410: align to a cache line
Align the code to the start of the next cache line, rather than the start of the next 256-byte page.

(On i386 and ARM, the ".align" assembler directive takes its first argument as the number of low-order bits that must be zero, not the number of words comprising a cache line.)

Supercedes patch 4166.

Signed-off-by: Matt Reimer <mreimer@vpop.net>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 20:58:06 +00:00
Ben Dooks 6fb9c4f870 [ARM] 4164/1: S3C2412: Add SMDK2412 to SMDK2413
Our current support for the SMDK2413 is the same
as the SMDK2412 (which is very similar), so add
SMDK2412 to the list of machines that mach-smdk2413.c
supports

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 19:27:24 +00:00
Ben Dooks 6db3eee422 [ARM] 4163/1: S3C2410: minor typo in init comment
Fix a reference to s3c2440 in the s3c2410 cpu file

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 19:27:22 +00:00
Arjan van de Ven 5dfe4c964a [PATCH] mark struct file_operations const 2
Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

[akpm@osdl.org: sparc64 fix]
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:44 -08:00
Alon Bar-Lev cd81899a7d [PATCH] Dynamic kernel command-line: arm
1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:37 -08:00
David Brownell a31c4eea21 [PATCH] AT91 GPIO wrappers
This is a first cut at making the AT91 code use the generic GPIO calls.

Note that the original AT91 GPIO calls merged the "mux pin as GPIO" and "set
GPIO direction" functionality into one API call, contrary to what's specified
as a cross-platform portable model.  So this involved a few non-inlinable
functions.

[akpm@osdl.org: cleanups]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 09:48:34 -08:00
Ben Dooks 72922bac10 [ARM] 4162/1: S3C24XX: update defconfig_s3c2410 after move
Update the s3c2410_defconfig after the movement of
arch/arm/mach-s3c2410

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 14:05:53 +00:00
Russell King 017cc022b6 [ARM] Convert dmabounce statistics to use a device attribute
Rather than printk'ing the dmabounce statistics occasionally to
the kernel log, provide a sysfs file to allow this information
to be periodically read.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 10:53:50 +00:00
Russell King ab2c21529d [ARM] Add a reference from struct device to the dma bounce info
dmabounce keeps a per-device structure, and finds the correct
structure by walking a list.  Since architectures can now add
fields to struct device, we can attach this structure direct to
the struct device, thereby eliminating the code to search the
list.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-12 10:28:24 +00:00
Ben Dooks b887060532 [ARM] 4161/1: S3C24XX: fix leakage of plat-s3c24xx Kconfig items
Do not export S3C24XX from plat-s3c24xx on non-s3c24xx systems

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 19:37:03 +00:00
Al Viro 5ea8176994 [PATCH] sort the devres mess out
* Split the implementation-agnostic stuff in separate files.
* Make sure that targets using non-default request_irq() pull
  kernel/irq/devres.o
* Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;
  allow architectures to turn them off (we needed these symbols anyway for
  dependencies of quite a few drivers).
* protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 11:18:07 -08:00
Alexey Dobriyan b035b6de24 [PATCH] Consolidate default sched_clock()
Use attribute(weak).

Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:28 -08:00
Jean-Paul Saman 67d38229df [PATCH] disable init/initramfs.c: architectures
Update all arch/*/kernel/vmlinux.lds.S to not include space for initramfs
when CONFIG_BLK_DEV_INITRAMFS is not selected.  This saves another 4 kbytes
on most platfoms (some reserve PAGE_SIZE for initramfs).

Signed-off-by: Jean-Paul Saman <jean-paul.saman@nxp.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:25 -08:00
Christoph Lameter 5ac6da669e [PATCH] Set CONFIG_ZONE_DMA for arches with GENERIC_ISA_DMA
As Andi pointed out: CONFIG_GENERIC_ISA_DMA only disables the ISA DMA
channel management.  Other functionality may still expect GFP_DMA to
provide memory below 16M.  So we need to make sure that CONFIG_ZONE_DMA is
set independent of CONFIG_GENERIC_ISA_DMA.  Undo the modifications to
mm/Kconfig where we made ZONE_DMA dependent on GENERIC_ISA_DMA and set
theses explicitly in each arches Kconfig.

Reviews must occur for each arch in order to determine if ZONE_DMA can be
switched off.  It can only be switched off if we know that all devices
supported by a platform are capable of performing DMA transfers to all of
memory (Some arches already support this: uml, avr32, sh sh64, parisc and
IA64/Altix).

In order to switch ZONE_DMA off conditionally, one would have to establish
a scheme by which one can assure that no drivers are enabled that are only
capable of doing I/O to a part of memory, or one needs to provide an
alternate means of performing an allocation from a specific range of memory
(like provided by alloc_pages_range()) and insure that all drivers use that
call.  In that case the arches alloc_dma_coherent() may need to be modified
to call alloc_pages_range() instead of relying on GFP_DMA.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:19 -08:00
Ben Dooks 90ac7648e0 [ARM] 4160/1: S3C24XX: defconfig update for 2.6.20
Update defconfig for the 2.6.20 release, and ensure that the
AML5900 machine is built.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 18:19:04 +00:00
Ben Dooks 1b8fc1880c [ARM] 4159/1: S3C2410: fix compile of arch/arm/mach-s3c2410/mach-aml5900.c
Fix compile of arch/arm/mach-s3c2410/mach-aml5900.c due to missing
fixes that have been applied to the rest of the tree.

Include <linux/serial_core.h> to provide the upf_t type needed for
the serial code, and remove the old static map of the SPI which is
not needed for the new spi drivers.

mach-amlm5900.c:51: include/asm/arch/regs-serial.h:200: error: parse error befo
re "upf_t"
mach-amlm5900.c:117: error: 'S3C24XX_VA_SPI' undeclared here (not in a function)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 18:19:01 +00:00
Ben Dooks a21765a70e [ARM] 4157/2: S3C24XX: move arch/arch/mach-s3c2410 into cpu components
The following patch and script moves the arch/arm/mach-s3c2410
directory into arch/arm/plat-s3c24xx for the generic core code
and inti arch/arm/mach-s3c{cpu} for the cpu/machine support files

Include directory include/asm-arm/plat-s3c24xx is added for the
core include files.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 17:36:09 +00:00
Imre_Deak 44b1869390 [ARM] 4158/1: Fix user page protection macros
The PAGE_* user page protection macros don't take into account the
configured memory policy and other architecture specific bits like
the global/ASID and shared mapping bits. Instead of constants let
these depend on a variable fixed up at init just like PAGE_KERNEL.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 17:06:17 +00:00
Ben Dooks d19494b187 [ARM] 4156/1: S3C24XX: Add CONFIG_S3C2410_GPIO
In preperation for splitting the arch-s3c2410 directory
up, add a CONFIG_S3C2410_GPIO instead of implicitly
making the .o for CONFIG_CPU_S3C2410 and CONFIG_CPU_S3C2440

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 16:54:33 +00:00
Ben Dooks 4c784ef76a [ARM] 4155/1: S3C24XX: remove obj-dma-* from Makefile
In preperation for splitting the arch-s3c2410 directory
up, remove the use of obj-dma-y in the Makefile and move
to using CONFIG_S3C2440_DMA, CONFIG_S3C2412_DMA, etc.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 16:54:32 +00:00
Catalin Marinas 382266ad5a [ARM] 4135/1: Add support for the L210/L220 cache controllers
This patch adds the support for the L210/L220 (outer) cache
controller. The cache range operations are done by index/way since L2
cache controller only accepts physical addresses.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 16:48:02 +00:00
Ahmed S. Darwish eeea82ff4a [ARM] Use ARRAY_SIZE macro when appropriate
Use ARRAY_SIZE macro already defined in linux/kernel.h

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-11 16:46:30 +00:00
Ralf Baechle 75e7153abd [APM] ARM: Convert to use shared APM emulation.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-02-09 17:08:58 +00:00
Andrew Victor c9b75d1322 [ARM] 4154/1: AT91: Clock update
Unconditionally disabling the PCKs (Programmable Clocks) is not a good
idea as it breaks boards that depend on those clocks being enabled by
bootloaders.
Therefore only disable unused clocks late in the init process, giving
the board init code the chance to claim the clock.

Patch from Steven Scholz.

Since the HCK clocks on SAM9261 are already being registered as a
independent clocks, we don't need the special case for HCK0 on the
SAM9261.  Platform-init code and drivers should use the clock API to
enable/disable the clock.

Patch from Nicolas Ferre.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 20:47:33 +00:00
Russell King f2131d348f [ARM] Always mark ARMv6 PTWs outer cacheable
Other platforms other than SMP may have an outer cache.  For these, we
also need to mark the page table walks outer cacheable.  Since marking
the walks always outer cacheable apparantly has no side effects, we
might as well always mark them so.

However, we continue to only mark PTWs shared if we have SMP enabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 20:46:20 +00:00
Lennert Buytenhek 3e1a80f11f [ARM] 4153/1: fix consistent_sync() off-by-one BUG check
In consistent_sync(), start + size can end up pointing one byte
beyond the end of the direct RAM mapping.  We shouldn't BUG() when
this happens.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 15:29:00 +00:00
Lennert Buytenhek 271f5ca638 [ARM] 4142/1: ep93xx: handle IRQT_NOEDGE
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:56:06 +00:00
Andrew Victor da11d02c1d [ARM] 4150/1: AT91: LED update
The GPIO pin setup should be handed by the platform-setup code, and not
directly by the driver.

Original patch from David Brownell.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:30 +00:00
Andrew Victor 3392b309db [ARM] 4149/1: AT91: Overrun in SAM9 gettimeoffset().
Fix an overrun in the AT91SAM9 gettimeoffset() function.  This causes
the time value returned by gettimeofday() to jump "backwards".

Original patch from Michel Benoit.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:29 +00:00
Andrew Victor 127a7ec69c [ARM] 4148/1: AT91: Physically mapped flash on CSB337 and CSB637 boards.
Define the physically mapped flash on the Cogent CSB337 and CSB637
boards.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:28 +00:00
Andrew Victor c177a1e75a [ARM] 4147/1: AT91: Define Timer/Counter clocks.
Define the Timer/Counter Unit clocks on the AT91RM9200, AT91SAM9260 and
AT91SAM9261 processors.

Original patch from David Brownell.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:27 +00:00
Andrew Victor e6d92e6397 [ARM] 4146/1: AT91: Support for AT91SAM9263-EK board.
Add support for the Atmel AT91SAM9263-EK board.

Original patch from Nicolas Ferre.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:25 +00:00
Andrew Victor b2c6561605 [ARM] 4145/2: AT91: Add support for AT91SAM9263 processor
Add support for the Atmel AT91SAM9263 processor.  It is similar to the
AT91SAM9260 but with more integrated peripherals, 5 GPIO banks, etc.

Original patch from Nicolas Ferre.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:24 +00:00
Andrew Victor d0760b3bc8 [ARM] 4143/1: AT91: Prepare for AT91SAM9263 support
The Atmel AT91SAM9263 processor includes many more integrated
peripherals than Atmel's previous ARM9-based AT91 processors, so this
has necessitated a few changes to the core AT91 support.

These changes are:
      * The system peripheral I/O region we remap has increased from
        0xFFFA0000..0xFFFFFFFF to 0xFFF78000..0xFFFFFFFF.
      * The increased I/O region forces changes to entry-macro.S and
        debug-macro.S due to ARM's limited immediate offset addressing
        modes.
      * Maximum number of GPIO banks increases to 5.
      * 2 MMC controllers so the board-setup code needs to specify which
        controller it wishes to use when calling at91_add_device_mmc().

Original patch from Nicolas Ferre.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:55:22 +00:00
Andrew Victor 9d0412680e [ARM] 4124/1: Rename mach-at91rm9200 and arch-at91rm9200 directories
Now that Linux includes support for the Atmel AT91SAM9260 and
AT91SAM9261 processors in addition to the original Atmel AT91RM9200
(with support for more AT91 processors pending), the "mach-at91rm9200"
and "arch-at91rm9200" directories should be renamed to indicate their
more generic nature.

The following git commands should be run BEFORE applying this patch:
  git-mv arch/arm/mach-at91rm9200 arch/arm/mach-at91
  git-mv include/asm-arm/arch-at91rm9200 include/asm-arm/arch-at91

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:50:56 +00:00
Andrew Victor a93d48cc60 [ARM] 4119/1: AT91: Fix build of AT91SAM9260
Fix build failure of AT91SAM9260.

The AT91RM9200 ethernet driver (at91_ether.c) stores platform data in a
"struct at91_eth_data" structure, but the AT91SAM9260 (and AT91SAM9263)
ethernet driver (macb.c) [developed on the AVR32 architecture] expects a
"struct eth_platform_data".

Since the platform data of the two drivers is very similar, we continue
to use the "struct at91_eth_data" for all AT91 processors but add a
    #define eth_platform_data      at91_eth_data
in board.h to keep the MACB driver happy.

Original patch by Jan Altenberg.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:50:53 +00:00
Russell King 7ae5a761d2 [ARM] Convert DMA cache handling to take const void * args
The DMA cache handling functions take virtual addresses, but in the
form of unsigned long arguments.  This leads to a little confusion
about what exactly they take.  So, convert them to take const void *
instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:49:44 +00:00
Catalin Marinas 953233dc99 [ARM] 4134/1: Add generic support for outer caches
The outer cache can be L2 as on RealView/EB MPCore platform or even L3
or further on ARMv7 cores. This patch adds the generic support for
flushing the outer cache in the DMA operations.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:49:40 +00:00
Russell King 7f8e33546d [ARM] Don't call consistent_sync() for DMA coherent memory
Memory allocated by the coherent memory allocators will be marked
uncacheable, which means it's pointless calling consistent_sync()
to perform cache maintainence on this memory; it's just a waste of
CPU cycles.

Moreover, with the (subsequent) merge of outer cache support, it
actually breaks things to call consistent_sync() on anything but
direct-mapped memory.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:49:37 +00:00
Catalin Marinas e6a5d66f58 [ARM] 4129/1: Add barriers after the TLB operations
The architecture specification states that TLB operations are
guaranteed to be complete only after the execution of a DSB (Data
Synchronisation Barrier, former Data Write Barrier or Drain Write
Buffer). The branch target cache invalidation is also needed. The ISB
(Instruction Synchronisation Barrier, formerly Prefetch Flush) is
needed unless there will be a return from exception before the
corresponding mapping is used (i.e. user mappings).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:49:27 +00:00
Catalin Marinas 9d99df4b10 [ARM] 4128/1: Architecture compliant TTBR changing sequence
On newer architectures (ARMv6, ARMv7), the depth of the prefetch and
branch prediction is implementation defined and there is a small risk
of wrong ASID tagging when changing TTBR0 before setting the new
context id. The recommended solution is to set a reserved ASID during
TTBR changing. This patch reserves ASID 0.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:49:24 +00:00
Lennert Buytenhek 850b42933e [ARM] 4123/1: xsc3: general cleanup
This patch cleans up proc-xsc3:
- Correct a number of typos.
- Fix up indentation in a number of places.
- Change references to the various caches to be more clear about
  whether we're talking about the L1 D, the L1 I or the unified L2
  cache.
- Rename "drain write buffer" to "data write barrier", the official
  name used in the Manzano manual.
- Change the xsc3 cpu name from "XScale-Core3" to "XScale-V3 based
  processor".

Also, since a previously merged patch implements proper support for
using a MAC or iWMMXt coprocessor on xsc3 platforms, we no longer
need to enable access to CP0 on boot.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:48:44 +00:00
Lennert Buytenhek 4932e397be [ARM] 4122/1: ep93xx: add support for GPIO port F interrupts
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:48:19 +00:00
Lennert Buytenhek fac105d05e [ARM] 4121/1: ep93xx: move setting of HWCAP_CRUNCH
Move the setting of HWCAP_CRUNCH to kernel/crunch.c, where it belongs.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:48:13 +00:00
Lennert Buytenhek 51dd249eff [ARM] 4120/1: ep93xx: make clock init an arch_initcall()
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:48:11 +00:00
Nicolas Pitre 45cf5eef4f [ARM] 4136/1: Allow PXA2xx's clock source to be used
Commit c80204e5d6 apparently missed this.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:47:00 +00:00
Guennadi Liakhovetski a7b4e5506d [ARM] 4144/1: Fix for patch #4099/1 with CONFIG_I2C_PXA_SLAVE set
Switch the i2c-pxa driver to actually using the platform device information and let it handle the power i2c bus on pxa27x too. Original version of this patch didn't compile with CONFIG_I2C_PXA_SLAVE set.

Signed-off-by: G. Liakhovetski <gl@dsa-ac.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-08 14:46:36 +00:00
Russell King ae0a846e41 [ARM] Move processor_modes[] to .../process.c
bad_mode() currently prints the mode which caused the exception, and
then causes an oops dump to be printed which again displays this
information (since the CPSR in the struct pt_regs is correct.)  This
leads to processor_modes[] being shared between traps.c and process.c
with a local declaration of it.

We can clean this up by moving processor_modes[] to process.c and
removing the duplication, resulting in processor_modes[] becoming
static.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:48 +00:00
Manfred Gruber d941caa253 [ARM] 4047/1: Add initial board support for Contec Hypercontrol Micro9 boards.
Contec Micro9 (H/M/L) boards based on Cirrus Logic ep93xx (ep9315/ep9307/ep9302).

Signed-off-by: Manfred Gruber <m.gruber@tirol.com>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:47 +00:00
Michael-Luke Jones 946acb1c70 [ARM] 4032/1: Add platform resources required for CF driver
This patch adds the platform resources required to support the
ixp4xx-pata-cf libata driver on Avila Gateworks boards.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:46 +00:00
Michael-Luke Jones 0f18597195 [ARM] 4033/1: Add separate Avila board setup code
This patch adds support for the Gateworks Avila Network Platform in
a separate set of setup files to the IXDP425. This is necessary now
that a driver for the Avila CF card slot is available. It also adds
support for a minor variant on the Avila board known as the Loft,
which has a different number of maximum PCI devices.

Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:46 +00:00
Michael-Luke Jones 6e98a2f88e [ARM] 4031/1: Remove references to the Avila in ixdp425 setup code
This patch removes references to the Gateworks Avila Network
Platform in the ixdp425 setup code. Avila setup should occur
separately now that a CF ATA device driver is available.

Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:46 +00:00
Russell King 10c03f6968 [ARM] oprofile: add ARM11 SMP support
Add the glue for ARM11 SMP oprofile support, which also supports the
performance monitor in the coherency unit.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:45 +00:00
Russell King 2d9e1ae06d [ARM] oprofile: add ARM11 UP support
Add oprofile glue for ARM11 (ARMv6) oprofile support.  This
connects the ARM11 core profiling support to the oprofile code
for uniprocessor configurations.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:44 +00:00
Russell King c265a762aa [ARM] oprofile: add ARM11 core support
Add basic support for the ARM11 profiling hardware.  This is shared
between the ARM11 UP and ARM11 SMP oprofile support code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-02-06 16:46:44 +00:00
Ben Dooks b9d1902cd2 [ARM] 4117/1: S3C2412: Fix writel() usage in selection code
The S3C2412 DMA selection code has the
arguments to writel() the wrong way around.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-29 10:09:17 +00:00
Catalin Marinas c642846489 [ARM] 4111/1: Allow VFP to work with thread migration on SMP
The current lazy saving of the VFP registers is no longer possible
with thread migration on SMP. This patch implements a per-CPU
vfp-state pointer and the saving of the VFP registers at every context
switch. The registers restoring is still performed in a lazy way.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-25 16:35:29 +00:00
Catalin Marinas 412489af76 [ARM] 4112/1: Only ioremap to supersections if DOMAIN_IO is zero
Supersections do not have a field for the domain and it is always
0. This patch prevents the creation of supersections during ioremap
when DOMAIN_IO is not zero (i.e. !defined(CONFIG_IO_36)).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-25 16:35:26 +00:00
Linus Walleij d4e1c889c1 [ARM] 4102/1: Allow for PHYS_OFFSET on any valid 2MiB address
This patchs allows the offset to the first page of
physical memory to be on any 2MB boundary
whereas the previous code could only handle psysical
offset to any 16MB boundary (0xNN000000) or any 1MB
boundary below 0x01000000 (e.g. 0x00N00000). The
problem is a consequence of the orr one-byte syntax,
so we fix this and we can place the first bank of
memory at 0x28e00000. I have also included an explicit
check that disallow compilation when PHYS_OFFSET is
not on a 2MiB boundary. head.S would be the proper place
to have this at since this is the first file that
attempts to use PHYS_OFFSET during compile.

Signed-off-by: Linus Walleij <triad@df.lth.se>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:57 +00:00
Dan Williams 7f215abc69 [ARM] 4100/1: iop3xx: fix cpu mask for iop333
cosmetic fix so iop333 is not reported as ixp46x
iop333 cpuid = 0x69054210

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:57 +00:00
Russell King 87b865776d [ARM] Update mach-types
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:57 +00:00
Russell King 204ecae4e1 [ARM] Fix show_mem() for discontigmem
show_mem() was assuming incorrectly that the mem_map for any
node started at PFN 0.  This is obviously wrong; fix it to
take account of node_start_pfn.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:56 +00:00
Ben Dooks 30f0e0f415 [ARM] 4096/1: S3C24XX: change return code form s3c2410_gpio_getcfg()
The s3c2410_gpio_getcfg() currently returns
a value which is dependant on the GPIO no
passed in. Now we have more generic constants
it is sensible to use those as return codes
so that any function dealing with >1 GPIO
does not need to do it's own number processing.

Since this function is only currently used in
pm.c, it is easy to fixup (and correct pm.c
to use the generic constants)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:56 +00:00
Ben Dooks 6c3c5bb3c6 [ARM] 4095/1: S3C24XX: Fix GPIO set for Bank A
GPIO bank A can only be output or a special
function, and the regs-gpio.h header has
mistakenly got this as input or output.

The mistake is carried on into the gpio.c
s3c2410_gpio_cfgpin() call which will set the
wrong value if S3C2410_GPIO_OUTPUT is passed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:56 +00:00
Pavel Pisa 5225cd8079 [ARM] 4092/1: i.MX/MX1 CPU Frequency scaling latency definition
The transition latency has to be defined and reasonably
small to allow on-demand and conservative governors.
The value has been defined according to manual.
The imx_set_target() protected against seen out of range
requests now.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:56 +00:00
Andrew Victor 3ea163e44c [ARM] 4089/1: AT91: GPIO wake IRQ cleanup
Cleanup of at91 platform level gpio wake and suspend/resume logic.

The GPIO core now delegates wakeups to the parent AIC by refcounting,
and delegates clock management to the clock API.  This makes these
system modules more independent of each other, which is cleaner and will
also help with the AT91SAM9263 (where some GPIO controllers share the
same irq and clock).

Original patch by David Brownell.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:56 +00:00
Andrew Victor e9d10a16ea [ARM] 4087/1: AT91: CPU reset for SAM9x processors
This patch implements CPU and peripheral reset on AT91SAM9260 and
AT91SAM9261.

Original patch from Wojtek Kaniewski.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:55 +00:00
Andrew Victor a14d527306 [ARM] 4086/1: AT91: Whitespace cleanup
A couple of whitespace cleanups, mainly in the AT91 header files.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:55 +00:00
Andrew Victor fb1d50418e [ARM] 4084/1: Remove CONFIG_DEBUG_WAITQ
Remove the legacy CONFIG_DEBUG_WAITQ from the SAM9260-EK and SAM9261-EK
default configuration files.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-24 11:59:53 +00:00
Russell King e97126cd90 [ARM] Provide basic printk_clock() implementation
Current sched_clock() implementations on ARM cause unbootable kernels
with PRINTK_TIME support enabled.  To avoid this, provide a basic
printk_clock() implementation which avoids sched_clock() being called
before the page tables have been set up.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-08 19:50:03 +00:00
Russell King 6020dff092 [ARM] Resolve fuse and direct-IO failures due to missing cache flushes
fuse does not work on ARM due to cache incoherency issues - fuse wants
to use get_user_pages() to copy data from the current process into
kernel space.  However, since this accesses userspace via the kernel
mapping, the kernel mapping can be out of date wrt data written to
userspace.

This can lead to unpredictable behaviour (in the case of fuse) or data
corruption for direct-IO.

This resolves debian bug #402876

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-08 19:49:58 +00:00
Russell King db6ccbb61c [ARM] Fix kernel-mode undefined instruction aborts
If the kernel attempts to execute a CP1 or CP2 instruction and it
aborts, and a FP emulator is not loaded, we try to return as if to
a user context, instead of the proper kernel context.  Since the
fault came from kernel mode, we must use the kernel return paths.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-06 22:53:48 +00:00
Ben Dooks 9ca3f07b86 [ARM] 4070/1: arch/arm/kernel: fix warnings from missing includes
Include <asm/io.h> to fix the warning:

arch/arm/kernel/traps.c:647:6: warning: symbol '__readwrite_bug' was not declared. Should it be static?

Include <linux/mc146818rtc.h> to fix the warning:
arch/arm/kernel/time.c:42:1: warning: symbol 'rtc_lock' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-06 12:37:35 +00:00
Linus Torvalds b06b5a53ad Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4081/1: Add definition for TI Sync Serial Protocol
  [ARM] 4080/1: Fix for the SSCR0_SlotsPerFrm macro
  [ARM] Fix VFP initialisation issue for SMP systems
  [ARM] 4078/1: Fix ARM copypage cache coherency problems
  [ARM] 4077/1: iop13xx: fix __io() macro
  [ARM] 4074/1: Flat loader stack alignment
  [ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h
  [ARM] 4071/1: S3C24XX: Documentation update
  [ARM] 4066/1: correct a comment about PXA's sched_clock range
  [ARM] 4065/1: S3C24XX: dma printk fixes
  [ARM] 4064/1: make pxa_get_cycles() static
  [ARM] 4063/1: ep93xx: fix IRQ_EP93XX_GPIO?MUX numbering
2007-01-02 18:50:57 -08:00
Russell King 8e140362f7 [ARM] Fix VFP initialisation issue for SMP systems
When we install the handlers for context switching, we must enable
VFP on all CPU cores, otherwise undefined (and random) effects
occur.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-01-02 23:40:30 +00:00
Kyungmin Park 463cab3692 [PATCH] ARM: OMAP: fix missing header on apollon board
Fix apollon board compiler error

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-30 10:56:42 -08:00
Kyungmin Park 7f24516240 [PATCH] ARM: OMAP: fix GPMC compiler errors
Fix GPMC compiler errors on OMAP2

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-30 10:56:42 -08:00
Richard Purdie 1c9d3df5e8 [ARM] 4078/1: Fix ARM copypage cache coherency problems
If PG_dcache_dirty is set for a page, we need to flush the source page
before performing any copypage operation using a different virtual address.

This fixes the copypage implementations for XScale, StrongARM and ARMv6.

This patch fixes segmentation faults seen in the dynamic linker under
the usage patterns in glibc 2.4/2.5.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-30 17:05:08 +00:00
Dan Williams b0b1d60a64 [ARM] 4077/1: iop13xx: fix __io() macro
Since iop13xx defines the PCI I/O spaces with physical resource addresses
the __io macro needs to perform the physical to virtual conversion.  I
incorrectly assumed that this would be handled by ioremap, but drivers
(like e1000) directly dereference the address returned from __io.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-30 17:05:08 +00:00
Nicolas Pitre 0c48d314b1 [ARM] 4066/1: correct a comment about PXA's sched_clock range
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-30 17:05:07 +00:00
Arnaud Patard ae2aa9073a [ARM] 4065/1: S3C24XX: dma printk fixes
The commit 505788cccb in linus kernel tree
introduced some printks (for debugging ?) which are flooding the logs on
my h1940. This patch replace them with pr_debug calls.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-30 17:05:07 +00:00
Nicolas Pitre 35108fb9b3 [ARM] 4064/1: make pxa_get_cycles() static
... and fix a comment as well.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-30 17:05:06 +00:00
Ben Dooks 618b20a13e [ARM] 4062/1: S3C24XX: Anubis and Osiris shuld have CONFIG_PM_SIMTEC
Both CONFIG_MACH_OSIRIS and CONFIG_MACH_ANUBIS
should select CONFIG_PM_SIMTEC.

This patch moves the selection of CONFIG_PM_SIMTEC
to the machines that require it, as currently done
with other machines in the S3C2410 architecture.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-19 22:54:53 +00:00
Lennert Buytenhek 2d4ecdf538 [ARM] 4060/1: update several ARM defconfigs
Update the ep93xx, iop13xx, iop32x, iop33x, ixp2000, ixp23xx,
lpd270 and onearm defconfigs to 2.6.20-rc1.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-19 21:04:38 +00:00
Lennert Buytenhek 57fee39f44 [ARM] 4061/1: xsc3: change of maintainer
Deepak Saxena has agreed to hand xsc3 maintainership over to me.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-19 21:04:35 +00:00
Ben Dooks abac08d734 [ARM] 4059/1: VR1000: fix LED3's platform device number
LED 3 should have been registered with the
platform deviceid of 3, instead of 1 (which
was used for LED 1).

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-19 19:48:54 +00:00
Dan Williams 3a2aeda86d [ARM] 4022/1: iop13xx: generic irq fixups
* use irq_chip
* use handle_level_irq

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-19 19:48:53 +00:00
Krzysztof Helt 0f7d667ba3 [ARM] 4015/1: s3c2410 cpu ifdefs
The patch adds ifdefs around per cpu definitions. Otherwise, if
not all cpu types are selected, the kernel does not link.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:15:42 +00:00
Lennert Buytenhek ab9d90db95 [ARM] 4056/1: iop13xx: fix resource.end off-by-one in flash setup
The struct resource 'end' field is inclusive, the iop13xx flash
setup code got this wrong.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:14:58 +00:00
Lennert Buytenhek 6d2e857d02 [ARM] 4055/1: iop13xx: fix phys_io/io_pg_offst for iq81340mc/sc
The phys_io/io_pg_offst machine record variables were being set
to bogus values, causing problems when enabling DEBUG_LL.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:14:56 +00:00
Lennert Buytenhek 99e4a6dda9 [ARM] 4054/1: ep93xx: add HWCAP_CRUNCH
Add HWCAP_CRUNCH so that the dynamic linker knows whether it can
use Crunch-optimised libraries or not.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:14:54 +00:00
Ben Dooks 9bcb533c13 [ARM] 4052/1: S3C24XX: Fix PM in arch/arm/mach-s3c2410/Kconfig
Fix up the CONFIG_PM mixups in arch/arm/mach-s3c2410/Kconfig
causing CONFIG_S3C2410_PM and CONFIG_PM_H1940 to get enabled
permanently.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:14:53 +00:00
Russell King 255d1f8639 [ARM] Fix warnings from asm/system.h
Move adjust_cr() into arch/arm/mm/mmu.c, and move irqflags.h to
a more appropriate place in the header file.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-18 00:12:47 +00:00
Ben Dooks 994adcc36d [ARM] 4051/1: S3C24XX: clean includes in S3C2440 and S3C2442 support
Clean the includes in arch/arm/mach-s3c2410/s3c2440.c
and arch/arm/mach-s3c2410/s3c2442.c which should have
been pruned when these where split and updated.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:38:03 +00:00
Ben Dooks 92211ac71e [ARM] 4050/1: S3C24XX: remove old changelogs in arch/arm/mach-s3c2410
Remove old changelog entries in arch/arm/mach-s3c2410
which should be available from the version control
system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:38:02 +00:00
Ben Dooks b6d1f542e3 [ARM] 4049/1: S3C24XX: fix sparse warning due to upf_t in regs-serial.h
Change the include/asm-arm/arch-s3c2410/regs-serial.h
platform data to use the prorper type (upf_t) for the
uart_flags.

Fix all the other parts of arch/arm/mach-s3c2410 to
include <linux/serial_core.h> and all other uses of
the include file.

mach-rx3715.c:101:18: warning: incorrect type in initializer (different base types)
mach-rx3715.c:101:18:    expected unsigned long [unsigned] uart_flags
mach-rx3715.c:101:18:    got restricted unsigned int [usertype] [force] <noident>

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:38:01 +00:00
Ben Dooks 9162b7dbf5 [ARM] 4048/1: S3C24XX: make s3c2410_pm_resume() static
Remove warning from s3c2410_pm_resume() not being
declared by making it static.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:59 +00:00
Ben Dooks 7ae9e420de [ARM] 4046/1: S3C24XX: fix sparse errors arch/arm/mach-s3c2410
Fix the following sparse errors in arch/arm/mach-s3c2410
by fixing the include paths and making un-exported items
static.

s3c2410-clock.c:206:12: warning: symbol 's3c2410_baseclk_add' was not declared. Should it be static?
s3c2412-clock.c:559:17: warning: symbol 'clks_src' was not declared. Should it be static?
s3c2412-clock.c:622:12: warning: symbol 'clks' was not declared. Should it be static?
s3c2412-clock.c:630:12: warning: symbol 's3c2412_baseclk_add' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:58 +00:00
Ben Dooks 58d19d6ea6 [ARM] 4045/1: S3C24XX: remove old VA for non-shared areas
Remove old (and non-shared) VA addresses from the mappings
in arch/arm/mach-s3c2410/map.h and anywhere they are being
mapped in arch/arm/mach-s3c2410

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:57 +00:00
Ben Dooks 3e940b6a90 [ARM] 4044/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2442-clock.c
Fix sparse errors in arch/arm/mach-s3c2410/s3c2442-clock.c

warning: symbol 'clk_h' shadows an earlier one
warning: symbol 'clk_p' shadows an earlier one
warning: symbol 'clk_upll' shadows an earlier one

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:56 +00:00
Ben Dooks e546e8af46 [ARM] 4043/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2440-clock.c
Fix the sparse errors in arch/arm/mach-s3c2410/s3c2440-clock.c

warning: symbol 'clk_h' shadows an earlier one
warning: symbol 'clk_p' shadows an earlier one
warning: symbol 'clk_upll' shadows an earlier one

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:54 +00:00
Ben Dooks c16f7bd8d4 [ARM] 4040/1: S3C24XX: Fix copyrights in arch/arm/mach-s3c2410
Fix the copyright messages in arch/arm/mach-s3c2410
to actually have `Copyright` in the line.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:37:51 +00:00
Russell King c924aff853 [ARM] Fix BUG()s in ioremap() code
We need to ensure that the area size is page aligned so that
remap_area_pte() doesn't increment the address past the end of
the desired area.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 23:29:57 +00:00
Russell King 5a059f1ac0 [ARM] Add more syscalls
Add:
  sys_unshare
  sys_set_robust_list
  sys_get_robust_list
  sys_splice
  sys_arm_sync_file_range
  sys_tee
  sys_vmsplice
  sys_move_pages
  sys_getcpu

Special note about sys_arm_sync_file_range(), which is implemented as:

asmlinkage long sys_arm_sync_file_range(int fd, unsigned int flags,
                                        loff_t offset, loff_t nbytes)
{
        return sys_sync_file_range(fd, offset, nbytes, flags);
}

We can't export sys_sync_file_range() directly on ARM because the
argument list someone picked does not fit in the available registers.
Would be nice if... there was an arch maintainer review mechanism for
new syscalls before they hit the kernel.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-17 18:23:31 +00:00
Linus Torvalds e05135d155 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c
  [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support
  [ARM] Provide a method to alter the control register
  [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks"
  [ARM] Remove empty fixup function
  [ARM] 4014/1: include drivers/hid/Kconfig
  [ARM] 4013/1: clocksource driver for netx
  [ARM] 4012/1: Clocksource for pxa
  [ARM] Clean up ioremap code
  [ARM] Unuse another Linux PTE bit
  [ARM] Clean up KERNEL_RAM_ADDR
  [ARM] Add sys_*at syscalls
  [ARM] 4004/1: S3C24XX: UDC remove implict addition of VA to regs
  [ARM] Formalise the ARMv6 processor name string
  [ARM] Handle HWCAP_VFP in VFP support code
  [ARM] 4011/1: AT91SAM9260: Fix compilation with NAND driver
  [ARM] 4010/1: AT91SAM9260-EK board: Prepare for MACB Ethernet support
2006-12-13 15:58:32 -08:00
Russell King e9ccb79927 [ARM] Merge AT91 and devel branches
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 22:44:15 +00:00
Kristoffer Ericson 408966b85e [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c
* HP Jornada 720 uses epson 1356 chip for graphics. This chip is compatible with s1d13xxxfb driver.

* HP Jornada 720 uses a Microprocessor Control Unit to talk to various
hardware. We add it as a platform device in jornada720_init()

* We provide pm_suspend() to avoid unresolved symbols in apm.o. We are
unable to truly suspend now, hence the stub.

* Speaker/microphone enabling got removed because it will be placed in the alsa driver.

Signed-off-by: Filip Zyzniewski <(address hidden)>
Signed-off-by: Kristoffer Ericson <(address hidden)>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 22:43:37 +00:00
Pavel Pisa 3c8cd0cce9 [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support
Support to change MX1 CPU frequency at runtime.
Tested on PiKRON's PiMX1 board and seems to be fully
stable up to 200 MHz end even as low as 8 MHz.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 18:36:02 +00:00
Robert P. J. Day 5cbded585d [PATCH] getting rid of all casts of k[cmz]alloc() calls
Run this:

	#!/bin/sh
	for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
	  echo "De-casting $f..."
	  perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
	done

And then go through and reinstate those cases where code is casting pointers
to non-pointers.

And then drop a few hunks which conflicted with outstanding work.

Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Greg KH <greg@kroah.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Paul Fulghum <paulkf@microgate.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Karsten Keil <kkeil@suse.de>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Ian Kent <raven@themaw.net>
Cc: Steven French <sfrench@us.ibm.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:58 -08:00
David Brownell ffd22b8e08 [PATCH] another build fix, header rearrangements (OSK)
Some of the header file rearrangements broke the build for board-osk.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: <tony@atomide.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:46 -08:00
David Brownell 8c1bc04e79 [PATCH] fix more workqueue build breakage (tps65010)
More fixes to build breakage from the work_struct changes ...  this updates
the tps65010 driver.  Plus, fix some dependencies related to the way it's
used on the OMAP OSK: force static linking there, since the resulting
kernel can't link.

NOTE that until the i2c core gets fixed to work without SMBUS_QUICK,
kernels needing this driver must still use "tps65010.force=0,0x48" on the
command line.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:46 -08:00
Russell King 386b0ce25a [ARM] Remove empty fixup function
Empty fixup functions are just a waste of code, and are not
necessary.  Remote them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:48:36 +00:00
Sascha Hauer c2dade5101 [ARM] 4014/1: include drivers/hid/Kconfig
HID drivers are in their own directory now, so we have to
include the Kconfig file for arm.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:37:29 +00:00
Sascha Hauer 1a815aed1e [ARM] 4013/1: clocksource driver for netx
Add a clocksource driver for netx systems

Signed-off-by: Luotao Fu <lfu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:37:27 +00:00
Sascha Hauer c80204e5d6 [ARM] 4012/1: Clocksource for pxa
Add a clocksource driver for pxa2xx systems

Signed-off-by: Luotao Fu <lfu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:37:26 +00:00
Russell King da2c12a279 [ARM] Clean up ioremap code
Since we're keeping the ioremap code, we might as well keep it as
close to the standard kernel as possible.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:35:58 +00:00
Russell King ad1ae2fe7f [ARM] Unuse another Linux PTE bit
L_PTE_ASID is not really required to be stored in every PTE, since we
can identify it via the address passed to set_pte_at().  So, create
set_pte_ext() which takes the address of the PTE to set, the Linux
PTE value, and the additional CPU PTE bits which aren't encoded in
the Linux PTE value.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-13 14:34:43 +00:00
Linus Torvalds 775ba7ad49 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
  Fix inotify maintainers entry
  Fix typo in new debug options.
  Jon needs a new shift key.
  fs: Convert kmalloc() + memset() to kzalloc() in fs/.
  configfs.h: Remove dead macro definitions.
  kconfig: Standardize "depends" -> "depends on" in Kconfig files
  e100: replace kmalloc with kcalloc
  um: replace kmalloc+memset with kzalloc
  fix typo in net/ipv4/ip_fragment.c
  include/linux/compiler.h: reject gcc 3 < gcc 3.2
  Kconfig: fix spelling error in config KALLSYMS help text
  Remove duplicate "have to" in comment
  Fix small typo in drivers/serial/icom.c
  Use consistent casing in help message
  EXT{2,3,4}_FS: remove outdated part of the help text
2006-12-12 18:51:51 -08:00
Robert P. J. Day bef1f40261 kconfig: Standardize "depends" -> "depends on" in Kconfig files
Standardize the miniscule percentage of occurrences of "depends" in
Kconfig files to "depends on", and update kconfig-language.txt to
reflect that.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-12-12 20:04:19 +01:00
Russell King f06b97ffd1 [ARM] Clean up KERNEL_RAM_ADDR
Clean up the KERNEL_RAM_ADDR stuff in arch/arm/kernel/head.S to
make it clearer what's referring to what.  In doing so, remove
the usage of __virt_to_phys(), which is not guaranteed to be
something that the assembler can parse.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-11 22:29:16 +00:00
Russell King 6b65cd7428 i2c: New ARM Versatile/Realview bus driver
Add support for the I2C bus found on the ARM Versatile and Realview
platforms.  The I2C bus has a RTC and optionally some EEPROMs attached.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2006-12-10 21:21:32 +01:00
Vitaly Wool 41561f28e7 i2c: New Philips PNX bus driver
New I2C bus driver for Philips ARM boards (Philips IP3204 I2C IP
block). This I2C controller can be found on (at least) PNX010x,
PNX52xx and PNX4008 Philips boards.

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2006-12-10 21:21:29 +01:00
Russell King bca0b8e75f [ARM] Add sys_*at syscalls
Later glibc requires the *at syscalls.  Add them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-09 16:41:55 +00:00
David Howells f0d1b0b30d [PATCH] LOG2: Implement a general integer log2 facility in the kernel
This facility provides three entry points:

	ilog2()		Log base 2 of unsigned long
	ilog2_u32()	Log base 2 of u32
	ilog2_u64()	Log base 2 of u64

These facilities can either be used inside functions on dynamic data:

	int do_something(long q)
	{
		...;
		y = ilog2(x)
		...;
	}

Or can be used to statically initialise global variables with constant values:

	unsigned n = ilog2(27);

When performing static initialisation, the compiler will report "error:
initializer element is not constant" if asked to take a log of zero or of
something not reducible to a constant.  They treat negative numbers as
unsigned.

When not dealing with a constant, they fall back to using fls() which permits
them to use arch-specific log calculation instructions - such as BSR on
x86/x86_64 or SCAN on FRV - if available.

[akpm@osdl.org: MMC fix]
Signed-off-by: David Howells <dhowells@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Howells <dhowells@redhat.com>
Cc: Wojtek Kaniewski <wojtekka@toxygen.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-08 08:28:51 -08:00
Russell King 94b1e96d9d [ARM] Formalise the ARMv6 processor name string
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-08 16:05:52 +00:00
Russell King efe90d273b [ARM] Handle HWCAP_VFP in VFP support code
Don't set HWCAP_VFP in the processor support file; not only does it
depend on the processor features, but it also depends on the support
code being present.  Therefore, only set it if the support code
detects that we have a VFP coprocessor attached.

Also, move the VFP handling of the coprocessor access register into
the VFP support code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-08 16:05:26 +00:00
Andrew Victor 8df12925a0 [ARM] 4011/1: AT91SAM9260: Fix compilation with NAND driver
Add missing include for NAND device support on AT91SAM9260.

Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net>
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-08 15:42:05 +00:00
Andrew Victor 44853a81ed [ARM] 4010/1: AT91SAM9260-EK board: Prepare for MACB Ethernet support
Add PHY IRQ pin definition for AT91SAM9260-EK board.

Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net>
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-08 15:42:04 +00:00
Linus Torvalds ea14fad0d4 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (76 commits)
  [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked
  [ARM] 4001/1: S3C24XX: shorten reboot time
  [ARM] 3983/2: remove unused argument to __bug()
  [ARM] 4000/1: Osiris: add third serial port in
  [ARM] 3999/1: RX3715: suspend to RAM support
  [ARM] 3998/1: VR1000: LED platform devices
  [ARM] 3995/1: iop13xx: add iop13xx support
  [ARM] 3968/1: iop13xx: add iop13xx_defconfig
  [ARM] Update mach-types
  [ARM] Allow gcc to optimise arm_add_memory a little more
  [ARM] 3991/1: i.MX/MX1 high resolution time source
  [ARM] 3990/1: i.MX/MX1 more precise PLL decode
  [ARM] 3986/1: H1940: suspend to RAM support
  [ARM] 3985/1: ixp4xx clocksource cleanup
  [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2)
  [ARM] 3994/1: ixp23xx: fix handling of pci master aborts
  [ARM] 3981/1: sched_clock for PXA2xx
  [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit
  [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period
  [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter
  ...
2006-12-07 15:40:39 -08:00
Russell King 6705cda24f [ARM] Merge individual ARM sub-trees
Merge:
 Atmel AT91RM9200 and AT91SAM9260 changes
 General ARM developments
 Disconfiguous memory cleanups
 64-bit/32-bit division and sched_clock extension patches
 EP93xx support changes
 IOP support changes

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 23:07:26 +00:00
Ben Dooks d4f3e084ad [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked
Do not bother masking/unmasking the parent IRQ
for the mulitplexed EINT irqs, as masking the
leaf seems to be fine.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 23:02:29 +00:00
Nicolas Pitre 7174d85260 [ARM] 3983/2: remove unused argument to __bug()
It appears that include/asm-arm/bug.h requires include/linux/stddef.h
for the definition of NULL. It seems that stddef.h was always included
indirectly in most cases, and that issue was properly fixed a while ago.

Then commit 5047f09b56 incorrectly reverted
change from commit ff10952a54 (bad dwmw2)
and the problem recently resurfaced.

Because the third argument to __bug() is never used anyway, RMK suggested
getting rid of it entirely instead of readding #include <linux/stddef.h>
which this patch does.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 22:38:09 +00:00
Ben Dooks ca7aa4de81 [ARM] 4000/1: Osiris: add third serial port in
Add the mapping for the third S3C2440 serial
port into the default serial devices for the
Osiris.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 22:37:46 +00:00
Ben Dooks bbf6f2809d [ARM] 3999/1: RX3715: suspend to RAM support
The RX3715 is similar to the H1940 in the way
that suspend to RAM works, so we can use most
of the extant support for the H1940 with only
a few modifictions

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 22:37:44 +00:00
Ben Dooks b2eba6bb44 [ARM] 3998/1: VR1000: LED platform devices
Support for the GPIO attached LEDs on the VR1000

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 22:37:43 +00:00
Dan Williams 285f5fa7e9 [ARM] 3995/1: iop13xx: add iop13xx support
The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a
Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory
controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz
PCI-X interface, a x8 PCI-Express interface, and other peripherals to form
a system-on-a-chip RAID subsystem engine.

The iop342 processor replaces the SAS controller with a second Xscale core
for dual core embedded applications.

The iop341 processor is the single core version of iop342.

This patch supports the two Intel customer reference platforms iq81340mc
for external storage and iq81340sc for direct attach (HBA) development.

The developer's manual is available here:
ftp://download.intel.com/design/iio/docs/31503701.pdf

Changelog:
* removed virtual addresses from resource definitions
* cleaned up some unnecessary #include's

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 17:20:21 +00:00
Dan Williams 4dbda6a50a [ARM] 3968/1: iop13xx: add iop13xx_defconfig
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 17:20:17 +00:00
Russell King c324113f20 [ARM] Update mach-types
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 17:19:58 +00:00
David Brownell db68b189f4 [PATCH] add rtc-omap driver
This creates a new RTC-framework driver for the RTC/calendar module found
in various OMAP1 chips.  (OMAP2 and OMAP3 use external RTCs, like those in
TI's multifunction PM companion chips.) It's been in the Linux-OMAP tree
for several months now, and other trees before that, so it's quite stable.
The most notable issue is that the OMAP IRQ code doesn't yet support the
RTC IRQ as a wakeup event.  Once that's fixed, a patch will be needed.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:40 -08:00
Nigel Cunningham 7dfb71030f [PATCH] Add include/linux/freezer.h and move definitions from sched.h
Move process freezing functions from include/linux/sched.h to freezer.h, so
that modifications to the freezer or the kernel configuration don't require
recompiling just about everything.

[akpm@osdl.org: fix ueagle driver]
Signed-off-by: Nigel Cunningham <nigel@suspend2.net>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:27 -08:00
Christoph Lameter e18b890bb0 [PATCH] slab: remove kmem_cache_t
Replace all uses of kmem_cache_t with struct kmem_cache.

The patch was generated using the following script:

	#!/bin/sh
	#
	# Replace one string by another in all the kernel sources.
	#

	set -e

	for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
		quilt add $file
		sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
		mv /tmp/$$ $file
		quilt refresh
	done

The script was run like this

	sh replace kmem_cache_t "struct kmem_cache"

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:25 -08:00
Peter Zijlstra 6edaf68a87 [PATCH] mm: arch do_page_fault() vs in_atomic()
In light of the recent pagefault and filemap_copy_from_user work I've gone
through all the arch pagefault handlers to make sure the inc_preempt_count()
'feature' works as expected.

Several sections of code (including the new filemap_copy_from_user) rely on
the fact that faults do not take locks under increased preempt count.

arch/x86_64 - good
arch/powerpc - good
arch/cris - fixed
arch/i386 - good
arch/parisc - fixed
arch/sh - good
arch/sparc - good
arch/s390 - good
arch/m68k - fixed
arch/ppc - good
arch/alpha - fixed
arch/mips - good
arch/sparc64 - good
arch/ia64 - good
arch/arm - fixed
arch/um - good
arch/avr32 - good
arch/h8300 - NA
arch/m32r - good
arch/v850 - good
arch/frv - fixed
arch/m68knommu - NA
arch/arm26 - fixed
arch/sh64 - fixed
arch/xtensa - good

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-07 08:39:21 -08:00
Russell King 05f96ef118 [ARM] Allow gcc to optimise arm_add_memory a little more
For some reason, gcc was calculating meminfo.bank[meminfo.nr_banks]
repeatedly.  Use a pointer to it instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:26:16 +00:00
Pavel Pisa 86987d5bf4 [ARM] 3991/1: i.MX/MX1 high resolution time source
Enhanced resolution for time measurement functions.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:24:16 +00:00
Pavel Pisa 5c894cd1c8 [ARM] 3990/1: i.MX/MX1 more precise PLL decode
The future high resolution support inclusion utilizes
imx_decode_pll() in timer base frequency computation.
This use requires more precise computation without
discarding 10 bits by shifting left.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:24:15 +00:00
Ben Dooks 9073341c2b [ARM] 3986/1: H1940: suspend to RAM support
Add support to suspend and resume, using the
H1940's bootloader

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:17:49 +00:00
Kevin Hilman f9a8ca1cab [ARM] 3985/1: ixp4xx clocksource cleanup
Rather than using a device_initcall() for the clocksource initialization, just call the init from the sys_timer init function.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:17:07 +00:00
Lennert Buytenhek 46156e04de [ARM] 3994/1: ixp23xx: fix handling of pci master aborts
The PCI master abort handling issue that affected ixp2000 also
affects ixp23xx.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:16:19 +00:00
Nicolas Pitre 2dc20a51dc [ARM] 3981/1: sched_clock for PXA2xx
Here's a 63-bit implementation of shed_clock() for PXA2xx.  The actual
period depends on the value of CLOCK_TICK_RATE and whether or not
reduced scaling factors were provided for it.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:06:55 +00:00
Nicolas Pitre 752bee178e [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit
period

This provides a 63 bit clock counter guaranteed to be monotonic over a
period of 35583 days instead of a clock wrap every 179 seconds, as long
as sched_clock() is called at least once every 89 seconds.  This should
not be a problem in practice, although a kernel timer could be scheduled
every 80 seconds for example simply to call sched_clock() making sure
top bits are always synchronized if need be.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:06:53 +00:00
Nicolas Pitre 2f1675c11a [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period
This provides a 63 bit clock counter guaranteed to be monotonic over a
period of 370 days instead of a clock wrap every 19.4 minutes, as long
as sched_clock() is called at least once every 9.7 minutes which
shouldn't be a problem in practice.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:06:50 +00:00
Lennert Buytenhek 47d7e524b7 [ARM] 3993/1: ep93xx: add cirrus logic edb9302a support
Add support for the Cirrus Logic EDB9302A Evaluation Board.  Confirmed
to work by Chase Douglas.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:01:56 +00:00
George G. Davis 5636810d6f [ARM] 3982/2: Explicitly select 32-bit ARM ISA (-marm)
Do not assume that the ARM GCC toolchain defaults to building for the
32-bit ARM ISA (-marm) case. Instead, explicitly select -marm in CFLAGS
since the toolchain default can be for the 16-bit Thumb ISA (-mthumb) in
some odd/rare cases.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-07 16:01:11 +00:00
David Howells 6d5aefb8ea WorkQueue: Fix up arch-specific work items where possible
Fix up arch-specific work items where possible to use the new work_struct and
delayed_work structs.

Three places that enqueue bits of their stack and then return have been marked
with #error as this is not permitted.

Signed-Off-By: David Howells <dhowells@redhat.com>
2006-12-05 19:36:26 +00:00
Andrew Victor c019d49b69 [ARM] 3972/1: AT91: Update board.h
Replace the 'is_b' variable with 'slot_b' in at91_mmc_data.
Also add the new 'chipselect' variable for CF/PCMCIA and 'bus_width_16'
variable for NAND.

This (and previous patches) will unfortunately break the current MMC,
USB Gadget and PCMCIA drivers.  Updates and fixes for those drivers will
be submitted to the various subsystem maintainers.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-04 14:37:34 +00:00
Lennert Buytenhek afe4b25e7d [ARM] 3881/4: xscale: clean up cp0/cp1 handling
XScale cores either have a DSP coprocessor (which contains a single
40 bit accumulator register), or an iWMMXt coprocessor (which contains
eight 64 bit registers.)

Because of the small amount of state in the DSP coprocessor, access to
the DSP coprocessor (CP0) is always enabled, and DSP context switching
is done unconditionally on every task switch.  Access to the iWMMXt
coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is
first issued, and iWMMXt context switching is done lazily.

CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will
have iWMMXt support', but boards are supposed to select this config
symbol by hand, and at least one pxa27x board doesn't get this right,
so on that board, proc-xscale.S will incorrectly assume that we have a
DSP coprocessor, enable CP0 on boot, and we will then only save the
first iWMMXt register (wR0) on context switches, which is Bad.

This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on
might have iWMMXt support, and we will enable iWMMXt context switching
if it does.'  This means that with this patch, running a CONFIG_IWMMXT=n
kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt
state over context switches, and running a CONFIG_IWMMXT=y kernel on a
non-iWMMXt capable CPU will still do DSP context save/restore.

These changes should make iWMMXt work on PXA3xx, and as a side effect,
enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such
as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined),
as well as setting and using HWCAP_IWMMXT properly.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-03 17:52:22 +00:00
Dan Williams f5236225a3 [ARM] 3967/1: xsc3: make branch predication configurable on xsc3
Remove BTB_ENABLE from proc-xsc3.S

On some early revisions of xsc3 enabling the branch target buffer can cause
crashes, see erratum #42.

Cc: Lennert Buytenhek <buytenh@wantstofly.org>

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 23:40:37 +00:00
Lennert Buytenhek 0e5fdca762 [ARM] 3971/1: xsc3: get rid of L_PTE_COHERENT
Merge L_PTE_COHERENT with L_PTE_SHARED and free up a L_PTE_* bit.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 23:40:23 +00:00
Milan Svoboda e520a36de2 [ARM] 3958/1: add platform device (pxa2xx-udc)to ixp4xx
Create include/asm-arm/arch-ixp4xx/udc.h and
add platfrom device ixp4xx_udc_device into
arch/arm/mach-ixp4xx/common.c.

This allows us to use pxa2xx-udc on
the ixp4xx platfrom. Both pxa2xx and
ixp4xx use the same device controller.

Signed-off-by:Milan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 17:14:28 +00:00
Andrew Victor 69c5eccd16 [ARM] 3966/1: AT91: RM9200 device data update
This patch contains various updates the at91rm9200_devices.c file:
      * Consistent naming of resources and platform_devices.
      * PCMCIA/Compact Flash: Configuration of the memory controller
        moved out of the driver and into this file.
      * MMC: Enable the VCC pin (if one is configured)
      * MMC: Enable the internal pullups on the I/O pins.
      * NAND: Configuration of the memory controller moved out of the
        driver and into this file.
      * Added TWI/I2C resources.
      * The names of some of the CONFIG_ variables were changed.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:56:44 +00:00
Andrew Victor 58a0cd7887 [ARM] 3963/1: AT91: Update configuration files
A number of configuration file changes.

These are mainly to replace references to ARCH_AT91RM9200 and
ARCH_AT91SAM9261 with the common/generic ARCH_AT91.  That way we don't
need to mention every specific AT91 processor explicitly.

Also adds the configuration option for AT91SAM9260-EK and AT91SAM9261-EK
boards.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:56:43 +00:00
Andrew Victor 022cbd7376 [ARM] 3961/2: AT91: Support for Atmel AT91SAM9261-EK board
This patch adds support for the Atmel AT91SAM9261-EK board.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:56:41 +00:00
Andrew Victor b85a891403 [ARM] 3962/1: AT91: Support for Atmel AT91SAM9260-EK board
This patch adds support for the Atmel AT91SAM9260-EK board.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:56:40 +00:00
Lennert Buytenhek 2024c39dbb [ARM] 3965/1: ixp2000: fix handling of pci master aborts
The master abort check in ixp2000_pci_read_config() recently started
failing due to the compiler optimising out the read access following
the clearing of pci_master_aborts.  Mark pci_master_aborts volatile to
force the compiler to reload it on every use.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:55:22 +00:00
Lennert Buytenhek 5283304bdc [ARM] 3964/1: ep93xx: add ads sphere support
Add initial board support for the ADS Sphere board.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 16:54:31 +00:00
Andrew Victor 05043d0804 [ARM] 3960/1: AT91: Final SAM9 intergration patches.
This patch includes a number of small changes for integrating the
AT91SAM9261 and AT91SAM0260 support.

      * Can only select support for one AT91 processor at a time.
      * Remove most of the remaining static memory mapping for the
        AT91RM9200.
      * Reserve 1Mb of memory below the IO for mapping the internal SRAM
        and any custom board-specific devices (ie, FPGA).
      * The SAM9260 has more serial ports, so increase the maximum to 7.
      * Define the standard chipselect addresses, and define other
        addresses relative to those.
      * CLOCK_TICK_RATE is different on the SAM926x's.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:54:05 +00:00
Andrew Victor d481f86449 [ARM] 3959/1: AT91: Support for SAM9 USB and HCK clocks
The bits used to select the USB clocks are different on the SAM9's.
Add support for the HCK clocks on the AT91SAM9261.

Patch from Patrice Vilchez & Nicolas Ferre

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:54:00 +00:00
Andrew Victor fcc63716a5 [ARM] 3957/1: AT91: Physically mapped flash on DK and EK boards
This patch converts the old CONFIG_MTD_PHYSMAP_ options to the new
physmap API by creating a physmap platform device for the NOR flash
found on the Atmel AT91RM9200-DK and AT91RM9200-EK boards.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:53:58 +00:00
Andrew Victor 330d741b06 [ARM] 3956/1: AT91: Carmeva board update
This patch updates the Carmeva board support:
      * Specify the MMC Write-protect and Detection pins.
      * Add configuration of SPI devices.

Patch from Peer Georgi.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:53:57 +00:00
Andrew Victor d100f25956 [ARM] 3955/1: AT91: Clear timer interrupt when resuming
Attached is a patch for at91rm9200_time.c which removes
the 'BUG: soft lockup detected on CPU#0!' message when
exiting suspended states.

Patch from Savin Zlobec

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:53:55 +00:00
Andrew Victor 86ad76bb2d [ARM] 3953/1: AT91: SAM9 platform devices
This patch includes the pin initialization, resource definition and
registration of the platform_devices for the SAM9260 and SAM9261
processors.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:53:53 +00:00
Andrew Victor 1a0ed732af [ARM] 3949/2: AT91: SAM9 timer driver
Add support for the timer on the Atmel AT91SAM9261 and AT91SAM9260
processors.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-01 13:53:50 +00:00
Andrew Victor 55d8baee4a [ARM] 3954/1: AT91: Update drivers for new headers
This patch updates the drivers (and other files) which include the
hardware headers.  This fixes the breakage introduced in patches 3950/1
and 3951/1 (those patches were getting big).

The AVR32 architecture uses the same serial driver and had its own copy
of at91rm9200_pdc.h.  Renamed it to at91_pdc.h

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-11-30 22:51:40 +00:00
Andrew Victor 62c1660d90 [ARM] 3948/1: AT91: Initial support for AT91SAM9261 and AT91SAM9260
This patch adds the initial support for the newer Atmel AT91SAM9261 and
AT91SAM9260 processors.  The code is based on, and makes use of, the
existing AT91RM9200 support.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-11-30 22:51:38 +00:00
Andrew Victor 1f4fd0a0d2 [ARM] 3946/1: AT91: at91_arch_reset and at91_extern_irq
The external interrupt sources are different on the various AT91
processors.  This patch introduces the global 'at91_extern_irq' variable
that contains a bitset of the available external interrupt sources.

The processor reset mechanism also differs on the various AT91
processors.  This patch also adds a global 'at91_arch_reset' callback
(from system.h) into the processor-specific code to perform the reset.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-11-30 22:51:36 +00:00
Andrew Victor 20127f6863 [ARM] 3945/1: AT91: Rename devices.c
This patch renames the arch/arm/mach-at91rm9200/devices.c file to
at91rm9200_devices.c.  The file contains AT91RM9200-specific code, so we
will need separate files for the SAM9 processors.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-11-30 22:51:33 +00:00