Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f5e573a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Import updates from i386's i8259.c
  [MIPS] *-berr: Header inclusions for DEC bus error handlers
  [MIPS] Compile __do_IRQ() when really needed
  [MIPS] genirq: use name instead of typename
  [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.
  [MIPS] pte_offset(dir,addr): parenthesis fix
parents 9232d587 2cafe978
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -242,6 +242,7 @@ config LASAT
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select GENERIC_HARDIRQS_NO__DO_IRQ


config MIPS_ATLAS
config MIPS_ATLAS
	bool "MIPS Atlas board"
	bool "MIPS Atlas board"
@@ -265,6 +266,7 @@ config MIPS_ATLAS
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
	select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
	select GENERIC_HARDIRQS_NO__DO_IRQ
	help
	help
	  This enables support for the MIPS Technologies Atlas evaluation
	  This enables support for the MIPS Technologies Atlas evaluation
	  board.
	  board.
@@ -419,6 +421,7 @@ config MOMENCO_OCELOT_C
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select GENERIC_HARDIRQS_NO__DO_IRQ
	help
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.
	  Momentum Computer <http://www.momenco.com/>.
@@ -569,6 +572,7 @@ config SGI_IP27
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_NUMA
	select SYS_SUPPORTS_NUMA
	select SYS_SUPPORTS_SMP
	select SYS_SUPPORTS_SMP
	select GENERIC_HARDIRQS_NO__DO_IRQ
	help
	help
	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
	  workstations.  To compile a Linux kernel that runs on these, say Y
	  workstations.  To compile a Linux kernel that runs on these, say Y
@@ -835,6 +839,10 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
	bool
	bool
	default y
	default y


config GENERIC_HARDIRQS_NO__DO_IRQ
	bool
	default n

#
#
# Select some configuration options automatically based on user selections.
# Select some configuration options automatically based on user selections.
#
#
@@ -996,6 +1004,7 @@ config SOC_PNX8550
	select HW_HAS_PCI
	select HW_HAS_PCI
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_32BIT_KERNEL
	select GENERIC_HARDIRQS_NO__DO_IRQ


config SWAP_IO_SPACE
config SWAP_IO_SPACE
	bool
	bool
+1 −0
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@
#include <asm/cpu.h>
#include <asm/cpu.h>
#include <asm/irq_regs.h>
#include <asm/irq_regs.h>
#include <asm/processor.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/traps.h>
#include <asm/traps.h>


+1 −3
Original line number Original line Diff line number Diff line
@@ -67,7 +67,6 @@ static struct irq_chip ioasic_irq_type = {
	.mask = mask_ioasic_irq,
	.mask = mask_ioasic_irq,
	.mask_ack = ack_ioasic_irq,
	.mask_ack = ack_ioasic_irq,
	.unmask = unmask_ioasic_irq,
	.unmask = unmask_ioasic_irq,
	.end = end_ioasic_irq,
};
};




@@ -106,8 +105,7 @@ void __init init_ioasic_irqs(int base)
		set_irq_chip_and_handler(i, &ioasic_irq_type,
		set_irq_chip_and_handler(i, &ioasic_irq_type,
					 handle_level_irq);
					 handle_level_irq);
	for (; i < base + IO_IRQ_LINES; i++)
	for (; i < base + IO_IRQ_LINES; i++)
		set_irq_chip_and_handler(i, &ioasic_dma_irq_type,
		set_irq_chip(i, &ioasic_dma_irq_type);
					 handle_level_irq);


	ioasic_irq_base = base;
	ioasic_irq_base = base;
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -20,8 +20,10 @@
#include <linux/types.h>
#include <linux/types.h>


#include <asm/inst.h>
#include <asm/inst.h>
#include <asm/irq_regs.h>
#include <asm/mipsregs.h>
#include <asm/mipsregs.h>
#include <asm/page.h>
#include <asm/page.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/traps.h>
#include <asm/traps.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
+0 −7
Original line number Original line Diff line number Diff line
@@ -57,19 +57,12 @@ static void ack_kn02_irq(unsigned int irq)
	iob();
	iob();
}
}


static void end_kn02_irq(unsigned int irq)
{
	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
		unmask_kn02_irq(irq);
}

static struct irq_chip kn02_irq_type = {
static struct irq_chip kn02_irq_type = {
	.typename = "KN02-CSR",
	.typename = "KN02-CSR",
	.ack = ack_kn02_irq,
	.ack = ack_kn02_irq,
	.mask = mask_kn02_irq,
	.mask = mask_kn02_irq,
	.mask_ack = ack_kn02_irq,
	.mask_ack = ack_kn02_irq,
	.unmask = unmask_kn02_irq,
	.unmask = unmask_kn02_irq,
	.end = end_kn02_irq,
};
};




Loading