Search Linux Wireless

[PATCH 1/2] compat-wireless: make patches apply again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
---
 patches/09-threaded-irq.patch |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/patches/09-threaded-irq.patch b/patches/09-threaded-irq.patch
index 9822acb..0e25e21 100644
--- a/patches/09-threaded-irq.patch
+++ b/patches/09-threaded-irq.patch
@@ -63,28 +63,39 @@ thread in process context as well.
  /* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */
 --- a/drivers/net/wireless/wl12xx/spi.c
 +++ b/drivers/net/wireless/wl12xx/spi.c
-@@ -408,9 +408,20 @@ static int __devinit wl1271_probe(struct
+@@ -405,10 +405,14 @@ static int __devinit wl1271_probe(struct
+ 	wl->tcxo_clock = pdata->board_tcxo_clock;
+ 	wl->platform_quirks = pdata->platform_quirks;
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
++	irqflags = IRQF_TRIGGER_RISING;
++#else
+ 	if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ)
+ 		irqflags = IRQF_TRIGGER_RISING;
+ 	else
+ 		irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT;
++#endif
+ 
+ 	wl->irq = spi->irq;
+ 	if (wl->irq < 0) {
+@@ -417,9 +421,16 @@ static int __devinit wl1271_probe(struct
  		goto out_free;
  	}
  
 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
 +	ret = compat_request_threaded_irq(&wl->irq_compat, wl->irq,
 +					  wl1271_hardirq, wl1271_irq,
-+					  IRQF_TRIGGER_RISING,
++					  irqflags,
 +					  DRIVER_NAME, wl);
 +#else
  	ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
-+				   IRQF_TRIGGER_RISING,
-+#else
- 				   IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
-+#endif
+ 				   irqflags,
  				   DRIVER_NAME, wl);
 +#endif
  	if (ret < 0) {
  		wl1271_error("request_irq() failed: %d", ret);
  		goto out_free;
-@@ -431,7 +442,11 @@ static int __devinit wl1271_probe(struct
+@@ -440,7 +451,11 @@ static int __devinit wl1271_probe(struct
  	return 0;
  
   out_irq:
@@ -96,7 +107,7 @@ thread in process context as well.
  
   out_free:
  	wl1271_free_hw(wl);
-@@ -444,7 +459,12 @@ static int __devexit wl1271_remove(struc
+@@ -453,7 +468,12 @@ static int __devexit wl1271_remove(struc
  	struct wl1271 *wl = dev_get_drvdata(&spi->dev);
  
  	wl1271_unregister_hw(wl);
@@ -111,10 +122,10 @@ thread in process context as well.
  	return 0;
 --- a/drivers/net/wireless/wl12xx/wl12xx.h
 +++ b/drivers/net/wireless/wl12xx/wl12xx.h
-@@ -544,6 +544,10 @@ struct wl1271 {
+@@ -582,6 +582,10 @@ struct wl1271 {
  
- 	/* Quirks of specific hardware revisions */
- 	unsigned int quirks;
+ 	/* Platform limitations */
+ 	unsigned int platform_quirks;
 +
 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
 +	struct compat_threaded_irq irq_compat;
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux