Bluetooth: Convert BCM92035 support to driver setup callback
[linux-3.10.git] / drivers / bluetooth / btmrvl_drv.h
index bed0ba6..27068d1 100644 (file)
@@ -67,6 +67,7 @@ struct btmrvl_adapter {
        u8 wakeup_tries;
        wait_queue_head_t cmd_wait_q;
        u8 cmd_complete;
+       bool is_suspended;
 };
 
 struct btmrvl_private {
@@ -76,6 +77,7 @@ struct btmrvl_private {
        int (*hw_host_to_card) (struct btmrvl_private *priv,
                                u8 *payload, u16 nb);
        int (*hw_wakeup_firmware) (struct btmrvl_private *priv);
+       int (*hw_process_int_status) (struct btmrvl_private *priv);
        spinlock_t driver_lock;         /* spinlock used by driver */
 #ifdef CONFIG_DEBUG_FS
        void *debugfs_data;
@@ -118,13 +120,13 @@ struct btmrvl_cmd {
        __le16 ocf_ogf;
        u8 length;
        u8 data[4];
-} __attribute__ ((packed));
+} __packed;
 
 struct btmrvl_event {
        u8 ec;          /* event counter */
        u8 length;
        u8 data[4];
-} __attribute__ ((packed));
+} __packed;
 
 /* Prototype of global function */
 
@@ -134,12 +136,14 @@ int btmrvl_remove_card(struct btmrvl_private *priv);
 
 void btmrvl_interrupt(struct btmrvl_private *priv);
 
-void btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb);
+bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb);
 int btmrvl_process_event(struct btmrvl_private *priv, struct sk_buff *skb);
 
 int btmrvl_send_module_cfg_cmd(struct btmrvl_private *priv, int subcmd);
+int btmrvl_send_hscfg_cmd(struct btmrvl_private *priv);
 int btmrvl_enable_ps(struct btmrvl_private *priv);
 int btmrvl_prepare_command(struct btmrvl_private *priv);
+int btmrvl_enable_hs(struct btmrvl_private *priv);
 
 #ifdef CONFIG_DEBUG_FS
 void btmrvl_debugfs_init(struct hci_dev *hdev);