From 94d87cd53a89e085b09ca55c1bc05a7c313998e8 Mon Sep 17 00:00:00 2001 From: "nslu2-linux.adm@bkbits.net" Date: Mon, 17 Jan 2005 19:40:13 +0000 Subject: Merge bk://oe-devel.bkbits.net/openembedded into bkbits.net:/repos/n/nslu2-linux/openembedded 2005/01/17 20:11:51+01:00 (none)!br1 Merge bk://oe-devel@oe-devel.bkbits.net/openembedded into null.(none):/data/mtx/closed/build/unstable/openembedded 2005/01/17 20:11:11+01:00 (none)!br1 hostap-modules: update mtx deferred irq patch for new driver versions 2005/01/17 18:44:43+00:00 cambridgebroadband.com!rjt Merge oe-devel@oe-devel.bkbits.net:openembedded into flotta.cambridgebroadband.com:/development/openembedded/openembedded 2005/01/17 18:22:19+00:00 cambridgebroadband.com!rjt patch ipkg to remove c99isms to allwo compilation on gcc<3.0 2005/01/17 18:20:42+00:00 cambridgebroadband.com!rjt update sdcontrol for new mount position 2005/01/17 18:19:32+00:00 cambridgebroadband.com!rjt use newer gpe-package in oz-3.5.3 2005/01/14 17:57:37+00:00 cambridgebroadband.com!rjt make bluez-utils depend on the correct version s of bluez-libs BKrev: 41ec149dhPOtom4czqqCF84k5CsW4A --- .../mtx_hostap_deferred_irq.diff | 81 ++++++++++++++++++++++ .../mtx_hostap_deferred_irq.diff | 81 ++++++++++++++++++++++ 2 files changed, 162 insertions(+) (limited to 'packages/hostap') diff --git a/packages/hostap/hostap-modules-0.2.6/mtx_hostap_deferred_irq.diff b/packages/hostap/hostap-modules-0.2.6/mtx_hostap_deferred_irq.diff index e69de29bb2..e979b72d93 100644 --- a/packages/hostap/hostap-modules-0.2.6/mtx_hostap_deferred_irq.diff +++ b/packages/hostap/hostap-modules-0.2.6/mtx_hostap_deferred_irq.diff @@ -0,0 +1,81 @@ +--- driver/modules/hostap_pci.c.orig 2004-11-30 06:41:48.000000000 +0100 ++++ driver/modules/hostap_pci.c 2005-01-17 19:47:33.710400496 +0100 +@@ -50,6 +50,13 @@ + }; + + ++#define DEFERRED_IRQ_INITIALIZATION ++ ++#ifdef DEFERRED_IRQ_INITIALIZATION ++struct net_device *devb[MAX_PARM_DEVICES]; ++#endif ++ ++ + #ifdef PRISM2_IO_DEBUG + + static inline void hfa384x_outb_debug(struct net_device *dev, int a, u8 v) +@@ -280,6 +287,10 @@ + + pci_set_drvdata(pdev, dev); + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++ printk("%s: deferred initialization of IRQs\n", dev_info); ++ devb[cards_found-1] = dev; ++#else + if (request_irq(dev->irq, prism2_interrupt, SA_SHIRQ, dev->name, + dev)) { + printk(KERN_WARNING "%s: request_irq failed\n", dev->name); +@@ -295,7 +306,7 @@ + + printk(KERN_INFO "%s: Intersil Prism2.5 PCI: " + "mem=0x%lx, irq=%d\n", dev->name, phymem, dev->irq); +- ++#endif + return hostap_hw_ready(dev); + + fail: +@@ -399,18 +410,43 @@ + }; + + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++static void deferred_init(int num_devices) ++{ ++ int n; ++ for (n=0; nirq, prism2_interrupt, SA_SHIRQ, devb[n]->name, ++ devb[n])) { ++ printk(KERN_WARNING "%s: request_irq failed\n", devb[n]->name); ++ } ++ if (prism2_hw_config(devb[n], 1)) { ++ printk(KERN_DEBUG "%s: hardware initialization failed\n", devb[n]->name) ++; ++ } ++ printk(KERN_INFO "%s: Intersil Prism2.5 PCI: irq=%d\n", devb[n]->name, devb[n]-> ++irq); ++ } ++} ++#endif ++ + static int __init init_prism2_pci(void) + { + printk(KERN_INFO "%s: %s\n", dev_info, version); + + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)) +- if (pci_register_driver(&prism2_pci_drv_id) <= 0) { ++ int n; ++ if ((n=pci_register_driver(&prism2_pci_drv_id)) <= 0) { + printk("hostap_pci: No devices found, driver not " + "installed.\n"); + pci_unregister_driver(&prism2_pci_drv_id); + return -ENODEV; + } + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++ deferred_init(n); ++#endif ++ + return 0; + #else + return pci_register_driver(&prism2_pci_drv_id); diff --git a/packages/hostap/hostap-modules-0.3.3/mtx_hostap_deferred_irq.diff b/packages/hostap/hostap-modules-0.3.3/mtx_hostap_deferred_irq.diff index e69de29bb2..e979b72d93 100644 --- a/packages/hostap/hostap-modules-0.3.3/mtx_hostap_deferred_irq.diff +++ b/packages/hostap/hostap-modules-0.3.3/mtx_hostap_deferred_irq.diff @@ -0,0 +1,81 @@ +--- driver/modules/hostap_pci.c.orig 2004-11-30 06:41:48.000000000 +0100 ++++ driver/modules/hostap_pci.c 2005-01-17 19:47:33.710400496 +0100 +@@ -50,6 +50,13 @@ + }; + + ++#define DEFERRED_IRQ_INITIALIZATION ++ ++#ifdef DEFERRED_IRQ_INITIALIZATION ++struct net_device *devb[MAX_PARM_DEVICES]; ++#endif ++ ++ + #ifdef PRISM2_IO_DEBUG + + static inline void hfa384x_outb_debug(struct net_device *dev, int a, u8 v) +@@ -280,6 +287,10 @@ + + pci_set_drvdata(pdev, dev); + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++ printk("%s: deferred initialization of IRQs\n", dev_info); ++ devb[cards_found-1] = dev; ++#else + if (request_irq(dev->irq, prism2_interrupt, SA_SHIRQ, dev->name, + dev)) { + printk(KERN_WARNING "%s: request_irq failed\n", dev->name); +@@ -295,7 +306,7 @@ + + printk(KERN_INFO "%s: Intersil Prism2.5 PCI: " + "mem=0x%lx, irq=%d\n", dev->name, phymem, dev->irq); +- ++#endif + return hostap_hw_ready(dev); + + fail: +@@ -399,18 +410,43 @@ + }; + + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++static void deferred_init(int num_devices) ++{ ++ int n; ++ for (n=0; nirq, prism2_interrupt, SA_SHIRQ, devb[n]->name, ++ devb[n])) { ++ printk(KERN_WARNING "%s: request_irq failed\n", devb[n]->name); ++ } ++ if (prism2_hw_config(devb[n], 1)) { ++ printk(KERN_DEBUG "%s: hardware initialization failed\n", devb[n]->name) ++; ++ } ++ printk(KERN_INFO "%s: Intersil Prism2.5 PCI: irq=%d\n", devb[n]->name, devb[n]-> ++irq); ++ } ++} ++#endif ++ + static int __init init_prism2_pci(void) + { + printk(KERN_INFO "%s: %s\n", dev_info, version); + + #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)) +- if (pci_register_driver(&prism2_pci_drv_id) <= 0) { ++ int n; ++ if ((n=pci_register_driver(&prism2_pci_drv_id)) <= 0) { + printk("hostap_pci: No devices found, driver not " + "installed.\n"); + pci_unregister_driver(&prism2_pci_drv_id); + return -ENODEV; + } + ++#ifdef DEFERRED_IRQ_INITIALIZATION ++ deferred_init(n); ++#endif ++ + return 0; + #else + return pci_register_driver(&prism2_pci_drv_id); -- cgit v1.2.3