Return the engine type from the function looking at the registers, and
just derive the DMA mask from that in the one place we care.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 drivers/net/wireless/broadcom/b43legacy/dma.c | 20 +++----------------
 1 file changed, 3 insertions(+), 17 deletions(-)

diff --git a/drivers/net/wireless/broadcom/b43legacy/dma.c 
b/drivers/net/wireless/broadcom/b43legacy/dma.c
index 0c2de20622e3..e66d05ae2466 100644
--- a/drivers/net/wireless/broadcom/b43legacy/dma.c
+++ b/drivers/net/wireless/broadcom/b43legacy/dma.c
@@ -616,7 +616,7 @@ static void free_all_descbuffers(struct b43legacy_dmaring 
*ring)
        }
 }
 
-static u64 supported_dma_mask(struct b43legacy_wldev *dev)
+static enum b43legacy_dmatype b43legacy_engine_type(struct b43legacy_wldev 
*dev)
 {
        u32 tmp;
        u16 mmio_base;
@@ -628,18 +628,7 @@ static u64 supported_dma_mask(struct b43legacy_wldev *dev)
        tmp = b43legacy_read32(dev, mmio_base +
                               B43legacy_DMA32_TXCTL);
        if (tmp & B43legacy_DMA32_TXADDREXT_MASK)
-               return DMA_BIT_MASK(32);
-
-       return DMA_BIT_MASK(30);
-}
-
-static enum b43legacy_dmatype dma_mask_to_engine_type(u64 dmamask)
-{
-       if (dmamask == DMA_BIT_MASK(30))
-               return B43legacy_DMA_30BIT;
-       if (dmamask == DMA_BIT_MASK(32))
                return B43legacy_DMA_32BIT;
-       B43legacy_WARN_ON(1);
        return B43legacy_DMA_30BIT;
 }
 
@@ -801,13 +790,10 @@ int b43legacy_dma_init(struct b43legacy_wldev *dev)
 {
        struct b43legacy_dma *dma = &dev->dma;
        struct b43legacy_dmaring *ring;
+       enum b43legacy_dmatype type = b43legacy_engine_type(dev);
        int err;
-       u64 dmamask;
-       enum b43legacy_dmatype type;
 
-       dmamask = supported_dma_mask(dev);
-       type = dma_mask_to_engine_type(dmamask);
-       err = dma_set_mask_and_coherent(dev->dev->dma_dev, dmamask);
+       err = dma_set_mask_and_coherent(dev->dev->dma_dev, DMA_BIT_MASK(type));
        if (err) {
 #ifdef CONFIG_B43LEGACY_PIO
                b43legacywarn(dev->wl, "DMA for this device not supported. "
-- 
2.20.1


_______________________________________________
b43-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to