]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/brcm80211/sys/wl_ucode_loader.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / staging / brcm80211 / sys / wl_ucode_loader.c
index 0b41a9cb1ec98ba18743bf8d4f0c393dff2e8dff..23e10f3dec0d59319c26f68bf924dc1630a41652 100644 (file)
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-typedef struct wl_info wl_info_t;
 #include <linux/types.h>
 #include <bcmdefs.h>
 #include <d11ucode_ext.h>
 #include <wl_ucode.h>
 
-extern int wl_ucode_init_buf(wl_info_t *wl, void **pbuf, unsigned int idx);
-extern int wl_ucode_init_uint(wl_info_t *wl, unsigned *data, unsigned int idx);
-extern int wl_ucode_data_init(wl_info_t *wl);
-extern void wl_ucode_data_free(void);
-extern void wl_ucode_free_buf(void *);
+
 
 d11init_t *d11lcn0bsinitvals24;
 d11init_t *d11lcn0initvals24;
@@ -42,8 +37,12 @@ u32 bcm43xx_24_lcnsz;
 u32 *bcm43xx_bommajor;
 u32 *bcm43xx_bomminor;
 
-int wl_ucode_data_init(wl_info_t *wl)
+int wl_ucode_data_init(struct wl_info *wl)
 {
+       int rc;
+       rc = wl_check_firmwares(wl);
+       if (rc < 0)
+               return rc;
        wl_ucode_init_buf(wl, (void **)&d11lcn0bsinitvals24,
                          D11LCN0BSINITVALS24);
        wl_ucode_init_buf(wl, (void **)&d11lcn0initvals24, D11LCN0INITVALS24);