aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-04-28 10:41:43 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-04-28 10:41:43 +0000
commit1a0ef042317fd83f0fc8cc9ffd434a3419bc5301 (patch)
treeedb4e4242e76737e03680210625529749aa624bf /target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch
parent87ae19eaa3c7149c42c85ad9c04f2c737b54d991 (diff)
downloadupstream-1a0ef042317fd83f0fc8cc9ffd434a3419bc5301.tar.gz
upstream-1a0ef042317fd83f0fc8cc9ffd434a3419bc5301.tar.bz2
upstream-1a0ef042317fd83f0fc8cc9ffd434a3419bc5301.zip
adm8668: merge 3.3 fixes
SVN-Revision: 31497
Diffstat (limited to 'target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch')
-rw-r--r--target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch129
1 files changed, 0 insertions, 129 deletions
diff --git a/target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch b/target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch
deleted file mode 100644
index 79f5596b26..0000000000
--- a/target/linux/adm8668/patches-3.3/a01-adm8668-irq-code-fixes.patch
+++ /dev/null
@@ -1,129 +0,0 @@
---- a/arch/mips/adm8668/irq.c
-+++ b/arch/mips/adm8668/irq.c
-@@ -20,28 +20,7 @@
- #include <asm/irq.h>
- #include <adm8668.h>
-
--
--void enable_adm8668_irq(unsigned int irq);
--void disable_adm8668_irq(unsigned int irq);
--void adm8668_irq_cascade(void);
--
--void plat_irq_dispatch(void)
--{
-- unsigned int pending;
--
-- pending = read_c0_cause() & read_c0_status() & ST0_IM;
--
-- /* timer interrupt, that we renumbered */
-- if (pending & STATUSF_IP7)
-- do_IRQ(MIPS_CPU_IRQ_BASE + 7);
-- if (pending & STATUSF_IP2)
-- adm8668_irq_cascade();
--}
--
--/*
-- * System irq dispatch
-- */
--void adm8668_irq_cascade()
-+static void adm8668_irq_cascade(void)
- {
- int i;
- unsigned long intsrc;
-@@ -53,49 +32,53 @@ void adm8668_irq_cascade()
- }
-
- /*
-- * irq enable
-+ * System irq dispatch
- */
--static __inline void _irq_enable(int irql)
-+void plat_irq_dispatch(void)
- {
-- ADM8668_INTC_REG(IRQ_ENABLE_REG) = (1 << irql);
--}
-+ unsigned int pending;
-
-+ pending = read_c0_cause() & read_c0_status() & ST0_IM;
-
--/*
-- * irq disable
-- */
--static __inline void _irq_disable(int irql)
--{
-- ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irql);
-+ /* timer interrupt, that we renumbered */
-+ if (pending & STATUSF_IP7)
-+ do_IRQ(MIPS_CPU_IRQ_BASE + 7);
-+ if (pending & STATUSF_IP2)
-+ adm8668_irq_cascade();
- }
-
--
- /*
- * enable 8668 irq
- */
--void enable_adm8668_irq(unsigned int irq)
-+static void enable_adm8668_irq(struct irq_data *d)
- {
-+ int irq = d->irq;
-+
- if ((irq < 0) || (irq > NR_IRQS))
- return;
-
-- _irq_enable(irq);
-+ ADM8668_INTC_REG(IRQ_ENABLE_REG) = (1 << irq);
- }
-
-
- /*
- * disable 8668 irq
- */
--void disable_adm8668_irq(unsigned int irq)
-+static void disable_adm8668_irq(struct irq_data *d)
- {
-+ int irq = d->irq;
-+
- if ((irq < 0) || (irq > NR_IRQS))
- return;
-
-- _irq_disable(irq);
-+ ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq);
- }
-
--static inline void ack_adm8668_irq(unsigned int irq_nr)
-+static void ack_adm8668_irq(struct irq_data *d)
- {
-- ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq_nr);
-+ int irq = d->irq;
-+
-+ ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq);
- }
-
- /*
-@@ -104,20 +87,20 @@ static inline void ack_adm8668_irq(unsig
-
- static struct irq_chip adm8668_irq_type = {
- .name = "adm8668",
-- .ack = ack_adm8668_irq,
-- .mask = disable_adm8668_irq,
-- .unmask = enable_adm8668_irq
-+ .irq_ack = ack_adm8668_irq,
-+ .irq_mask = disable_adm8668_irq,
-+ .irq_unmask = enable_adm8668_irq
- };
-
- /*
- * irq init
- */
--void __init init_adm8668_irqs(void)
-+static void __init init_adm8668_irqs(void)
- {
- int i;
-
- for (i = 0; i <= INT_LVL_MAX; i++)
-- set_irq_chip_and_handler(i, &adm8668_irq_type,
-+ irq_set_chip_and_handler(i, &adm8668_irq_type,
- handle_level_irq);
-
- /* hw0 is where our interrupts are uh.. interrupted at. */