This fixes a several sparse warnings.
  * the __iomem tag was being used incorrectly (needs to be a prefix)
  * several variables should have been static since local to one file
  * the firmware was not being forwared declared
    and was const one place and not the other
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
 /* Doorbell structure */
 struct bna_ib_dbell {
-       void *__iomem doorbell_addr;
+       void __iomem   *doorbell_addr;
        u32             doorbell_ack;
 };
 
        u32             consumer_index;
        volatile u32    *hw_consumer_index;
        u32             q_depth;
-       void *__iomem q_dbell;
+       void __iomem   *q_dbell;
        struct bna_ib_dbell *i_dbell;
        int                     page_idx;
        int                     page_count;
        u32             producer_index;
        u32             consumer_index;
        u32             q_depth;
-       void *__iomem q_dbell;
+       void __iomem   *q_dbell;
        int                     page_idx;
        int                     page_count;
        /* Control path */
 
  * Global variables
  */
 u32 bnad_rxqs_per_cq = 2;
-u32 bna_id;
-struct mutex bnad_list_mutex;
-LIST_HEAD(bnad_list);
+static u32 bna_id;
+static struct mutex bnad_list_mutex;
+static LIST_HEAD(bnad_list);
 static const u8 bnad_bcast_addr[] =  {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
 /*
 
 /*
  * EXTERN VARIABLES
  */
-extern struct firmware *bfi_fw;
+extern const struct firmware *bfi_fw;
 extern u32             bnad_rxqs_per_cq;
 
 /*
 
  * www.brocade.com
  */
 #include <linux/firmware.h>
+#include "bnad.h"
 #include "bfi.h"
 #include "cna.h"