summaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)Author
2006-10-09IRQ: Use the new typedef for interrupt handler function pointersDavid Howells
Use the new typedef for interrupt handler function pointers rather than actually spelling out the full thing each time. This was scripted with the following small shell script: #!/bin/sh egrep -nHrl -e 'irqreturn_t[ ]*[(][*]' $* | while read i do echo $i perl -pi -e 's/irqreturn_t\s*[(]\s*[*]\s*([_a-zA-Z0-9]*)\s*[)]\s*[(]\s*int\s*,\s*void\s*[*]\s*[)]/irq_handler_t \1/g' $i || exit $? done Signed-Off-By: David Howells <dhowells@redhat.com>
2006-10-08[PATCH] m68k/kernel/dma.c assumes !MMU_SUN3Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] arm: it's OK to pass pointer to volatile as iounmap() argument...Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Cleanup unnecessary <asm/ptrace.h> inclusions. [MIPS] DEC: pt_regs fixes for buserror handlers [MIPS] Fix return type of gt64120_irq. [MIPS] Ocelot C: Build fix - ll_mv64340_irq takes no more regs argument. [MIPS] Jazz defconfig file. [MIPS] Jazz: build fix - include <linux/screen_info.h> [MIPS] Jazz: Remove warning. After 7 years probably somebody test this ;) [MIPS] Jazz: Fix I/O port resources. [MIPS] DEC: pt_regs fixes for dec_intr_halt. handle_sysrq lost its pt_regs * argument Manual conflict resolved in arch/um/drivers/mconsole_kern.c
2006-10-08[PATCH] uml pt_regs fixesAl Viro
Real fix for UML pt_regs stuff. Note set_irq_regs() logics in there... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-09[MIPS] Cleanup unnecessary <asm/ptrace.h> inclusions.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] DEC: pt_regs fixes for buserror handlersRalf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Fix return type of gt64120_irq.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Ocelot C: Build fix - ll_mv64340_irq takes no more regs argument.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Jazz defconfig file.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Jazz: build fix - include <linux/screen_info.h>Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Jazz: Remove warning. After 7 years probably somebody test this ;)Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] Jazz: Fix I/O port resources.Ralf Baechle
struct resource members were shuffeled a while ago. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09[MIPS] DEC: pt_regs fixes for dec_intr_halt.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-09handle_sysrq lost its pt_regs * argumentRalf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-08Revert "[POWERPC] Don't get PCI IRQ from OF for devices with no IRQ"Linus Torvalds
This reverts commit 41550c5128150175197257b6ceab2cd50dea7b51. Quoth Ben Herrenschmidt: "Please revert this one for now. It seems to break G5s :( Looks like PCI cells inside Apple IO ASICs don't have a PCI_INTERRUPT_LINE set. I need to figure out a better fix." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] missed ia64 pt_regs fixesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] alpha pt_regs cleanups: collapse set_irq_regs() in titan_dispatch_irqs()Al Viro
titan_dispatch_irqs() always gets get_irq_regs() as argument; kill the argument and collapse set_irq_regs() in body. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] alpha pt_regs cleanups: machine_check()Al Viro
do set_irq_regs() in caller, kill pt_regs argument. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] alpha pt_regs cleanups: handle_irq()Al Viro
isa_no_iack_sc_device_interrupt() always gets get_irq_regs() as argument; kill that argument. All but two callers of handle_irq() pass get_irq_regs() as argument; convert the remaining two, kill set_irq_regs() inside handle_irq(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] alpha pt_regs cleanups: device_interruptAl Viro
callers of ->device_interrupt() do set_irq_regs() now; pt_regs argument removed, remaining uses of regs in instances of ->device_interrupt() are switched to get_irq_regs() and will be gone in the next patch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] m68k pt_regs fixes, part 2Al Viro
Fallout from previous patch: - actually add include/asm-m68k/irq_regs.h - missed the prototype of sun3_sched_init() NB: git diff without argumentgs sucks when you've added some files... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] sparc32 rwlock fixAl Viro
read_trylock() is broken on sparc32 (doesn't build and didn't work right, actually). Proposed fix: - make "writer holds lock" distinguishable from "reader tries to grab lock" - have __raw_read_trylock() try to acquire the mutex (in LSB of lock), terminating spin if we see that there's writer holding it. Then do the rest as we do in read_lock(). Thanks to Ingo for discussion... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] sparc64 pt_regs fixesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] sparc32 pt_regs fixesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08Merge branch 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6Linus Torvalds
* 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6: [PARISC] More pt_regs removal [PARISC] pdc_init no longer exists [PARISC] Make firmware calls irqsafe-ish... [PA-RISC] Fix boot breakage [PARISC] Use set_irq_regs
2006-10-08[PATCH] x86_64 irq: Allocate a vector across all cpus for genapic_flat.Eric W. Biederman
The problem we can't take advantage of lowest priority delivery mode if the vectors are allocated for only one cpu at a time. Nor can we work around hardware that assumes lowest priority delivery mode is always used with several cpus. So this patch introduces the concept of a vector_allocation_domain. A set of cpus that will receive an irq on the same vector. Currently the code for implementing this is placed in the genapic structure so we can vary this depending on how we are using the io_apics. This allows us to restore the previous behaviour of genapic_flat without removing the benefits of having separate vector allocation for large machines. This should also fix the problem report where a hyperthreaded cpu was receving the irq on the wrong hyperthread when in logical delivery mode because the previous behaviour is restored. This patch properly records our allocation of the first 16 irqs to the first 16 available vectors on all cpus. This should be fine but it may run into problems with multiple interrupts at the same interrupt level. Except for some badly maintained comments in the code and the behaviour of the interrupt allocator I have no real understanding of that problem. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] i386/x86_64: Remove global IO_APIC_VECTOREric W. Biederman
Which vector an irq is assigned to now varies dynamically and is not needed outside of io_apic.c. So remove the possibility of accessing the information outside of io_apic.c and remove the silly macro that makes looking for users of irq_vector difficult. The fact this compiles ensures there aren't any more pieces of the old CONFIG_PCI_MSI weirdness that I failed to remove. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[PATCH] i386/x86_64: FIX pci_enable_irq to set dev->irq to the irq numberEric W. Biederman
In commit ace80ab796ae30d2c9ee8a84ab6f608a61f8b87b I removed the weird logic that used the vector number as the irq number when MSI was defined. However pci_enable_irq was using a different test in the io_apic_assign_irqs path and I missed it :( This patch removes the wrong code so no one hits this problem. This code is only active when a specific set of boot command line parameters is specified which likely explains why no one has notices this earlier. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-08[MIPS] Complete fixes after removal of pt_regs argument to int handlers.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-08[MIPS] Show actual CPU information in /proc/cpuinfoKarl-Johan Karlsson
Currently, /proc/cpuinfo contains several copies of the information for whatever processor we happen to be scheduled on. This patch makes it contain the proper information for each CPU, which is particularly useful on mixed R12k/R10k IP27 machines. Signed-off-by: Karl-Johan Karlsson <creideiki@lysator.liu.se> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-08[MIPS] Cobalt: Time runs too quicklyScott Ashcroft
A kernel built with HZ==250 runs about 4 four times too quickly on a Cobalt RaQ2. Signed-off-by: Scott Ashcroft <scott.ashcroft@talk21.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-08[MIPS] Update Malta config.Ralf Baechle
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-10-07Merge branch 'merge' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] PReP fixup after irq changes [POWERPC] SPU fixup after irq changes [POWERPC] Fix up after irq changes [POWERPC] Fix iseries/smp.c for irq breakage [POWERPC] Fix viocons for irq breakage [POWERPC] Update iseries_defconfig [POWERPC] Fix fsl_soc build breaks [POWERPC] Minor fix for bootargs property [POWERPC] Update MTFSF_L() comment [POWERPC] Update pSeries defconfig for SATA [POWERPC] Don't get PCI IRQ from OF for devices with no IRQ [POWERPC] Fix zImage decompress location [POWERPC] linux,tce-size property is 32 bits [POWERPC] Add DTS for MPC8349E-mITX board [POWERPC] Fix harmless typo [PPC] Fix some irq breakage with ARCH=ppc
2006-10-07[PATCH] m32r pt_regs fixesAl Viro
... and now with irq_regs.h not forgotten... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-07[PATCH] minimal alpha pt_regs fixesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-07[PATCH] m68k pt_regs fixesAl Viro
m68k_handle_int() split in two functions: __m68k_handle_int() takes pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs *. Places where we used to call m68k_handle_int() recursively with the same pt_regs have simply lost the second argument, the rest is switched to __m68k_handle_int(). The rest of patch is just dropping pt_regs * where needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-07[POWERPC] PReP fixup after irq changesOlaf Hering
Compile fixes for PReP in ARCH=ppc. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] SPU fixup after irq changesOlaf Hering
Remove struct pt_regs * from remaining spu irq functions. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Fix up after irq changesOlaf Hering
Remove struct pt_regs * from all handlers. Also remove the regs argument from get_irq() functions. Compile tested with arch/powerpc/config/* and arch/ppc/configs/prep_defconfig Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[PARISC] More pt_regs removalMatthew Wilcox
Remove pt_regs from ipi_interrupt and timer_interrupt. Inline smp_do_timer() into its only caller, and unify the SMP and non-SMP paths. Fixes a profiling bug. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07[PARISC] Make firmware calls irqsafe-ish...Kyle McMartin
There's no reason why we shouldn't be using _irqsave instead of _irq for any of these calls. fwiw, this fixes the "start_kernel(): bug: interrupts were enabled early" message displayed on bootup recently. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07[PA-RISC] Fix boot breakageMatthew Wilcox
Conditionals were the wrong way around. Turns out I was booting the wrong kernel when testing the original fix. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07[PARISC] Use set_irq_regsMatthew Wilcox
Actually set the irq_regs pointer. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-06Merge branch 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6Linus Torvalds
* 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6: Build fixes for struct pt_regs removal
2006-10-06Build fixes for struct pt_regs removalMatthew Wilcox
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07[POWERPC] Fix iseries/smp.c for irq breakageStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Update iseries_defconfigStephen Rothwell
This make sure that an iseries_defconfig does not inlude other platforms. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Fix fsl_soc build breaksOlof Johansson
Hrm, there's no way this ever built at time of merge. There's a missing } and the wrong type on phy_irq. Also, another const for get_property(). CC arch/powerpc/sysdev/fsl_soc.o arch/powerpc/sysdev/fsl_soc.c: In function 'fs_enet_of_init': arch/powerpc/sysdev/fsl_soc.c:625: error: assignment of read-only variable 'phy_irq' arch/powerpc/sysdev/fsl_soc.c:625: warning: assignment makes integer from pointer without a cast arch/powerpc/sysdev/fsl_soc.c:661: warning: assignment discards qualifiers from pointer target type arch/powerpc/sysdev/fsl_soc.c:684: error: subscripted value is neither array nor pointer arch/powerpc/sysdev/fsl_soc.c:687: error: subscripted value is neither array nor pointer arch/powerpc/sysdev/fsl_soc.c:722: warning: ISO C90 forbids mixed declarations and code arch/powerpc/sysdev/fsl_soc.c:728: error: invalid storage class for function 'cpm_uart_of_init' arch/powerpc/sysdev/fsl_soc.c:798: error: initializer element is not constant arch/powerpc/sysdev/fsl_soc.c:798: error: expected declaration or statement at end of input make[1]: *** [arch/powerpc/sysdev/fsl_soc.o] Error 1 Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[PATCH] x86_64 irq_regs fixAndrew Morton
smp_apic_timer_interrupt() needs to stack the pt_regs* for profile_tick. If any other of those APIC interrupt handlers want to run get_irq_regs() then their C entrypoint handlers will need the same treatment. Cc: Andi Kleen <ak@muc.de> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>