summaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] 3220/1: Remove gpio_isr_line_clear() from NAS 100dDeepak Saxena2006-01-042-8/+0
| | | | | | | | | | | | Patch from Deepak Saxena This patch removes referneces to gpio_isr_line_clear() from the NAS 100d platform implementation. Depends on 3192/1 and 3215/1 Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3215/1: Iomega NAS 100d (MACH_NAS100D) machine supportRod Whitby2006-01-045-0/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Rod Whitby This patch adds support for a new arm/ixp4xx machine - the Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card. Work on porting the latest 2.6.x kernel to this device is being done by the NSLU2-Linux project (the same team who maintains the port to the Linksys NSLU2 device). In particular, the majority of this patch was authored by Alessandro Zummo, based on the work done for MACH_NSLU2 support by the NSLU2-Linux core team of developers. MACH_NAS100D (as implemented by this patch) can be enabled in jumbo ixp4xx kernels without any affect on the other machines supported by that kernel. This patch applies cleanly against 2.6.15-rc7 and should be trivial to apply to later kernel versions. It does not depend upon any other patches. Modified files (and number of lines inserted): arch/arm/mach-ixp4xx/Kconfig | 8 arch/arm/mach-ixp4xx/Makefile | 1 include/asm-arm/arch-ixp4xx/hardware.h | 1 include/asm-arm/arch-ixp4xx/irqs.h | 9 include/asm-arm/arch-ixp4xx/nas100d.h | 75 arch/arm/mach-ixp4xx/nas100d-pci.c | 77 arch/arm/mach-ixp4xx/nas100d-power.c | 69 arch/arm/mach-ixp4xx/nas100d-setup.c | 133 -- Rod Whitby (NSLU2-Linux project lead) 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>
* [ARM] 3192/1: Remove gpio_isr_line_clear() API from IXP4xxDeepak Saxena2006-01-046-23/+3
| | | | | | | | | | | | Patch from Deepak Saxena Other than interrupt masking purposes, this API is only used when configuring interrupt lines and this patch moves that functionality directly into the ixp4xx_set_irq_type() implementation as board level PCI code should not need to worry about those details. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove SA1100 PM prepare/finish opsRussell King2006-01-041-18/+0
| | | | | | These are empty, unnecessary functions, so remove them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Move DMA exports to be next to each functionRussell King2006-01-041-14/+12
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove definition of MAX_DMA_CHANNELS to zeroRussell King2006-01-041-28/+0
| | | | | | | | | Since we now only build arch/arm/kernel/dma.c on machine types which set ISA_DMA_API, we don't need to define MAX_DMA_CHANNELS to 0 to indicate this - this definition becomes superfluous. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Refine selection of ISA_DMA_API and generic dma.c codeRussell King2006-01-042-2/+7
| | | | | | | | | | | | ISA_DMA_API tells the rest of the kernel if the ISA DMA API is available. Select this symbol only on machine types which make use of the ISA DMA API. Make building of arch/arm/kernel/dma.c depend on this symbol - if a machine does not support the ISA DMA API, it's pointless building this file. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Use core_initcall() to initialise ARM DMARussell King2006-01-042-4/+4
| | | | | | | There's no need to have DMA initialised at the same time as interrupts. Move it to a core_initcall(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove '__address' from scatterlist and convert to DMA APIRussell King2006-01-043-26/+28
| | | | | | | | | | | | The old __address element in struct scatterlist remained from older kernels because the ARM DMA emulation code made use of it. Move this field into struct dma_struct, and convert DMA emulation code to setup a SG entry as required. Also, convert DMA emulation code to use the new DMA API rather than the PCI DMA API. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Move ISA DMA bus_to_virt() out of set_dma_addr()Russell King2006-01-041-4/+4
| | | | | | | Allow the compiler to optimise the bus_to_virt(virt_to_bus()) transformation in the ARM ISA DMA interface. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove unused dma.c filesRussell King2006-01-043-90/+0
| | | | | | | CLPS711x, EPXA10DB and Integrator contained a dma.c file which has never been built. Remove these redundant files. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove clk_use()/clk_unuse()Russell King2006-01-037-61/+0
| | | | | | | | | It seems that clk_use() and clk_unuse() are additional complexity which isn't required anymore. Remove them from the clock framework to avoid the additional confusion which they cause, and update all ARM machine types except for OMAP. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Cleanup ARM includesRussell King2006-01-0310-17/+3
| | | | | | | | | | | | | | | | arch/arm/kernel/entry-armv.S has contained a comment suggesting that asm/hardware.h and asm/arch/irqs.h should be moved into the asm/arch/entry-macro.S include. So move the includes to these two files as required. Add missing includes (asm/hardware.h, asm/io.h) to asm/arch/system.h includes which use those facilities, and remove asm/io.h from kernel/process.c. Remove other unnecessary includes from arch/arm/kernel, arch/arm/mm and arch/arm/mach-footbridge. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Make kernel link address depend on PAGE_OFFSETRussell King2006-01-035-17/+16
| | | | | | | | | | | | We are coding the kernel link address into the makefiles, which is invisibly dependent on PAGE_OFFSET. If PAGE_OFFSET is changed, the makefiles also need to be changed. Make adjustments such that the makefiles encode just the offset from PAGE_OFFSET for the kernel link address, and use PAGE_OFFSET in the linker scripts directly. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3210/1: add missing memory barrier helper for NPTL supportNicolas Pitre2005-12-191-0/+49
| | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre Strictly speaking, the NPTL kernel helpers are required for pre ARMv6 only. They are available on ARMv6+ as well for obvious compatibility reasons. However there are cases where extra memory barriers are needed when using an SMP ARMv6 machine but not on pre-ARMv6. This patch adds a memory barrier kernel helper that glibc can use as needed for pre-ARMv6 binaries to be forward compatible with an SMP kernel on ARMv6, as well as the necessary dmb instructions to the cmpxchg helper. Signed-off-by: Nicolas Pitre <nico@cam.org> Acked-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix sys_sendto and sys_recvfrom 6-arg syscallsRussell King2005-12-172-22/+6
| | | | | | | | | | | | | | Rather than providing more wrappers for 6-arg syscalls, arrange for them to be supported as standard. This just means that we always store the 6th argument on the stack, rather than in the wrappers. This means we eliminate the wrappers for: * sys_futex * sys_arm_fadvise64_64 * sys_mbind * sys_ipc Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3205/1: Handle new EABI relocations when loading kernel modules.Daniel Jacobowitz2005-12-141-0/+2
| | | | | | | | | | | Patch from Daniel Jacobowitz Handle new EABI relocations when loading kernel modules. This is necessary for CONFIG_AEABI kernels, and also for some broken (since fixed) old ABI toolchains. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3201/1: PXA27x: Prevent hangup during resume due to inadvertedly ↵Lothar Wassmann2005-12-121-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enabling MBREQ (replaces: 3198/1) Patch from Lothar Wassmann The patch makes sure, that the ouptut functions of pins are restored before restoring the Alternat Function settings, preventing pins from being intermediately configured for undefined or unwanted alternate functions. Here is the original comment: I've got a PXA270 system that uses GPIO80 as nCS4. This system did hang on resume. Digging into the problem I found that the processor stalled immediately when restoring the GAFR2_U register which restored the alternate function for GPIO80. Since the GPDR registers were restored after the GAFR registers, the offending GPIO was configured as input at this point. Thus the alternate function that was in effect after restoring the GAFR was in fact the input function "MBREQ" instead of the output function "nCS4". The "PXA27x Processor Family Developer's Manual" (Footnote in Table 6-1 on page 6-3) states that: "The MBREQ alternate function must not be enabled until the PSSR[RDH] bit field is cleared. For more details, see Table 3-15, "PSSR Bit Definitions" on page 3-71." There is another note in the Developer's Manual (chapter 24.4.2 "GPIO operation as Alternate Function" on page 24-4) stating that: "Configuring a GPIO for an alternate function that is not defined for it causes unpredictable results." Since some GPIOs have no input function defined, and to prevent inadvertedly programming the MBREQ function on some pin, the GAFR registers should be restored after the GPDR registers have been restored. Additional provisions have to be made when the MBREQ function is actually required. The corresponding GAFR bits should not be restored with the regular GAFR restore, but must be set only after the PSSR bits have been cleared. Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3200/1: Singlestep over ARM BX and BLX instructions using ptrace fixNikola Valerjev2005-12-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nikola Valerjev Single stepping an application using ptrace() fails over ARM instructions BX and BLX. Steps to reproduce: Compile and link the following files main.c ----- void foo(); int main() { foo(); return 0; } foo.s ----- .text .globl foo foo: BX LR Using ptrace() functionality, run to main(), and start singlestepping. Singlestep over \"BX LR\" instruction won\'t transfer the control back to main, but run the code to completion. This problems seems to be in the function get_branch_address() in arch/arm/kernel/ptrace.c. The function doesn\'t seem to recognize BX and BLX instructions as branches. BX and BLX instructions can be used to convert from ARM to Thumb mode if the target address has the low bit set. However, they are also perfectly legal in the ARM only mode. Although other things in the kernel seem to indicate that only ARM mode is accepted (and not Thumb), many compilers will generate BX and BLX instructions even when generating ARM only code. Signed-off-by: Nikola Valerjev <nikola@ghs.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3188/1: Add missing i2c dependency for AkitaRichard Purdie2005-12-012-1/+20
| | | | | | | | | | Patch from Richard Purdie Akita requires inbuilt kernel i2c support for its GPIOs. Add this requirement to Kconfig and update the defconfig to match. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix IXDP425 setup bugJeff Hansen2005-12-011-1/+1
| | | | | | | | There is a typo in the ARM IXDP425 setup definition that mistakenly tries to use UART1's IRQ for UART2's traffic. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM SMP] Disable lazy flush_dcache_page for SMPRussell King2005-11-301-1/+6
| | | | | | | Lazy flush_dcache_page() causes userspace instability on SMP platforms, so disable it for now. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3180/1: Update Zaurus defconfigsRichard Purdie2005-11-283-1053/+126
| | | | | | | | | | Patch from Richard Purdie This updates the Zaurus defconfigs. Poodle gets merged into corgi_defconfig and support for tosa and akita is enabled. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3179/1: Update/correct Zaurus Kconfig entriesRichard Purdie2005-11-281-2/+2
| | | | | | | | | | Patch from Richard Purdie Add iWMMX Extentions for the pxa27x based Zaurus models and fix a couple of minor mistakes in the PXA Kconfig file. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Update mach-typesRussell King2005-11-251-4/+10
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Realview core.c does not need mach-types.hRussell King2005-11-251-1/+0
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Do not call flush_tlb_kernel_range() with IRQs disabled.Russell King2005-11-251-3/+10
| | | | | | | | | | | | | | | | | | We must not call TLB maintainence operations with interrupts disabled, otherwise we risk a lockup in the SMP IPI code. This means that consistent_free() can not be called from a context with IRQs disabled. In addition, we must not hold the lock in consistent_free when we call flush_tlb_kernel_range(). However, we must continue to prevent consistent_alloc() from re-using the memory region until we've finished tearing down the mapping and dealing with the TLB. Therefore, leave the vm_region entry in the list, but mark it inactive before dropping the lock and starting the tear-down process. After the mapping has been torn down, re-acquire the lock and remove the entry from the list. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove mach-types.h from head.SRussell King2005-11-251-8/+3
| | | | | | | | We don't really need to check whether the machine type is Netwinder or CATS before setting up the PCI IO mapping for debugging. This allows us to eliminate asm/mach-types.h from head.S Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Shut up gcc warning in clps7500 core.cRussell King2005-11-211-1/+1
| | | | | | core.c:263: warning: initialization makes integer from pointer without a cast Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Shut up gcc warning in assabet.cRussell King2005-11-211-1/+2
| | | | | | assabet.c:291: warning: 'scr' may be used uninitialized in this function Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3170/1: Sharp SL-6000x: platform device conversion fixupDirk Opfer2005-11-211-1/+1
| | | | | | | | | Patch from Dirk Opfer Fix an error in tosa.c after the platform device conversion. Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3168/1: Update ARM signal delivery and maskingDaniel Jacobowitz2005-11-194-201/+14
| | | | | | | | | | | | | | | | | Patch from Daniel Jacobowitz After delivering a signal (creating its stack frame) we must check for additional pending unblocked signals before returning to userspace. Otherwise signals may be delayed past the next syscall or reschedule. Once that was fixed it became obvious that the ARM signal mask manipulation was broken. It was a little bit broken before the recent SA_NODEFER changes, and then very broken after them. We must block the requested signals before starting the handler or the same signal can be delivered again before the handler even gets a chance to run. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix get_user when passed a const pointerRussell King2005-11-182-12/+0
| | | | | | | | Unfortunately, later gcc versions error out when our get_user is passed a const pointer, since we write to a temporary variable declared as typeof(*(p)) which propagates the const-ness. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix some corner cases in new mm initialisationRussell King2005-11-171-11/+13
| | | | | | | | | | | | | | Document that the VMALLOC_END address must be aligned to 2MB since it must align with a PGD boundary. Allocate the vectors page early so that the flush_cache_all() later will cause any dirty cache lines in the direct mapping will be safely written back. Move the flush_cache_all() to the second local_flush_cache_tlb() and remove the now redundant first local_flush_cache_tlb(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] __ioremap doesn't use 4th argumentRussell King2005-11-171-2/+1
| | | | | | | | The "align" argument in ARMs __ioremap is unused and provides a misleading expectation that it might do something. It doesn't. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Improve comment about ASSERT()s in vmlinux.lds.SRussell King2005-11-171-1/+5
| | | | | | | Provide folk with an idea what to do if the ASSERT statements fail with their linker. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] sa1111.c needs asm/sizes.hRussell King2005-11-161-0/+1
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Move zone adjustment for SA1111 on SA11x0 platformsRussell King2005-11-161-0/+11
| | | | | | | | | Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we can't include asm/page.h into this file because then we have a circular dependency. Move the offending code to arch/arm/common/sa1111.c instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3162/1: S3C2410 - updated defconfigBen Dooks2005-11-161-25/+94
| | | | | | | | | | | Patch from Ben Dooks Minor changes, including add SysRq, selecting the DM9000 as a built-in driver, not as a module, and selecting the framebuffer. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3161/1: BAST - fix commas on end of structsBen Dooks2005-11-161-14/+14
| | | | | | | | | | Patch from Ben Dooks Make the use of , on the lsat entry structs consistenent through arch/arm/mach-s3c2410/mach-bast.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] compressed/head.S debugging defaults to asm/arch/debug-macro.SRussell King2005-11-161-19/+11
| | | | | | | | Since we want new platforms to use debug-macro.S, make the decompressor debugging method default to using this include file rather than having new platforms add to an #if defined(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Include asm/hardware.h instead of asm/arch/hardware.hRussell King2005-11-165-5/+5
| | | | | | Rationalise hardware.h include. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Fix arch-realview/system.h to use __io_address()Russell King2005-11-163-6/+1
| | | | | | | Move __io_address to arch-realview/hardware.h, drop core.h from platsmp.c and localtimer.c, and include asm/io.h where required. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Initialise SA1111 core before SA1111 PCMCIARussell King2005-11-151-1/+1
| | | | | | | This avoids a BUG_ON with kref.c when SA1111 tries to register a driver with an unregistered bus type. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Use kernel/power/KconfigRussell King2005-11-151-16/+2
| | | | | | | | Rather than defining our own PM option, use kernel/power/Kconfig. This fixes build errors introduced by bca73e4bf8563d83f7856164caa44d5f42e44cca Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-11-1313-77/+820
|\
| * [ARM] 3160/1: SharpSL: Add driver for Akita specific GPIOsRichard Purdie2005-11-132-0/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Richard Purdie Add a driver for the extra GPIOs found on the Sharp SL-C1000 (Akita). These GPIOs are found on a Maxim MAX7310 I2C i/o expander chip. A generic GPIO driver for the MAX7310 was attempted but this mini driver is a much simpler and much more effective solution avoiding several issues and complexity the generic driver had (as discussed on LKML). The platform device is required so the device parent can be set correctly which ensures the device is one of the last to suspend and first to resume. Whilst the i2c suspend/resume calls can be influenced, nothing guarantees this is easlier/later than the subsystems the gpios are used on which are all independent of i2c (sound, irda, video/backlight etc.). Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 3159/1: SharpSL: Add PM device driver for the SL-Cx00 machines.Richard Purdie2005-11-132-1/+234
| | | | | | | | | | | | | | | | | | Patch from Richard Purdie Add a SharpSL PM device driver for the SL-Cxx00 machines. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 3158/1: SharpSL: Add PM device driver for the SL-C7x0 machines.Richard Purdie2005-11-132-1/+229
| | | | | | | | | | | | | | | | | | Patch from Richard Purdie Add a SharpSL PM device driver for the SL-C7x0 machines. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Re-fix footbridgeRussell King2005-11-131-1/+1
| | | | | | | | | | | | That's __phys_to_pfn, not __phy_to_pfn. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>