drivers: acpi: don't use own implementation of hex_to_bin()
[safe/jmp/linux-2.6] / drivers / bluetooth / btmrvl_sdio.c
index 57d965b..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>
@@ -930,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);
 
@@ -976,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");
@@ -989,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;