drivers: acpi: don't use own implementation of hex_to_bin()
[safe/jmp/linux-2.6] / drivers / bluetooth / btmrvl_sdio.c
index d6aaf51..df0773e 100644 (file)
@@ -19,6 +19,7 @@
  **/
 
 #include <linux/firmware.h>
+#include <linux/slab.h>
 
 #include <linux/mmc/sdio_ids.h>
 #include <linux/mmc/sdio_func.h>
@@ -535,7 +536,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv)
                break;
 
        default:
-               BT_ERR("Unknow packet type:%d", type);
+               BT_ERR("Unknown packet type:%d", type);
                print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, payload,
                                                blksz * buf_block_len);
 
@@ -808,6 +809,7 @@ static int btmrvl_sdio_host_to_card(struct btmrvl_private *priv,
 
 exit:
        sdio_release_host(card->func);
+       kfree(tmpbuf);
 
        return ret;
 }
@@ -929,7 +931,12 @@ static int btmrvl_sdio_probe(struct sdio_func *func,
        priv->hw_host_to_card = btmrvl_sdio_host_to_card;
        priv->hw_wakeup_firmware = btmrvl_sdio_wakeup_fw;
 
-       btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);
+       if (btmrvl_register_hdev(priv)) {
+               BT_ERR("Register hdev failed!");
+               ret = -ENODEV;
+               goto disable_host_int;
+       }
+
        priv->btmrvl_dev.psmode = 1;
        btmrvl_enable_ps(priv);
 
@@ -975,7 +982,7 @@ static struct sdio_driver bt_mrvl_sdio = {
        .remove         = btmrvl_sdio_remove,
 };
 
-static int btmrvl_sdio_init_module(void)
+static int __init btmrvl_sdio_init_module(void)
 {
        if (sdio_register_driver(&bt_mrvl_sdio) != 0) {
                BT_ERR("SDIO Driver Registration Failed");
@@ -988,7 +995,7 @@ static int btmrvl_sdio_init_module(void)
        return 0;
 }
 
-static void btmrvl_sdio_exit_module(void)
+static void __exit btmrvl_sdio_exit_module(void)
 {
        /* Set the flag as user is removing this module. */
        user_rmmod = 1;
@@ -1003,3 +1010,5 @@ MODULE_AUTHOR("Marvell International Ltd.");
 MODULE_DESCRIPTION("Marvell BT-over-SDIO driver ver " VERSION);
 MODULE_VERSION(VERSION);
 MODULE_LICENSE("GPL v2");
+MODULE_FIRMWARE("sd8688_helper.bin");
+MODULE_FIRMWARE("sd8688.bin");