1 --- a/drivers/net/wireless/b43/Makefile
2 +++ b/drivers/net/wireless/b43/Makefile
3 @@ -19,7 +19,7 @@ b43-y += xmit.o
8 +b43-$(CONFIG_B43_PIO) += pio.o
10 b43-$(CONFIG_B43_LEDS) += leds.o
11 b43-$(CONFIG_B43_PCMCIA) += pcmcia.o
12 --- a/drivers/net/wireless/b43/main.c
13 +++ b/drivers/net/wireless/b43/main.c
14 @@ -1885,10 +1885,12 @@ static void b43_do_interrupt_thread(stru
15 dma_reason[0], dma_reason[1],
16 dma_reason[2], dma_reason[3],
17 dma_reason[4], dma_reason[5]);
18 +#ifdef CONFIG_B43_PIO
19 b43err(dev->wl, "This device does not support DMA "
20 "on your system. It will now be switched to PIO.\n");
21 /* Fall back to PIO transfers if we get fatal DMA errors! */
24 b43_controller_restart(dev, "DMA error");
27 --- a/drivers/net/wireless/b43/pio.h
28 +++ b/drivers/net/wireless/b43/pio.h
29 @@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str
30 b43_write32(q->dev, q->mmio_base + offset, value);
34 +#ifdef CONFIG_B43_PIO
35 int b43_pio_init(struct b43_wldev *dev);
36 void b43_pio_free(struct b43_wldev *dev);
38 @@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue *
40 void b43_pio_tx_suspend(struct b43_wldev *dev);
41 void b43_pio_tx_resume(struct b43_wldev *dev);
43 +static inline int b43_pio_init(struct b43_wldev *dev)
48 +static inline void b43_pio_free(struct b43_wldev *dev)
52 +static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
57 +static inline void b43_pio_handle_txstatus(struct b43_wldev *dev,
58 + const struct b43_txstatus *status)
62 +static inline void b43_pio_rx(struct b43_pio_rxqueue *q)
66 +static inline void b43_pio_tx_suspend(struct b43_wldev *dev)
70 +static inline void b43_pio_tx_resume(struct b43_wldev *dev)
73 +#endif /* CONFIG_B43_PIO */
75 #endif /* B43_PIO_H_ */