1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- --- a/drivers/net/wireless/broadcom/b43/Makefile
- +++ b/drivers/net/wireless/broadcom/b43/Makefile
- @@ -17,7 +17,7 @@ b43-$(CPTCFG_B43_PHY_AC) += phy_ac.o
- b43-y += sysfs.o
- b43-y += xmit.o
- b43-y += dma.o
- -b43-y += pio.o
- +b43-$(CPTCFG_B43_PIO) += pio.o
- b43-y += rfkill.o
- b43-y += ppr.o
- b43-$(CPTCFG_B43_LEDS) += leds.o
- --- a/drivers/net/wireless/broadcom/b43/main.c
- +++ b/drivers/net/wireless/broadcom/b43/main.c
- @@ -2008,10 +2008,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 CPTCFG_B43_PIO
- b43err(dev->wl, "This device does not support DMA "
- "on your system. It will now be switched to PIO.\n");
- /* Fall back to PIO transfers if we get fatal DMA errors! */
- dev->use_pio = true;
- +#endif
- b43_controller_restart(dev, "DMA error");
- return;
- }
- --- a/drivers/net/wireless/broadcom/b43/pio.h
- +++ b/drivers/net/wireless/broadcom/b43/pio.h
- @@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str
- b43_write32(q->dev, q->mmio_base + offset, value);
- }
-
- -
- +#ifdef CPTCFG_B43_PIO
- 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;
- +}
- +
- +static inline void b43_pio_free(struct b43_wldev *dev)
- +{
- +}
- +
- +static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
- +{
- + return 0;
- +}
- +
- +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)
- +{
- +}
- +
- +static inline void b43_pio_tx_suspend(struct b43_wldev *dev)
- +{
- +}
- +
- +static inline void b43_pio_tx_resume(struct b43_wldev *dev)
- +{
- +}
- +#endif /* CPTCFG_B43_PIO */
-
- #endif /* B43_PIO_H_ */
- --- a/drivers/net/wireless/broadcom/b43/Kconfig
- +++ b/drivers/net/wireless/broadcom/b43/Kconfig
- @@ -98,7 +98,7 @@ config B43_BCMA_PIO
- default y
-
- config B43_PIO
- - bool
- + bool "Broadcom 43xx PIO support"
- depends on B43 && B43_SSB
- select SSB_BLOCKIO
- default y
|