lantiq: Tune the XWAY subtarget cflags
[openwrt/staging/yousong.git] / package / mac80211 / patches / 810-b43_no_pio.patch
index 2aa426e37a21cbca9be654d358d5e581e04b34f4..0821dc7856b01e558eca21d55e548c7032da1d57 100644 (file)
@@ -1,36 +1,45 @@
 --- a/drivers/net/wireless/b43/Makefile
 +++ b/drivers/net/wireless/b43/Makefile
-@@ -12,7 +12,7 @@ b43-y                                += xmit.o
+@@ -20,7 +20,7 @@ b43-y                                += xmit.o
  b43-y                         += lo.o
  b43-y                         += wa.o
  b43-y                         += dma.o
 -b43-y                         += pio.o
-+# b43-y                               += pio.o
++b43-$(CONFIG_B43_PIO)         += pio.o
  b43-y                         += rfkill.o
- b43-$(CONFIG_B43_LEDS)                += leds.o
- b43-$(CONFIG_B43_PCMCIA)      += pcmcia.o
+ b43-$(CPTCFG_B43_LEDS)                += leds.o
+ b43-$(CPTCFG_B43_PCMCIA)      += pcmcia.o
 --- a/drivers/net/wireless/b43/main.c
 +++ b/drivers/net/wireless/b43/main.c
-@@ -1810,9 +1810,11 @@ static void b43_do_interrupt_thread(stru
-                              dma_reason[4], dma_reason[5]);
-                       b43err(dev->wl, "This device does not support DMA "
+@@ -1913,10 +1913,12 @@ static void b43_do_interrupt_thread(stru
+                       dma_reason[0], dma_reason[1],
+                       dma_reason[2], dma_reason[3],
+                       dma_reason[4], dma_reason[5]);
++#ifdef CONFIG_B43_PIO
+               b43err(dev->wl, "This device does not support DMA "
                               "on your system. It will now be switched to PIO.\n");
-+#if 0
-                       /* Fall back to PIO transfers if we get fatal DMA errors! */
-                       dev->use_pio = 1;
-                       b43_controller_restart(dev, "DMA error");
+               /* Fall back to PIO transfers if we get fatal DMA errors! */
+               dev->use_pio = true;
 +#endif
-                       return;
-               }
-               if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {
+               b43_controller_restart(dev, "DMA error");
+               return;
+       }
 --- a/drivers/net/wireless/b43/pio.h
 +++ b/drivers/net/wireless/b43/pio.h
-@@ -151,15 +151,34 @@ static inline void b43_piorx_write32(str
+@@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str
+       b43_write32(q->dev, q->mmio_base + offset, value);
  }
  
+-
++#ifdef CONFIG_B43_PIO
+ int b43_pio_init(struct b43_wldev *dev);
+ void b43_pio_free(struct b43_wldev *dev);
  
--int b43_pio_init(struct b43_wldev *dev);
--void b43_pio_free(struct b43_wldev *dev);
+@@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue *
+ void b43_pio_tx_suspend(struct b43_wldev *dev);
+ void b43_pio_tx_resume(struct b43_wldev *dev);
++#else
 +static inline int b43_pio_init(struct b43_wldev *dev)
 +{
 +      return 0;
 +{
 +      return 0;
 +}
--int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb);
--void b43_pio_handle_txstatus(struct b43_wldev *dev,
--                           const struct b43_txstatus *status);
--void b43_pio_rx(struct b43_pio_rxqueue *q);
++
 +static inline void b43_pio_handle_txstatus(struct b43_wldev *dev,
 +                                         const struct b43_txstatus *status)
 +{
 +static inline void b43_pio_rx(struct b43_pio_rxqueue *q)
 +{
 +}
--void b43_pio_tx_suspend(struct b43_wldev *dev);
--void b43_pio_tx_resume(struct b43_wldev *dev);
++
 +static inline void b43_pio_tx_suspend(struct b43_wldev *dev)
 +{
 +}
++
 +static inline void b43_pio_tx_resume(struct b43_wldev *dev)
 +{
 +}
++#endif /* CONFIG_B43_PIO */
  
  #endif /* B43_PIO_H_ */
+--- a/drivers/net/wireless/b43/Kconfig
++++ b/drivers/net/wireless/b43/Kconfig
+@@ -104,7 +104,7 @@ config B43_BCMA_PIO
+       default y
+ config B43_PIO
+-      bool
++      bool "Broadcom 43xx PIO support"
+       depends on B43
+       select SSB_BLOCKIO
+       default y