Merge branch 'wl12xx-next' into for-linville
authorLuciano Coelho <coelho@ti.com>
Fri, 18 Jan 2013 07:40:07 +0000 (09:40 +0200)
committerLuciano Coelho <coelho@ti.com>
Fri, 18 Jan 2013 07:59:08 +0000 (09:59 +0200)
Conflicts:
drivers/net/wireless/ti/wl12xx/main.c
drivers/net/wireless/ti/wlcore/wlcore.h

1  2 
drivers/net/wireless/ti/wl12xx/main.c
drivers/net/wireless/ti/wl18xx/main.c
drivers/net/wireless/ti/wlcore/cmd.c
drivers/net/wireless/ti/wlcore/main.c
drivers/net/wireless/ti/wlcore/sdio.c
drivers/net/wireless/ti/wlcore/spi.c
drivers/net/wireless/ti/wlcore/wlcore.h

index e5f5f8f391447ce3ea74a525c5e5a30090b849c6,5b023a5bcc099ed5dde752a1a4931179d6abfe8e..3254bfc81a2a7953f214d2dfd523fdd8ae6ebe8a
        return ret;
  }
  
 -static int __devexit wl12xx_remove(struct platform_device *pdev)
++static int wl12xx_remove(struct platform_device *pdev)
+ {
+       struct wl1271 *wl = platform_get_drvdata(pdev);
+       struct wl12xx_priv *priv;
+       if (!wl)
+               goto out;
+       priv = wl->priv;
+       kfree(priv->rx_mem_addr);
+ out:
+       return wlcore_remove(pdev);
+ }
 -static const struct platform_device_id wl12xx_id_table[] __devinitconst = {
 +static const struct platform_device_id wl12xx_id_table[] = {
        { "wl12xx", 0 },
        {  } /* Terminating Entry */
  };
@@@ -1733,7 -1821,7 +1821,7 @@@ MODULE_DEVICE_TABLE(platform, wl12xx_id
  
  static struct platform_driver wl12xx_driver = {
        .probe          = wl12xx_probe,
-       .remove         = wlcore_remove,
 -      .remove         = __devexit_p(wl12xx_remove),
++      .remove         = wl12xx_remove,
        .id_table       = wl12xx_id_table,
        .driver = {
                .name   = "wl12xx_driver",
Simple merge
index 27f83f72a93bb9c946535886043750fbdadee632,14734b7fc6e8f5022469682dc4437ed162d4e534..1201aca9c89a4cfde99474c38435521a28663d4e
@@@ -1034,11 -1089,11 +1089,11 @@@ int wl12xx_cmd_build_probe_req(struct w
        struct sk_buff *skb;
        int ret;
        u32 rate;
-       u16 template_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4;
-       u16 template_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5;
+       u16 template_id_2_4 = wl->scan_templ_id_2_4;
+       u16 template_id_5 = wl->scan_templ_id_5;
  
        skb = ieee80211_probereq_get(wl->hw, vif, ssid, ssid_len,
 -                                   ie, ie_len);
 +                                   ie_len);
        if (!skb) {
                ret = -ENOMEM;
                goto out;
Simple merge
Simple merge
Simple merge
index c3884937c007cf049b6efe0c5d158008972a7bf9,118208a8e9970891f70d8603b20c8663faa7ef61..ebd8c6fad7cdda4b474bd0e49abb62dc05cf9666
@@@ -408,15 -457,22 +457,22 @@@ struct wl1271 
        /* the number of allocated MAC addresses in this chip */
        int num_mac_addr;
  
-       /* the minimum FW version required for the driver to work */
-       unsigned int min_fw_ver[NUM_FW_VER];
+       /* minimum FW version required for the driver to work in single-role */
+       unsigned int min_sr_fw_ver[NUM_FW_VER];
+       /* minimum FW version required for the driver to work in multi-role */
+       unsigned int min_mr_fw_ver[NUM_FW_VER];
  
        struct completion nvs_loading_complete;
+       /* number of concurrent channels the HW supports */
+       u32 num_channels;
  };
  
 -int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
 -int __devexit wlcore_remove(struct platform_device *pdev);
 +int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
 +int wlcore_remove(struct platform_device *pdev);
- struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size);
+ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size,
+                                    u32 mbox_size);
  int wlcore_free_hw(struct wl1271 *wl);
  int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
                   struct ieee80211_vif *vif,