staging: brcm80211: remove OSL_DELAY
[pandora-kernel.git] / drivers / staging / brcm80211 / util / linux_osl.c
index 4055f7e..6616174 100644 (file)
@@ -33,7 +33,7 @@
 #define OS_HANDLE_MAGIC                0x1234abcd      /* Magic # to recognise osh */
 #define BCM_MEM_FILENAME_LEN   24      /* Mem. filename length */
 
-#ifdef DHD_USE_STATIC_BUF
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
 #define MAX_STATIC_BUF_NUM 16
 #define STATIC_BUF_SIZE        (PAGE_SIZE*2)
 #define STATIC_BUF_TOTAL_LEN (MAX_STATIC_BUF_NUM*STATIC_BUF_SIZE)
@@ -43,7 +43,7 @@ typedef struct bcm_static_buf {
        unsigned char buf_use[MAX_STATIC_BUF_NUM];
 } bcm_static_buf_t;
 
-static bcm_static_buf_t *bcm_static_buf = 0;
+static bcm_static_buf_t *bcm_static_buf;
 
 #define MAX_STATIC_PKT_NUM 8
 typedef struct bcm_static_pkt {
@@ -52,15 +52,8 @@ typedef struct bcm_static_pkt {
        struct semaphore osl_pkt_sem;
        unsigned char pkt_use[MAX_STATIC_PKT_NUM * 2];
 } bcm_static_pkt_t;
-static bcm_static_pkt_t *bcm_static_skb = 0;
+static bcm_static_pkt_t *bcm_static_skb;
 #endif                         /* DHD_USE_STATIC_BUF */
-typedef struct bcm_mem_link {
-       struct bcm_mem_link *prev;
-       struct bcm_mem_link *next;
-       uint size;
-       int line;
-       char file[BCM_MEM_FILENAME_LEN];
-} bcm_mem_link_t;
 
 struct osl_info {
        osl_pubinfo_t pub;
@@ -69,12 +62,12 @@ struct osl_info {
        uint malloced;
        uint failed;
        uint bustype;
-       bcm_mem_link_t *dbgmem_list;
 };
 
 /* Global ASSERT type flag */
-uint32 g_assert_type;
+u32 g_assert_type;
 
+#ifdef BRCM_FULLMAC
 static s16 linuxbcmerrormap[] = { 0,   /* 0 */
        -EINVAL,                /* BCME_ERROR */
        -EINVAL,                /* BCME_BADARG */
@@ -140,6 +133,7 @@ int osl_error(int bcmerror)
        /* Array bounds covered by ASSERT in osl_attach */
        return linuxbcmerrormap[-bcmerror];
 }
+#endif /* BRCM_FULLMAC */
 
 osl_t *osl_attach(void *pdev, uint bustype, bool pkttag)
 {
@@ -150,13 +144,14 @@ osl_t *osl_attach(void *pdev, uint bustype, bool pkttag)
 
        bzero(osh, sizeof(osl_t));
 
+#ifdef BRCM_FULLMAC
        /* Check that error map has the right number of entries in it */
-       ASSERT(ABS(BCME_LAST) == (ARRAYSIZE(linuxbcmerrormap) - 1));
+       ASSERT(ABS(BCME_LAST) == (ARRAY_SIZE(linuxbcmerrormap) - 1));
+#endif /* BRCM_FULLMAC */
 
        osh->magic = OS_HANDLE_MAGIC;
        osh->malloced = 0;
        osh->failed = 0;
-       osh->dbgmem_list = NULL;
        osh->pdev = pdev;
        osh->pub.pkttag = pkttag;
        osh->bustype = bustype;
@@ -165,26 +160,25 @@ osl_t *osl_attach(void *pdev, uint bustype, bool pkttag)
        case PCI_BUS:
        case SI_BUS:
        case PCMCIA_BUS:
-               osh->pub.mmbus = TRUE;
+               osh->pub.mmbus = true;
                break;
        case JTAG_BUS:
        case SDIO_BUS:
        case USB_BUS:
        case SPI_BUS:
        case RPC_BUS:
-               osh->pub.mmbus = FALSE;
+               osh->pub.mmbus = false;
                break;
        default:
-               ASSERT(FALSE);
+               ASSERT(false);
                break;
        }
 
-#ifdef DHD_USE_STATIC_BUF
-
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
        if (!bcm_static_buf) {
-               if (!(bcm_static_buf =
-                    (bcm_static_buf_t *) dhd_os_prealloc(3,
-                         STATIC_BUF_SIZE + STATIC_BUF_TOTAL_LEN))) {
+               bcm_static_buf = (bcm_static_buf_t *) dhd_os_prealloc(3,
+                                       STATIC_BUF_SIZE + STATIC_BUF_TOTAL_LEN);
+               if (!bcm_static_buf) {
                        printk(KERN_ERR "can not alloc static buf!\n");
                } else
                        printk(KERN_ERR "alloc static buf at %x!\n",
@@ -211,7 +205,8 @@ osl_t *osl_attach(void *pdev, uint bustype, bool pkttag)
 
                init_MUTEX(&bcm_static_skb->osl_pkt_sem);
        }
-#endif                         /* DHD_USE_STATIC_BUF */
+#endif /* defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF) */
+
 #if defined(BCMDBG) && !defined(BRCM_FULLMAC)
        if (pkttag) {
                struct sk_buff *skb;
@@ -226,7 +221,7 @@ void osl_detach(osl_t *osh)
        if (osh == NULL)
                return;
 
-#ifdef DHD_USE_STATIC_BUF
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
        if (bcm_static_buf)
                bcm_static_buf = 0;
 
@@ -287,7 +282,7 @@ void BCMFASTPATH osl_pktfree(osl_t *osh, void *p, bool send)
        }
 }
 
-#ifdef DHD_USE_STATIC_BUF
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
 void *osl_pktget_static(osl_t *osh, uint len)
 {
        int i = 0;
@@ -352,8 +347,9 @@ void osl_pktfree_static(osl_t *osh, void *p, bool send)
        }
        return osl_pktfree(osh, p, send);
 }
-#endif                         /* DHD_USE_STATIC_BUF */
-uint32 osl_pci_read_config(osl_t *osh, uint offset, uint size)
+#endif /* defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF) */
+
+u32 osl_pci_read_config(osl_t *osh, uint offset, uint size)
 {
        uint val = 0;
        uint retry = PCI_CFG_RETRY;
@@ -418,21 +414,6 @@ uint osl_pci_slot(osl_t *osh)
        return PCI_SLOT(((struct pci_dev *)osh->pdev)->devfn);
 }
 
-static void
-osl_pcmcia_attr(osl_t *osh, uint offset, char *buf, int size, bool write)
-{
-}
-
-void osl_pcmcia_read_attr(osl_t *osh, uint offset, void *buf, int size)
-{
-       osl_pcmcia_attr(osh, offset, (char *)buf, size, FALSE);
-}
-
-void osl_pcmcia_write_attr(osl_t *osh, uint offset, void *buf, int size)
-{
-       osl_pcmcia_attr(osh, offset, (char *)buf, size, TRUE);
-}
-
 void *osl_malloc(osl_t *osh, uint size)
 {
        void *addr;
@@ -441,7 +422,7 @@ void *osl_malloc(osl_t *osh, uint size)
        if (osh)
                ASSERT(osh->magic == OS_HANDLE_MAGIC);
 
-#ifdef DHD_USE_STATIC_BUF
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
                if (bcm_static_buf) {
                        int i = 0;
                        if ((size >= PAGE_SIZE) && (size <= STATIC_BUF_SIZE)) {
@@ -468,7 +449,7 @@ void *osl_malloc(osl_t *osh, uint size)
                        }
                }
        original:
-#endif                         /* DHD_USE_STATIC_BUF */
+#endif /* defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF) */
 
        addr = kmalloc(size, GFP_ATOMIC);
        if (addr == NULL) {
@@ -484,7 +465,7 @@ void *osl_malloc(osl_t *osh, uint size)
 
 void osl_mfree(osl_t *osh, void *addr, uint size)
 {
-#ifdef DHD_USE_STATIC_BUF
+#if defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF)
        if (bcm_static_buf) {
                if ((addr > (void *)bcm_static_buf) && ((unsigned char *)addr
                                <= ((unsigned char *)
@@ -505,7 +486,7 @@ void osl_mfree(osl_t *osh, void *addr, uint size)
                        return;
                }
        }
-#endif                         /* DHD_USE_STATIC_BUF */
+#endif /* defined(BRCM_FULLMAC) && defined(DHD_USE_STATIC_BUF) */
        if (osh) {
                ASSERT(osh->magic == OS_HANDLE_MAGIC);
                osh->malloced -= size;
@@ -519,38 +500,24 @@ uint osl_malloced(osl_t *osh)
        return osh->malloced;
 }
 
-uint osl_malloc_failed(osl_t *osh)
-{
-       ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
-       return osh->failed;
-}
-
 uint osl_dma_consistent_align(void)
 {
        return PAGE_SIZE;
 }
 
-#ifdef BRCM_FULLMAC
-void *osl_dma_alloc_consistent(osl_t *osh, uint size, unsigned long *pap)
-{
-       ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
-
-       return pci_alloc_consistent(osh->pdev, size, (dma_addr_t *) pap);
-}
-#else /* !BRCM_FULLMAC */
 void *osl_dma_alloc_consistent(osl_t *osh, uint size, u16 align_bits,
                               uint *alloced, unsigned long *pap)
 {
-       u16 align = (1 << align_bits);
        ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
 
-       if (!ISALIGNED(DMA_CONSISTENT_ALIGN, align))
-               size += align;
-       *alloced = size;
-
+       if (align_bits) {
+               u16 align = (1 << align_bits);
+               if (!IS_ALIGNED(DMA_CONSISTENT_ALIGN, align))
+                       size += align;
+               *alloced = size;
+       }
        return pci_alloc_consistent(osh->pdev, size, (dma_addr_t *) pap);
 }
-#endif /* BRCM_FULLMAC */
 
 void osl_dma_free_consistent(osl_t *osh, void *va, uint size, unsigned long pa)
 {
@@ -574,7 +541,7 @@ void BCMFASTPATH osl_dma_unmap(osl_t *osh, uint pa, uint size, int direction)
 
        ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
        dir = (direction == DMA_TX) ? PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE;
-       pci_unmap_single(osh->pdev, (uint32) pa, size, dir);
+       pci_unmap_single(osh->pdev, (u32) pa, size, dir);
 }
 
 #if defined(BCMDBG_ASSERT)
@@ -624,37 +591,6 @@ void osl_assert(char *exp, char *file, int line)
 }
 #endif                         /* defined(BCMDBG_ASSERT) */
 
-void osl_delay(uint usec)
-{
-       uint d;
-
-       while (usec > 0) {
-               d = MIN(usec, 1000);
-               udelay(d);
-               usec -= d;
-       }
-}
-
-/* Clone a packet.
- * The pkttag contents are NOT cloned.
- */
-void *osl_pktdup(osl_t *osh, void *skb)
-{
-       void *p;
-
-       p = skb_clone((struct sk_buff *)skb, GFP_ATOMIC);
-       if (p == NULL)
-               return NULL;
-
-       /* skb_clone copies skb->cb.. we don't want that */
-       if (osh->pub.pkttag)
-               bzero((void *)((struct sk_buff *)p)->cb, OSL_PKTTAG_SZ);
-
-       /* Increment the packet counter */
-       osh->pub.pktalloced++;
-       return p;
-}
-
 #if defined(BCMSDIO) && !defined(BRCM_FULLMAC)
 u8 osl_readb(osl_t *osh, volatile u8 *r)
 {
@@ -672,12 +608,12 @@ u16 osl_readw(osl_t *osh, volatile u16 *r)
        return (u16) ((rreg) (ctx, (void *)r, sizeof(u16)));
 }
 
-uint32 osl_readl(osl_t *osh, volatile uint32 *r)
+u32 osl_readl(osl_t *osh, volatile u32 *r)
 {
        osl_rreg_fn_t rreg = ((osl_pubinfo_t *) osh)->rreg_fn;
        void *ctx = ((osl_pubinfo_t *) osh)->reg_ctx;
 
-       return (uint32) ((rreg) (ctx, (void *)r, sizeof(uint32)));
+       return (u32) ((rreg) (ctx, (void *)r, sizeof(u32)));
 }
 
 void osl_writeb(osl_t *osh, volatile u8 *r, u8 v)
@@ -696,12 +632,11 @@ void osl_writew(osl_t *osh, volatile u16 *r, u16 v)
        ((wreg) (ctx, (void *)r, v, sizeof(u16)));
 }
 
-void osl_writel(osl_t *osh, volatile uint32 *r, uint32 v)
+void osl_writel(osl_t *osh, volatile u32 *r, u32 v)
 {
        osl_wreg_fn_t wreg = ((osl_pubinfo_t *) osh)->wreg_fn;
        void *ctx = ((osl_pubinfo_t *) osh)->reg_ctx;
 
-       ((wreg) (ctx, (void *)r, v, sizeof(uint32)));
+       ((wreg) (ctx, (void *)r, v, sizeof(u32)));
 }
-#endif                         /* BCMSDIO */
-/* Linux Kernel: File Operations: end */
+#endif /* BCMSDIO */