mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
Upgrade to Linux 2.6.19
- Includes large parts of the patch from #1021 by dpalffy - Includes RB532 NAND driver changes by n0-1 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5789 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -570,7 +570,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/nvram/nvram434.h linux-2.6.17-owrt/arch/m
|
||||
diff -Nur linux-2.6.17/arch/mips/aruba/prom.c linux-2.6.17-owrt/arch/mips/aruba/prom.c
|
||||
--- linux-2.6.17/arch/mips/aruba/prom.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.17-owrt/arch/mips/aruba/prom.c 2006-06-18 12:44:28.000000000 +0200
|
||||
@@ -0,0 +1,111 @@
|
||||
@@ -0,0 +1,114 @@
|
||||
+/**************************************************************************
|
||||
+ *
|
||||
+ * BRIEF MODULE DESCRIPTION
|
||||
@@ -609,7 +609,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/prom.c linux-2.6.17-owrt/arch/mips/aruba/
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/mm.h>
|
||||
+#include <linux/module.h>
|
||||
@@ -629,7 +629,10 @@ diff -Nur linux-2.6.17/arch/mips/aruba/prom.c linux-2.6.17-owrt/arch/mips/aruba/
|
||||
+unsigned int arch_has_pci=0;
|
||||
+
|
||||
+/* Kernel Boot parameters */
|
||||
+static unsigned char bootparm[] = "console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=jffs2";
|
||||
+static unsigned char bootparm[] =
|
||||
+ "mtdparts=physmap-flash.0:3520k@0x080000(zImage),2880k@0x120000(JFFS2),8k@0x3f8000(NVRAM) "
|
||||
+ "console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=jffs2 ";
|
||||
+
|
||||
+
|
||||
+extern unsigned long mips_machgroup;
|
||||
+extern unsigned long mips_machtype;
|
||||
@@ -725,7 +728,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/serial.c linux-2.6.17-owrt/arch/mips/arub
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/pci.h>
|
||||
@@ -783,7 +786,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/serial.c linux-2.6.17-owrt/arch/mips/arub
|
||||
diff -Nur linux-2.6.17/arch/mips/aruba/setup.c linux-2.6.17-owrt/arch/mips/aruba/setup.c
|
||||
--- linux-2.6.17/arch/mips/aruba/setup.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-2.6.17-owrt/arch/mips/aruba/setup.c 2006-06-18 12:44:28.000000000 +0200
|
||||
@@ -0,0 +1,134 @@
|
||||
@@ -0,0 +1,128 @@
|
||||
+/**************************************************************************
|
||||
+ *
|
||||
+ * BRIEF MODULE DESCRIPTION
|
||||
@@ -840,9 +843,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/setup.c linux-2.6.17-owrt/arch/mips/aruba
|
||||
+extern char *__init prom_getcmdline(void);
|
||||
+
|
||||
+extern void (*board_time_init) (void);
|
||||
+extern void (*board_timer_setup) (struct irqaction * irq);
|
||||
+extern void aruba_time_init(void);
|
||||
+extern void aruba_timer_setup(struct irqaction *irq);
|
||||
+extern void aruba_reset(void);
|
||||
+
|
||||
+#define epldMask ((volatile unsigned char *)0xB900000d)
|
||||
@@ -874,12 +875,10 @@ diff -Nur linux-2.6.17/arch/mips/aruba/setup.c linux-2.6.17-owrt/arch/mips/aruba
|
||||
+extern char * getenv(char *e);
|
||||
+extern void unlock_ap60_70_flash(void);
|
||||
+
|
||||
+void __init plat_setup(void)
|
||||
+void __init plat_mem_setup(void)
|
||||
+{
|
||||
+ board_time_init = aruba_time_init;
|
||||
+
|
||||
+ board_timer_setup = aruba_timer_setup;
|
||||
+
|
||||
+ _machine_restart = aruba_machine_restart;
|
||||
+ _machine_halt = aruba_machine_halt;
|
||||
+ pm_power_off = aruba_machine_halt;
|
||||
@@ -894,8 +893,6 @@ diff -Nur linux-2.6.17/arch/mips/aruba/setup.c linux-2.6.17-owrt/arch/mips/aruba
|
||||
+ unlock_ap60_70_flash();
|
||||
+
|
||||
+ printk("BOARD - %s\n",getenv("boardname"));
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int page_is_ram(unsigned long pagenr)
|
||||
@@ -960,7 +957,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/time.c linux-2.6.17-owrt/arch/mips/aruba/
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/kernel_stat.h>
|
||||
+#include <linux/sched.h>
|
||||
@@ -1011,7 +1008,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/time.c linux-2.6.17-owrt/arch/mips/aruba/
|
||||
+
|
||||
+}
|
||||
+
|
||||
+void __init aruba_timer_setup(struct irqaction *irq)
|
||||
+void __init plat_timer_setup(struct irqaction *irq)
|
||||
+{
|
||||
+ /* we are using the cpu counter for timer interrupts */
|
||||
+ setup_irq(MIPS_CPU_TIMER_IRQ, irq);
|
||||
@@ -1029,7 +1026,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/time.c linux-2.6.17-owrt/arch/mips/aruba/
|
||||
+ irq_enter();
|
||||
+ kstat_this_cpu.irqs[irq]++;
|
||||
+
|
||||
+ timer_interrupt(irq, NULL, regs);
|
||||
+ timer_interrupt(irq, NULL);
|
||||
+ irq_exit();
|
||||
+}
|
||||
diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
|
||||
@@ -1243,7 +1240,7 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/r
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/kernel.h>
|
||||
@@ -1849,7 +1846,7 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/r
|
||||
+#ifdef RC32434_REVISION
|
||||
+/* Ethernet Rx Overflow interrupt */
|
||||
+static irqreturn_t
|
||||
+rc32434_ovr_interrupt(int irq, void *dev_id, struct pt_regs * regs)
|
||||
+rc32434_ovr_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct net_device *dev = (struct net_device *)dev_id;
|
||||
+ struct rc32434_local *lp;
|
||||
@@ -1882,7 +1879,7 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/r
|
||||
+
|
||||
+/* Ethernet Tx Underflow interrupt */
|
||||
+static irqreturn_t
|
||||
+rc32434_und_interrupt(int irq, void *dev_id, struct pt_regs * regs)
|
||||
+rc32434_und_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct net_device *dev = (struct net_device *)dev_id;
|
||||
+ struct rc32434_local *lp;
|
||||
@@ -1915,7 +1912,7 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/r
|
||||
+
|
||||
+/* Ethernet Rx DMA interrupt */
|
||||
+static irqreturn_t
|
||||
+rc32434_rx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs)
|
||||
+rc32434_rx_dma_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct net_device *dev = (struct net_device *)dev_id;
|
||||
+ struct rc32434_local* lp;
|
||||
@@ -2129,7 +2126,7 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.c linux-2.6.17-owrt/drivers/net/r
|
||||
+
|
||||
+/* Ethernet Tx DMA interrupt */
|
||||
+static irqreturn_t
|
||||
+rc32434_tx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs)
|
||||
+rc32434_tx_dma_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct net_device *dev = (struct net_device *)dev_id;
|
||||
+ struct rc32434_local *lp;
|
||||
@@ -2630,11 +2627,11 @@ diff -Nur linux-2.6.17/drivers/net/rc32434_eth.h linux-2.6.17-owrt/drivers/net/r
|
||||
+static int rc32434_open(struct net_device *dev);
|
||||
+static int rc32434_send_packet(struct sk_buff *skb, struct net_device *dev);
|
||||
+static void rc32434_mii_handler(unsigned long data);
|
||||
+static irqreturn_t rc32434_und_interrupt(int irq, void *dev_id, struct pt_regs * regs);
|
||||
+static irqreturn_t rc32434_rx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs);
|
||||
+static irqreturn_t rc32434_tx_dma_interrupt(int irq, void *dev_id, struct pt_regs * regs);
|
||||
+static irqreturn_t rc32434_und_interrupt(int irq, void *dev_id);
|
||||
+static irqreturn_t rc32434_rx_dma_interrupt(int irq, void *dev_id);
|
||||
+static irqreturn_t rc32434_tx_dma_interrupt(int irq, void *dev_id);
|
||||
+#ifdef RC32434_REVISION
|
||||
+static irqreturn_t rc32434_ovr_interrupt(int irq, void *dev_id, struct pt_regs * regs);
|
||||
+static irqreturn_t rc32434_ovr_interrupt(int irq, void *dev_id);
|
||||
+#endif
|
||||
+static int rc32434_close(struct net_device *dev);
|
||||
+static struct net_device_stats *rc32434_get_stats(struct net_device *dev);
|
||||
@@ -6769,7 +6766,7 @@ diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32434/rc32434.h linux-2.6.1
|
||||
+#ifndef _RC32434_H_
|
||||
+#define _RC32434_H_
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/idt-boards/rc32434/rc32434_timer.h>
|
||||
@@ -9582,7 +9579,7 @@ diff -Nur linux-2.6.17/include/asm-mips/idt-boards/rc32438/rc32438.h linux-2.6.1
|
||||
+
|
||||
+#ifndef __IDT_RC32438_H__
|
||||
+#define __IDT_RC32438_H__
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/idt-boards/rc32438/rc32438_timer.h>
|
||||
|
||||
@@ -118,42 +118,4 @@ diff -Nur linux-2.6.15/drivers/mtd/chips/cfi_probe.c linux-2.6.15-openwrt/driver
|
||||
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL);
|
||||
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
|
||||
diff -Nur linux-2.6.15/drivers/mtd/maps/physmap.c linux-2.6.15-openwrt/drivers/mtd/maps/physmap.c
|
||||
--- linux-2.6.15/drivers/mtd/maps/physmap.c 2006-01-03 04:21:10.000000000 +0100
|
||||
+++ linux-2.6.15-openwrt/drivers/mtd/maps/physmap.c 2006-01-10 00:32:32.000000000 +0100
|
||||
@@ -34,15 +34,31 @@
|
||||
static struct mtd_partition *mtd_parts;
|
||||
static int mtd_parts_nb;
|
||||
|
||||
-static int num_physmap_partitions;
|
||||
-static struct mtd_partition *physmap_partitions;
|
||||
+static int num_physmap_partitions = 3;
|
||||
+static struct mtd_partition physmap_partitions[] = {
|
||||
+ {
|
||||
+ name: "zImage",
|
||||
+ size: 0x3f0000-0x80000,
|
||||
+ offset: 0x80000,
|
||||
+ },
|
||||
+ {
|
||||
+ name: "JFFS2",
|
||||
+ size: 0x3f0000-0x120000,
|
||||
+ offset: 0x120000,
|
||||
+ },
|
||||
+ {
|
||||
+ name: "NVRAM",
|
||||
+ size: 0x2000,
|
||||
+ offset: 0x3f8000,
|
||||
+ }
|
||||
+};
|
||||
|
||||
static const char *part_probes[] __initdata = {"cmdlinepart", "RedBoot", NULL};
|
||||
|
||||
void physmap_set_partitions(struct mtd_partition *parts, int num_parts)
|
||||
{
|
||||
- physmap_partitions=parts;
|
||||
- num_physmap_partitions=num_parts;
|
||||
+// physmap_partitions=parts;
|
||||
+// num_physmap_partitions=num_parts;
|
||||
}
|
||||
#endif /* CONFIG_MTD_PARTITIONS */
|
||||
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/irq.c linux-2.6.17-openwrt/arch/mips/arub
|
||||
+ irq_desc[i].status = IRQ_DISABLED;
|
||||
+ irq_desc[i].action = NULL;
|
||||
+ irq_desc[i].depth = 1;
|
||||
+ irq_desc[i].handler = &aruba_irq_type;
|
||||
+ irq_desc[i].chip = &aruba_irq_type;
|
||||
+ spin_lock_init(&irq_desc[i].lock);
|
||||
+ }
|
||||
+}
|
||||
@@ -263,7 +263,7 @@ diff -Nur linux-2.6.17/arch/mips/aruba/irq.c linux-2.6.17-openwrt/arch/mips/arub
|
||||
+ pend = READ_PEND_MUSCAT(addr);
|
||||
+ pend &= ~READ_MASK_MUSCAT(addr); // only unmasked interrupts
|
||||
+ pend = 39 - rc32434_clz(pend);
|
||||
+ do_IRQ(pend + (group << 5), regs);
|
||||
+ do_IRQ(pend + (group << 5));
|
||||
+ }
|
||||
+ break;
|
||||
+ case MACH_ARUBA_AP65:
|
||||
@@ -278,11 +278,11 @@ diff -Nur linux-2.6.17/arch/mips/aruba/irq.c linux-2.6.17-openwrt/arch/mips/arub
|
||||
+ pend = READ_PEND_MERLOT(addr);
|
||||
+ pend &= READ_MASK_MERLOT(addr); // only unmasked interrupts
|
||||
+ pend = 31 - rc32434_clz(pend);
|
||||
+ do_IRQ(pend + GROUP0_IRQ_BASE, regs);
|
||||
+ do_IRQ(pend + GROUP0_IRQ_BASE);
|
||||
+ }
|
||||
+ if ((ip = (cp0_cause & 0x3c00))) { // irq 2-5
|
||||
+ pend = 31 - rc32434_clz(ip);
|
||||
+ do_IRQ(pend - GROUP0_IRQ_BASE, regs);
|
||||
+ do_IRQ(pend - GROUP0_IRQ_BASE);
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
@@ -40,7 +40,7 @@ diff -Nur linux-2.6.15/arch/mips/pci/fixup-aruba.c linux-2.6.15-openwrt/arch/mip
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/kernel.h>
|
||||
@@ -120,10 +120,10 @@ diff -Nur linux-2.6.15/arch/mips/pci/fixup-aruba.c linux-2.6.15-openwrt/arch/mip
|
||||
diff -Nur linux-2.6.15/arch/mips/pci/Makefile linux-2.6.15-openwrt/arch/mips/pci/Makefile
|
||||
--- linux-2.6.15/arch/mips/pci/Makefile 2006-01-03 04:21:10.000000000 +0100
|
||||
+++ linux-2.6.15-openwrt/arch/mips/pci/Makefile 2006-01-10 00:32:32.000000000 +0100
|
||||
@@ -56,3 +56,4 @@
|
||||
obj-$(CONFIG_TOSHIBA_RBTX4938) += fixup-tx4938.o ops-tx4938.o
|
||||
@@ -53,3 +53,4 @@
|
||||
obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o
|
||||
obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o
|
||||
obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
|
||||
+obj-$(CONFIG_MACH_ARUBA) += fixup-aruba.o ops-aruba.o pci-aruba.o
|
||||
diff -Nur linux-2.6.15/arch/mips/pci/ops-aruba.c linux-2.6.15-openwrt/arch/mips/pci/ops-aruba.c
|
||||
--- linux-2.6.15/arch/mips/pci/ops-aruba.c 1970-01-01 01:00:00.000000000 +0100
|
||||
@@ -167,7 +167,7 @@ diff -Nur linux-2.6.15/arch/mips/pci/ops-aruba.c linux-2.6.15-openwrt/arch/mips/
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/types.h>
|
||||
@@ -375,7 +375,7 @@ diff -Nur linux-2.6.15/arch/mips/pci/pci-aruba.c linux-2.6.15-openwrt/arch/mips/
|
||||
+ **************************************************************************
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/kernel.h>
|
||||
|
||||
@@ -2,7 +2,7 @@ diff -Nur linux-2.6.15.1/drivers/char/watchdog/wdt_merlot.c linux-2.6.15.1-openw
|
||||
--- linux-2.6.15.1/drivers/char/watchdog/wdt_merlot.c 2006-01-26 21:14:02.204626250 -0800
|
||||
+++ linux-2.6.15.1-openwrt/drivers/char/watchdog/wdt_merlot.c 2006-02-02 20:31:43.000000000 -0800
|
||||
@@ -0,0 +1,110 @@
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
|
||||
@@ -21,7 +21,7 @@ diff -Nur linux-2.6.17/drivers/net/ar2313/ar2313.c linux-2.6.17-owrt/drivers/net
|
||||
+ * modified for the AR2313.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/types.h>
|
||||
@@ -1188,7 +1188,7 @@ diff -Nur linux-2.6.17/drivers/net/ar2313/ar2313.c linux-2.6.17-owrt/drivers/net
|
||||
+ tasklet_hi_schedule(&sp->rx_tasklet);
|
||||
+}
|
||||
+
|
||||
+static irqreturn_t ar2313_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
|
||||
+static irqreturn_t ar2313_interrupt(int irq, void *dev_id)
|
||||
+{
|
||||
+ struct net_device *dev = (struct net_device *)dev_id;
|
||||
+ struct ar2313_private *sp = dev->priv;
|
||||
@@ -1658,7 +1658,7 @@ diff -Nur linux-2.6.17/drivers/net/ar2313/ar2313.h linux-2.6.17-owrt/drivers/net
|
||||
+#ifndef _AR2313_H_
|
||||
+#define _AR2313_H_
|
||||
+
|
||||
+#include <linux/config.h>
|
||||
+#include <linux/autoconf.h>
|
||||
+#include <asm/bootinfo.h>
|
||||
+#include "platform.h"
|
||||
+
|
||||
@@ -1834,7 +1834,7 @@ diff -Nur linux-2.6.17/drivers/net/ar2313/ar2313.h linux-2.6.17-owrt/drivers/net
|
||||
+static void ar2313_dump_regs(struct net_device *dev);
|
||||
+#endif
|
||||
+static void ar2313_load_rx_ring(struct net_device *dev, int bufs);
|
||||
+static irqreturn_t ar2313_interrupt(int irq, void *dev_id, struct pt_regs *regs);
|
||||
+static irqreturn_t ar2313_interrupt(int irq, void *dev_id);
|
||||
+static int ar2313_open(struct net_device *dev);
|
||||
+static int ar2313_start_xmit(struct sk_buff *skb, struct net_device *dev);
|
||||
+static int ar2313_close(struct net_device *dev);
|
||||
|
||||
@@ -6,9 +6,9 @@ diff -Nurb linux-2.6.16.1/drivers/usb/host/ehci.h linux-patched/drivers/usb/host
|
||||
|
||||
struct timer_list watchdog;
|
||||
+ struct timer_list softirq;
|
||||
struct notifier_block reboot_notifier;
|
||||
unsigned long actions;
|
||||
unsigned stamp;
|
||||
unsigned long next_statechange;
|
||||
diff -Nurb linux-2.6.16.1/drivers/usb/host/ehci-hcd.c linux-patched/drivers/usb/host/ehci-hcd.c
|
||||
--- linux-2.6.16.1/drivers/usb/host/ehci-hcd.c 2006-03-27 22:49:02.000000000 -0800
|
||||
+++ linux-patched/drivers/usb/host/ehci-hcd.c 2006-04-07 13:20:13.000000000 -0700
|
||||
@@ -24,13 +24,13 @@ diff -Nurb linux-2.6.16.1/drivers/usb/host/ehci-hcd.c linux-patched/drivers/usb/
|
||||
#include "ehci-sched.c"
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
+static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs);
|
||||
+static irqreturn_t ehci_irq (struct usb_hcd *hcd);
|
||||
+
|
||||
+static void ehci_softirq (unsigned long param)
|
||||
+{
|
||||
+ struct ehci_hcd *ehci = (struct ehci_hcd *) param;
|
||||
+
|
||||
+ if (ehci_irq(ehci_to_hcd(ehci),0) != IRQ_NONE)
|
||||
+ if (ehci_irq(ehci_to_hcd(ehci)) != IRQ_NONE)
|
||||
+ set_bit(HCD_FLAG_SAW_IRQ, &(ehci_to_hcd(ehci))->flags);
|
||||
+ mod_timer (&ehci->softirq, jiffies + EHCI_SOFTIRQ);
|
||||
+}
|
||||
|
||||
Reference in New Issue
Block a user