Commit graph

837 commits

Author SHA1 Message Date
Nick Piggin
8dfcc9ba27 [PATCH] mm: split highorder pages
Have an explicit mm call to split higher order pages into individual pages.
 Should help to avoid bugs and be more explicit about the code's intention.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22 07:53:57 -08:00
Russell King
bec1b81936 [ARM] Quieten spurious IRQ detection
Only issue a "nobody cared" warning after 99900 spurious interrupts.
This avoids the occasional spurious interrupt causing warnings, as
per x86.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-22 10:22:58 +00:00
Jaroslav Kysela
5501972e0b Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2006-03-22 11:02:08 +01:00
Takashi Iwai
f7cbb7fcd3 [ALSA] Fix snd_xxx_t typedefs
Modules: PXA Mainstone driver,CX88 driver,SAA7134 driver

Replace snd_xxx_t typedefs with explicit structs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:23:39 +01:00
Russell King
58e9ff5638 [ARM] Use kcalloc to allocate counter_config array rather than kmalloc
We need this to be zero initialised.  Since this is an array, use kcalloc
rather than kzalloc or kmalloc.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 23:30:02 +00:00
Russell King
ae92dc9f7b [ARM] Oprofile: dynamically allocate counter_config
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 23:30:02 +00:00
Russell King
93ad79496c [ARM] Oprofile: Convert semaphore to mutex
op_arm_sem is being used as a mutex, so convert it to use
real mutexes.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 23:30:00 +00:00
Ben Dooks
c3d5395fd7 [ARM] 3376/2: S3C2410 - update defconfig
Patch from Ben Dooks

Add Simtec Osiris to the default build, and enable the
USB-OHCI section by default.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:23 +00:00
Ben Dooks
da956fd6b8 [ARM] 3375/1: S3C2440 - fix osiris machine build
Patch from Ben Dooks

Fix the build of arch/arm/mach-s3c2410/mach-osiris.c
and fix the warnings from sparse.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:22 +00:00
Lennert Buytenhek
bd20ff5793 [ARM] 3374/1: ep93xx: gpio interrupt support
Patch from Lennert Buytenhek

Add GPIO interrupt support for the first 16 GPIO lines (port A
and B.)

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:21 +00:00
Ben Dooks
36c64af4e0 [ARM] 3361/1: S3C24XX - add USB bus clock source
Patch from Ben Dooks

Add USB bus clock definition for 48MHz fed to OHCI and gadget cores

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:20 +00:00
Ben Dooks
e44c03960f [ARM] 3360/1: S3C2440 - add set rate methods and camera clock
Patch from Ben Dooks

Add set_rate methods for the extra clocks on the S3C2440
and add the camera UPLL clock source

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:19 +00:00
Ben Dooks
6e8908edd5 [ARM] 3359/1: S3C24XX - add support for clk_set_rate
Patch from Ben Dooks

Add support for clk_set_rate and clk_round_rate to the
s3c2410 clock implementation

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:18 +00:00
Russell King
d2a02b93cf [ARM] Convert kmalloc+memset to kzalloc
Convert all uses of kmalloc followed by memset to use kzalloc instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:17 +00:00
Lennert Buytenhek
18ec5c7312 [ARM] 3373/1: move uengine loader to arch/arm/common
Patch from Lennert Buytenhek

Move the uengine loader from arch/arm/mach-ixp2000 to arch/arm/common
so that ixp23xx can use it too.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:16 +00:00
Lennert Buytenhek
dd18c34eac [ARM] 3372/1: ep93xx: add defconfig
Patch from Lennert Buytenhek

Add ep93xx defconfig.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:13 +00:00
Lennert Buytenhek
a8e19667a4 [ARM] 3371/1: ep93xx: gpio support
Patch from Lennert Buytenhek

Add support for setting the direction of and getting/setting the
value of the 64 GPIO lines.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:12 +00:00
Lennert Buytenhek
e7736d47a1 [ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek

This patch adds support for the Cirrus ep93xx series of CPUs.  The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.

This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:11 +00:00
Alessandro Zummo
73deb7dc05 [ARM] 3368/1: ixp4xx: set gpio direction in ixp4xx_config_irq
Patch from Alessandro Zummo

ixp4xx_config_irq did not configure the gpio line
as an input.

As an added bonus, the irq2gpio array has been converted
from int to char.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:09 +00:00
Peter Teichmann
6d4518d76f [ARM] 3346/1: Fix udelay() for HZ values different from 100
Patch from Peter Teichmann

Currently, if the kernels HZ value is greater than 100, delays with the udelay function are too short. This can cause trouble for instance with the zd1201 usb wlan driver.

This patch suggests a solution that keeps the overhead small and maintains (hopefully) sufficient resolution.

Signed-off-by: Peter Teichmann
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:07 +00:00
Deepak Saxena
0328ad23cf [ARM] 3334/1: Add support for IXDP28x5 platforms
Patch from Deepak Saxena

This patch adds support for Intel's IXDP28x5 platform. This
is just and IXDP2801 with a new CPU rev but the bootloader
has been updated to reflect a new machine ID so we just build
support for it by default when we build IXDP2801.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:06 +00:00
Ben Dooks
3fc3e1c064 [ARM] 3333/1: S3C2XX - add dclk and clkout clock support
Patch from Ben Dooks

Add enable and set_parent calls for the dclk
and clkout clocks.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:05 +00:00
Ben Dooks
d3468daab8 [ARM] 3331/1: S3C24XX - add clk_set_parent() to clock code
Patch from Ben Dooks

Add clk_set_parent() call to clock code

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:03 +00:00
Ben Dooks
8e40a2f91c [ARM] 3330/1: S3C24XX - move UPLL to main clock
Patch from Ben Dooks

Move the UPLL clock registration to the central
clock file, and add an enable method

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:02 +00:00
Ben Dooks
766636cc36 [ARM] 3329/1: S3C24XX - fix time for osiris machine
Patch from Ben Dooks

Add selection for timer code for the Simtec Osiris

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:01 +00:00
Ben Dooks
110d322b29 [ARM] 3327/1: S3C2410 - add osiris machine support
Patch from Ben Dooks

Support for Simtec IM2440D20 CPU modules (Osiris)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:06:00 +00:00
Nicolas Pitre
a61ea9326d [ARM] 3261/2: remove phys_ram from struct machine_desc (part 3)
Patch from Nicolas Pitre

This field is redundent since it must be equal to PHYS_OFFSET anyway.

There is no reference to it anymore so remove it at last.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:58 +00:00
Russell King
97d654f8eb [ARM] Convert SA1111 to use clock architecture
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:53 +00:00
Russell King
824b5b5e59 [ARM] Adapt vic.c to allow for multiple VICs in a system.
Some SoCs have multiple VIC devices.  Adapt the generic vic code
to allow multiple implementations to be handled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:52 +00:00
Russell King
548153663b [ARM] Rename chipdata to 'base' and make it an iomem pointer
In all current use cases, "chipdata" is used to store an iomem address.
Mark it with __iomem, and rename it to 'base'.  Leave the accessor macros
alone.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:51 +00:00
Russell King
5d25ac038a [ARM] Move IRQ enable after coprocessor number decode
Allow the individual coprocessor handlers to decide when to enable
interrupts, rather than unconditionally enabling them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:50 +00:00
Russell King
f78f104368 [ARM] Remove unnecessary asm/hardware.h includes
asm/hardware.h is not required for the majority of processor support
files, ioremap support, mm initialisation, acorn IO support, nor
the debug code (which picks up its machine specific includes via
debug-macros.S)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:50 +00:00
Russell King
bfe6570481 [ARM] Fix HZ definition for OMAP without 32K timer
Unfortunately, OMAP platforms without the 32K timer left HZ set to
an empty value.  Fix this by making the dependency on OMAP_32K_TIMER
rather than OMAP_32K_TIMER_HZ.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:47 +00:00
Russell King
411ef7f4cf [ARM] Remove asm/arch/irq.h
asm/arch/irq.h used to be included from asm/irq.h, but was removed
from the ARM kernel a long time ago.  Consequently, the contents
of asm/arch/irq.h (which mostly contain a definition for fixup_irq())
have not been used.  Hence, remove asm/arch/irq.h.

Some machine support files incorrectly included this file, making
little or no use of the contents.  Move the contents to a local
include file, and remove those include statements as well.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:46 +00:00
Russell King
f80658137f [ARM] Move HZ definition into Kconfig
Move the HZ definition into Kconfig, and set appropriate defaults
for platforms.  Remove mostly empty asm/arch/param.h include file.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:05:45 +00:00
Russell King
48fa14f761 [ARM] select TLS_REG_EMUL and NEEDS_SYSCALL_FOR_CMPXCHG
Rather than having a growing dependency line, use select to set
these configuration symbols.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:03:26 +00:00
Russell King
74945c8616 [ARM] nommu: Move hardware page table definitions to pgtable-hwdef.h
Move the hardware PMD and PTE page table definitions from pgtable.h
into pgtable-hwdef.h, and include pgtable-hwdef.h as necessary.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:03:25 +00:00
Russell King
0f44ba1d1e [ARM] Move read of processor ID out of lookup_processor_type()
Read the processor ID at boot, and save it in "processor_id" as we
did before.  Later, when we re-parse the CPU type in the setup.c code,
re-use the value stored in "processor_id".

This allows a cleaner work-around for noMMU devices without CP#15.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:03:22 +00:00
Hyok S. Choi
f24284adcd [ARM] noMMU: block sys_fork in nommu mode
The sys_fork is not supported in nommu mode. The other syscalls
that is not supported in nommu mode are to be defined as cond_signal
in kernel/sys_ni.c.

Signed-off-by: Hyok S. Choi <hyok.choi@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 22:03:19 +00:00
Linus Torvalds
08a4ecee98 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (23 commits)
  [PATCH] sysfs: fix a kobject leak in sysfs_add_link on the error path
  [PATCH] sysfs: don't export dir symbols
  [PATCH] get_cpu_sysdev() signedness fix
  [PATCH] kobject_add_dir
  [PATCH] debugfs: Add debugfs_create_blob() helper for exporting binary data
  [PATCH] sysfs: fix problem with duplicate sysfs directories and files
  [PATCH] Kobject: kobject.h: fix a typo
  [PATCH] Kobject: provide better warning messages when people do stupid things
  [PATCH] Driver core: add macros notice(), dev_notice()
  [PATCH] firmware: fix BUG: in fw_realloc_buffer
  [PATCH] sysfs: kzalloc conversion
  [PATCH] fix module sysfs files reference counting
  [PATCH] add EXPORT_SYMBOL_GPL_FUTURE() to USB subsystem
  [PATCH] add EXPORT_SYMBOL_GPL_FUTURE() to RCU subsystem
  [PATCH] add EXPORT_SYMBOL_GPL_FUTURE()
  [PATCH] Clean up module.c symbol searching logic
  [PATCH] kobj_map semaphore to mutex conversion
  [PATCH] kref: avoid an atomic operation in kref_put()
  [PATCH] handle errors returned by platform_get_irq*()
  [PATCH] driver core: platform_get_irq*(): return -ENXIO on error
  ...
2006-03-21 09:25:15 -08:00
David Vrabel
489447380a [PATCH] handle errors returned by platform_get_irq*()
platform_get_irq*() now returns on -ENXIO when the resource cannot be
found.  Ensure all users of platform_get_irq*() handle this error
appropriately.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 13:42:57 -08:00
Catalin Marinas
9e7714d080 [ARM] 3367/1: CLCD mode no longer supported on the RealView boards
Patch from Catalin Marinas

Chosing of the CLCD RGB mode is no longer possible via the SYS_CLCD
register on the RealView boards. Instead, this configuration is done in the
CLCD primecell control register directly.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-16 14:10:20 +00:00
Ben Dooks
4333298965 [ARM] 3362/1: [cleanup] - duplicate decleration of mem_fclk_21285
Patch from Ben Dooks

arch/arm/kernel/setup.c declares mem_fclk_21285 when
this is already declared in include/asm-arm/system.h

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 23:18:08 +00:00
Ben Dooks
0fc1c83212 [ARM] 3365/1: [cleanup] header for compat.c exported functions
Patch from Ben Dooks

arch/arm/kernel/compat.c exports two functions,
convert_to_tag_list and squash_mem_tags which
are not defined in any header files, and not
used outside arch/arm/kernel.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 23:17:30 +00:00
Ben Dooks
84dff1a730 [ARM] 3363/1: [cleanup] process.c - fix warnings
Patch from Ben Dooks

Fix the following warnings from sparse:

arch/arm/kernel/process.c:86:6: warning: symbol 'default_idle' was not declared. Should it be static?
arch/arm/kernel/process.c:378:5: warning: symbol 'dump_fpu' was not declared.   Should it be static?

Include <linux/elfcore.h> for dump_fpu() decleration, and
make default_idle() static as it is not used outside the file.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 23:17:23 +00:00
Albrecht Dre
66be0c3028 [ARM] 3358/1: [S3C2410] add missing SPI DMA resources
Patch from Albrecht Dre

Add DMA resources to s3c2410 spi platform devices - dma_(alloc|free)_coherent should now work as expected.

Signed-off-by: Albrecht Dre <albrecht.dress@lios-tech.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 16:03:05 +00:00
Pavel Machek
4ebf2d0026 [ARM] 3357/1: enable frontlight on collie
Patch from Pavel Machek

Enable frontlight during collie bootup, so that display is actually
readable in anything other than bright sunlight.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 16:03:03 +00:00
Russell King
17320a9644 [ARM] Fix "thead" typo
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-15 14:57:13 +00:00
Russell King
cdaabbd74b [ARM] iwmmxt thread state alignment
This patch removes the reliance of iwmmxt on hand coded alignments.
Since thread_info is always 8K aligned, specifying that fpstate is
8-byte aligned achieves the same effect without needing to resort
to hand coded alignments.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-12 22:36:06 +00:00
Alessandro Zummo
04916c0ef4 [ARM] 3350/1: Enable 1-wire on ARM
Patch from Alessandro Zummo

This patches add the 1-wire drivers
to the ARM Kconfig.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-10 22:30:01 +00:00
Catalin Marinas
141fa40cff [ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem
Patch from Catalin Marinas

ARM1136 erratum 371025 (category 2) specifies that, under rare
conditions, an invalidate I-cache by MVA (line or range) operation can
fail to invalidate a cache line. The recommended workaround is to
either invalidate the entire I-cache or invalidate the range by
set/way rather than MVA.

Note that for a 16K cache size, invalidating a 4K page by set/way is
equivalent to invalidating the entire I-cache.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-10 22:26:47 +00:00
Alessandro Zummo
e7fcdb79ec [ARM] 3355/1: NSLU2: remove propmt depends
Patch from Alessandro Zummo

The patch that would have made the NSLU2
kernel non compatible with other ixp4xx machs
never entered the kernel. So it is actually
safe to remove the prompt dependencies.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-08 23:45:12 +00:00
Alessandro Zummo
dcc8fa50eb [ARM] 3354/1: NAS100d: fix power led handling
Patch from Alessandro Zummo

Disable GPIO clocks to allow
the power led to work properly.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-08 23:45:10 +00:00
Russell King
3c8fdae78c [ARM] Fix muldi3.S
When shifting the low-parts of signed numbers, a logical shift
should be used to avoid sign-extending a bit which isn't a sign
bit.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-08 17:25:33 +00:00
Alessandro Zummo
744bfe4c25 [ARM] 3353/1: NAS100d: protect nas100d_power_exit() with machine_is_nas100d()
Patch from Alessandro Zummo

nas100d_power_exit(void) gets some protection
to avoid freeing an irq when it is not appropriate to do so.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-07 22:48:29 +00:00
Catalin Marinas
6a0e243069 [ARM] 3352/1: DSB required for the completion of a TLB maintenance operation
Patch from Catalin Marinas

Chapter B2.7.3 in the latest ARM ARM (with v6 information) states that
the completion of a TLB maintenance operation is only guaranteed by
the execution of a DSB (Data Syncronization Barrier, formerly Data
Write Barrier or Drain Write Buffer).

Note that a DSB is only needed in the flush_tlb_kernel_* functions
since the completion is guaranteed by a mode change (i.e. switching
back to user mode) for the flush_tlb_user_* functions.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-07 14:42:27 +00:00
Tony Lindgren
69239749e1 [PATCH] fix next_timer_interrupt() for hrtimer
Also from Thomas Gleixner <tglx@linutronix.de>

Function next_timer_interrupt() got broken with a recent patch
6ba1b91213 as sys_nanosleep() was moved to
hrtimer.  This broke things as next_timer_interrupt() did not check hrtimer
tree for next event.

Function next_timer_interrupt() is needed with dyntick (CONFIG_NO_IDLE_HZ,
VST) implementations, as the system can be in idle when next hrtimer event
was supposed to happen.  At least ARM and S390 currently use
next_timer_interrupt().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.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-03-06 18:40:44 -08:00
Paul Smith
4f1933620f kbuild: change kbuild to not rely on incorrect GNU make behavior
The kbuild system takes advantage of an incorrect behavior in GNU make.
Once this behavior is fixed, all files in the kernel rebuild every time,
even if nothing has changed.  This patch ensures kbuild works with both
the incorrect and correct behaviors of GNU make.

For more details on the incorrect behavior, see:

http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html

Changes in this patch:
  - Keep all targets that are to be marked .PHONY in a variable, PHONY.
  - Add .PHONY: $(PHONY) to mark them properly.
  - Remove any $(PHONY) files from the $? list when determining whether
    targets are up-to-date or not.

Signed-off-by: Paul Smith <psmith@gnu.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-03-06 00:09:51 +01:00
Andrew Victor
abbea71872 [ARM] 3348/1: Disable GPIO interrupts
Patch from Andrew Victor

disable_irq() lazily disables the interrupt, so the IRQ is only disabled
once the interrupt occurs again.  The GPIO interrupt handler therefore
must first check disable_depth to see if the IRQ needs to be disabled.

Orignal patch by Bill Gatliff.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-24 22:27:50 +00:00
Mrten Wikstrm
06e4479bd0 [ARM] 3347/1: Bugfix for ixp4xx_set_irq_type()
Patch from Mrten Wikstrm

This patch fixes a bug in ixp4xx_set_irq_type() which leads to
GPIO being incorrectly set to both edge triggered for raising
as well as falling edge interrupt types. See the previous
discussion on patch 3312/1.

Signed-off-by: Mrten Wikstrm <marten.wikstrom@passito.se>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 22:27:23 +00:00
Andrew Victor
df666b9c51 [ARM] 3325/2: GPIO function to control multi-drive (open collector) capability
Patch from Andrew Victor

This patch adds the at91_set_multi_drive() function to enable/disable
the multi-drive (open collector) pin capability on the AT91RM9200
processor.

This is necessary to fix the UDC (USB Gadget) driver for the AT91RM9200
board as it will not allow the board reset line to be pulled low if the
pullup is not driven as an open collector output as the boards are wired
to the USB connector on both the DK/EK.

This version of the patch updates it to 2.6.16-rc4.
Orignal patch by Jeff Warren.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 21:23:35 +00:00
Russell King
43cc19816b [ARM] CONFIG_CPU_MPCORE -> CONFIG_CPU_32v6K
CONFIG_CPU_MPCORE has never been a configuration symbol - it should
be CONFIG_CPU_32v6K.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 21:13:28 +00:00
Uli Luckas
75d2f18088 [ARM] 3345/1: Fix interday RTC alarms
Patch from Uli Luckas

This is a bugfix.

The comment in arch/arm/common/rtctime.c explains it:
* FIXME: for now, we just copy the alarm time because we're lazy (and
* is therefore buggy - setting a 10am alarm at 8pm will not result in
* the alarm triggering.)

This patch adds one day to the alarm iff the alarm wrapped beyond midnight and therefore appears to be in the past.

Signed-off-by: Uli Luckas <u.luckas@road-gmbh.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 21:12:07 +00:00
Alessandro Zummo
bc66d4496f [ARM] 3344/1: NSLU2: beeper support
Patch from Alessandro Zummo

This patch adds support for the beeper
embedded in the NSLU2 to the machine setup code.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 21:12:06 +00:00
Alessandro Zummo
d7353b25c8 [ARM] 3342/1: NSLU2: Protect power button init routine with machine_is_nslu2()
Patch from Alessandro Zummo

The power button exit routine for the Linksys NSLU2 was not protected by
a machine_is_nslu2(). This patch fixes it.

Signed-off-by: Rod Whitby <rod@whitby.id.au>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 21:12:05 +00:00
Catalin Marinas
c27a2164a3 [ARM] 3340/1: Fix the PCI setup for direct master access to SDRAM
Patch from Catalin Marinas

The initial code did not configure the inbound memory windows for direct
master access to the SDRAM. This patch creates a 1:1 mapping between the
Versatile/PB PCI memory windows and its SDRAM. Note that an updated FPGA
image is needed for Versatile/PB since the original windows were 1MB and
not able to cover the whole SDRAM (now extended to 256MB). The patch also
fixes the PCI IRQ mapping for slot #2.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 19:51:38 +00:00
Russell King
a43c7ff8ba [ARM] Update mach-types
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 09:33:23 +00:00
Russell King
31867499b2 [ARM] Add panic-on-oops support
Although you could ask the kernel for panic-on-oops, it remained
non-functional because the architecture specific code fragment had
not been implemented.  Add it, so it works as advertised.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-22 09:33:22 +00:00
Nicolas Pitre
6c0fa49b18 [ARM] 3338/1: old ABI compat: sys_socketcall
Patch from Nicolas Pitre

Commit 99595d0237 forgot to intercept
sys_socketcall as well.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-16 22:36:13 +00:00
Martin Michlmayr
3dfaf7a68e [ARM] 3337/1: Fix NSLU2 flash support according to window size configuration patch
Patch from Martin Michlmayr

ARM patch 3226/1 (IXP4xx runtime expansion bus window size configuration)
forgot to update mach-ixp4xx/nslu2-setup.c which leads to the following
compilation error.  Update NSLU2 flash support following patch 3226/1.

  CC      arch/arm/mach-ixp4xx/nslu2-setup.o
arch/arm/mach-ixp4xx/nslu2-setup.c:30: error: NSLU2_FLASH_BASE undeclared here (not in a function)
arch/arm/mach-ixp4xx/nslu2-setup.c:31: error: NSLU2_FLASH_SIZE undeclared here (not in a function)
make[1]: *** [arch/arm/mach-ixp4xx/nslu2-setup.o] Error 1
make: *** [arch/arm/mach-ixp4xx] Error 2

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>

---

 nslu2-setup.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-16 22:36:12 +00:00
Russell King
7bbb794031 [ARM] Fix SMP initialisation oops
A change to the SMP initialisation caused the following oops:

 CPU1: Booted secondary processor
 CPU1: D VIPT write-back cache
 CPU1: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
 CPU1: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
 <7>Calibrating delay loop... 83.14 BogoMIPS (lpj=415744)
 <1>Unable to handle kernel NULL pointer dereference at virtual address 0000001c
 ...
 PC is at enqueue_task+0x1c/0x64
 LR is at activate_task+0xcc/0xe4

SMP initialisation now requires cpu_possible_map to be initialised in
setup_arch().  Move this from smp_prepare_cpus() to smp_init_cpus()
and call it from our setup_arch() if CONFIG_SMP is enabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-16 11:08:09 +00:00
Herbert Poetzl
ba09cf2bcf [ARM] remove duplicate #includes
Signed-off-by: Herbert P?tzl <herbert@13thfloor.at>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-15 10:13:02 +00:00
Ben Dooks
e198168083 [ARM] 3326/1: H1940 - Control latches
Patch from Ben Dooks

Define the bits for the two board control latches
that control various items on the H1940 iPAQ.

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-02-10 22:40:51 +00:00
Lucas Correia Villa Real
b514d31927 [ARM] 3314/1: S3C2400 - adds s3c2400.h
Patch from Lucas Correia Villa Real

This patch adds s3c2400.h, fixing the build for the 2410/2440
platforms.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-09 16:47:58 +00:00
Linus Torvalds
17be03f0a1 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
Linus Torvalds
cce0cac125 Merge master.kernel.org:/home/rmk/linux-2.6-arm
Manual conflict merge of arch/arm/Kconfig
2006-02-08 15:20:40 -08:00
Tony Lindgren
18f49ea207 [ARM] 3278/1: OMAP: 3/3 Fix low-level io init for omap2 boards
Patch from Tony Lindgren

This patch fixes the low-level IO init for omap2 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:47 +00:00
Tony Lindgren
87bd63f647 [ARM] 3280/1: OMAP: 2/3 Fix low-level io init for omap1 boards
Patch from Tony Lindgren

This patch fixes the low-level IO init for omap1 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:46 +00:00
Tony Lindgren
53d9cc7395 [ARM] 3279/1: OMAP: 1/3 Fix low-level io init
Patch from Tony Lindgren

This patch adds the missing cache flushes to common low-level
init that are needed to access the IO region. These flushes
are normally done at the end of devicemaps_init(), but we
need to detect the OMAP core type early.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:06:45 +00:00
Ben Dooks
083d06edfd [ARM] 3299/1: S3C24XX - fix irq range on adc device
Patch from Ben Dooks

Change the IRQ resource range for the ADC device
to be two distinct IRQs

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 22:03:31 +00:00
Catalin Marinas
f557f5e51d [ARM] 3313/1: Use OSC4 instead of OSC1 for CLCD
Patch from Catalin Marinas

Because of a type, OSC1 was used for setting the display clock instead of
OSC4. This patch fixes it.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:39 +00:00
Nicolas Pitre
5964eae835 [ARM] 3310/1: add a comment about the possible __kuser_cmpxchg transient false
negative

Patch from Nicolas Pitre

The pre ARMv5 implementation can be aborted if an exception occurs in
the middle of it.  Because of that, the ARMv6 implementation doesn't
re-attempt the operation on a failed strex either.  Let's make this
transient nature of such a false positive more explicit in the
definition.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:37 +00:00
Nicolas Pitre
49bca4c281 [ARM] 3309/1: disable the pre-ARMv5 NPTL kernel helper in the non MMU case
Patch from Nicolas Pitre

The cmpxchg emulation on pre-ARMv5 relies on user code executed from a
kernel address.  If the operation cannot complete atomically, it is
aborted from the usr_entry macro by clearing the Z flag.  This clearing
of the Z flag is done whenever the user pc is above TASK_SIZE.

However this "pc >= TASK_SIZE" test cannot work in the non MMU case.
Worse: the current code will corrupt the Z flag on every entry to the
kernel.

Let's disable it in the non MMU case for now.  Using NPTL on non MMU
targets needs to be worked out anyway.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:37 +00:00
Nicolas Pitre
99595d0237 [ARM] 3308/1: old ABI compat: struct sockaddr_un
Patch from Nicolas Pitre

struct sockaddr_un loses its padding with EABI.  Since the size of the
structure is used as a validation test in unix_mkname(), we need to
change the length argument to 110 whenever it is 112.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:19:36 +00:00
Russell King
a73a3ff127 [ARM] Experimental config options should have (EXPERIMENTAL)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:55 +00:00
Nicolas Pitre
61c484d41f [ARM] 3307/1: old ABI compat: mark it experimental
Patch from Nicolas Pitre

Although OABI_COMPAT works fine in most cases, it is still experimental
and could be for ever since it is nearly impossible to handle
everything, e.g. ioctls.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:08 +00:00
Ben Dooks
29fe3cf384 [ARM] 3306/1: S3C24XX - update defconfig
Patch from Ben Dooks

Bring s3c2410 defconfig up to date

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:07 +00:00
Martin Michlmayr
f6c8965ab8 [ARM] 3305/1: Minor typographical and spelling fixes in Konfig
Patch from Martin Michlmayr

Minor typographical and spelling fixes in Konfig

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>

---

 Kconfig |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:07 +00:00
Martin Michlmayr
f999b8bdec [ARM] 3304/1: Add help descriptions to ARCH config items that don't have one
Patch from Martin Michlmayr

Add help descriptions to ARCH config items that don't have one.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>

---

 Kconfig               |   32 ++++++++++++++++++++++++++++++--
 mach-clps711x/Kconfig |    2 ++
 2 files changed, 32 insertions(+), 2 deletions(-)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:05 +00:00
Ben Dooks
2a513ce799 [ARM] 3303/1: S3C24XX - add clock enable usage counting
Patch from Ben Dooks

Move to using an enable count for the shared clocks
and protect the clock system using a mutex instead
of just disabling IRQs during the clock update.

Since there is little more code in the path for
non-shared clocks, the enable and disable calls
use the same code for each.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:05 +00:00
Lennert Buytenhek
f8e5b28413 [ARM] 3302/1: make pci=firmware the default for ixp2000
Patch from Lennert Buytenhek

Most ixp2000 boards don't actually work if pci=firmware isn't used, so
the defconfig isn't really the right place to specify this.  Instead of
specifying it in the defconfigs, make the relevant board code take care
of setting pci=firmware.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:04 +00:00
Lennert Buytenhek
a6b3300609 [ARM] 3301/1: remove unnecessary clock default from ixdp2801 defconfig
Patch from Lennert Buytenhek

The ixdp2x01_clock is already 50MHz by default, so no need to
override it with 50MHz in the ixdp2801 defconfig as is done now,
which is confusing as well.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:03 +00:00
Lennert Buytenhek
1b39401304 [ARM] 3300/1: make ixdp2x01 co-exist with other ixp2000 machine types
Patch from Lennert Buytenhek

The ixdp2x01 pci init call doesn't check whether it's really running
on an ixdp2x01, making it impossible to compile one kernel that works
on both the ixdp2x01 and another ixp2000 board.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-08 21:09:02 +00:00
Al Viro
034d2f5af1 [PATCH] arm: fix dependencies for MTD_XIP
MTD_XIP depends on having working asm/mtd-xip.h; it's not just per-architecture
(arm-only, as current Kconfig would have it), but actually per-subarch as
well.  Introduced a new symbol (ARCH_MTD_XIP) set by arch Kconfig; MTD_XIP
depends on it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2006-02-08 01:02:58 -05:00
Russell King
620739025b [SERIAL] Remove unnecessary serial.h include
imx.c does not use anything from serial.h, so remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-05 11:11:20 +00:00
Russell King
2c4c6b2702 [ARM] Remove ARCH_CAMELOT from at91 defconfigs
ARCH_CAMELOT (excalibur) got removed; remove it from the AT91 defconfigs

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-03 23:03:21 +00:00
Lucas Correia Villa Real
83f755f5a6 [ARM] 3286/2: S3C2400 - adds to the table of supported CPUs
Patch from Lucas Correia Villa Real

Oops, sorry for the typo on name_s3c2400, a new patch is attached.
About GSTATUS1, S3C2400 doesn't have that register, so it's not
safe to use that memory address to identify its CPU.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-01 21:24:24 +00:00
Lucas Correia Villa Real
0ca5bc3de7 [ARM] 3284/1: S3C2400 - adds support to GPIO
Patch from Lucas Correia Villa Real

This patch adds support to GPIO on the S3C2400, which is going to
be used by the GP32 machine and the SMDK2400 development board.

Signed-off-by: Lucas Correia Villa Real <lucasvr@gobolinux.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-01 21:24:23 +00:00
Russ Dill
7610dfa372 [ARM] 3295/1: Fix oprofile init return value
Patch from Russ Dill

The oprofile init code was broken in commit c6b9da. The new logic will
always return -ENODEV. This fixes oprofile_arch_init to return 0 on
success, and return the return value of spec->init() if applicable.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-01 21:07:28 +00:00
Nicolas Pitre
18afea04f1 [ARM] 3294/1: don't invalidate individual BTB entries on ARMv6
Patch from Nicolas Pitre

Doing so adds a much larger cost to the loop than the cost implied by
simply invalidating the whole BTB at once.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-02-01 19:26:01 +00:00