Merge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
[cascardo/linux.git] / drivers / bluetooth / btmrvl_main.c
index 6c3defa..d1209ad 100644 (file)
@@ -387,10 +387,6 @@ static int btmrvl_ioctl(struct hci_dev *hdev,
        return -ENOIOCTLCMD;
 }
 
-static void btmrvl_destruct(struct hci_dev *hdev)
-{
-}
-
 static int btmrvl_send_frame(struct sk_buff *skb)
 {
        struct hci_dev *hdev = (struct hci_dev *) skb->dev;
@@ -398,12 +394,13 @@ static int btmrvl_send_frame(struct sk_buff *skb)
 
        BT_DBG("type=%d, len=%d", skb->pkt_type, skb->len);
 
-       if (!hdev || !hdev->driver_data) {
+       if (!hdev) {
                BT_ERR("Frame for unknown HCI device");
                return -ENODEV;
        }
 
-       priv = (struct btmrvl_private *) hdev->driver_data;
+       priv = hci_get_drvdata(hdev);
+
        if (!test_bit(HCI_RUNNING, &hdev->flags)) {
                BT_ERR("Failed testing HCI_RUNING, flags=%lx", hdev->flags);
                print_hex_dump_bytes("data: ", DUMP_PREFIX_OFFSET,
@@ -434,7 +431,7 @@ static int btmrvl_send_frame(struct sk_buff *skb)
 
 static int btmrvl_flush(struct hci_dev *hdev)
 {
-       struct btmrvl_private *priv = hdev->driver_data;
+       struct btmrvl_private *priv = hci_get_drvdata(hdev);
 
        skb_queue_purge(&priv->adapter->tx_queue);
 
@@ -443,7 +440,7 @@ static int btmrvl_flush(struct hci_dev *hdev)
 
 static int btmrvl_close(struct hci_dev *hdev)
 {
-       struct btmrvl_private *priv = hdev->driver_data;
+       struct btmrvl_private *priv = hci_get_drvdata(hdev);
 
        if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
                return 0;
@@ -546,16 +543,14 @@ int btmrvl_register_hdev(struct btmrvl_private *priv)
        }
 
        priv->btmrvl_dev.hcidev = hdev;
-       hdev->driver_data = priv;
+       hci_set_drvdata(hdev, priv);
 
        hdev->bus = HCI_SDIO;
        hdev->open = btmrvl_open;
        hdev->close = btmrvl_close;
        hdev->flush = btmrvl_flush;
        hdev->send = btmrvl_send_frame;
-       hdev->destruct = btmrvl_destruct;
        hdev->ioctl = btmrvl_ioctl;
-       hdev->owner = THIS_MODULE;
 
        btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ);