summaryrefslogtreecommitdiff
path: root/include/linux/ti_wilink_st.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ti_wilink_st.h')
-rw-r--r--include/linux/ti_wilink_st.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/ti_wilink_st.h b/include/linux/ti_wilink_st.h
index 932b7639224..3ef81ae5f19 100644
--- a/include/linux/ti_wilink_st.h
+++ b/include/linux/ti_wilink_st.h
@@ -26,6 +26,7 @@
#define TI_WILINK_ST_H
#include <linux/skbuff.h>
+#include <linux/wakelock.h>
/**
* enum proto-type - The protocol on WiLink chips which share a
@@ -158,9 +159,20 @@ struct st_data_s {
unsigned long ll_state;
void *kim_data;
struct tty_struct *tty;
+
+ struct wake_lock st_awake; /* Held while controller is awake */
};
/*
+ * called when Bluetooth IC changes sleep state.
+ *
+ * This function dynamically changes pm_qos to allow
+ * CPU to go to deep idle state when there is no
+ * communication between host and Bluetooth IC.
+ */
+void st_pm_qos_update(struct st_data_s *st_gdata, bool awake);
+
+/*
* wrapper around tty->ops->write_room to check
* availability during firmware download
*/
@@ -392,6 +404,9 @@ void st_ll_disable(struct st_data_s *);
unsigned long st_ll_getstate(struct st_data_s *);
unsigned long st_ll_sleep_state(struct st_data_s *, unsigned char);
void st_ll_wakeup(struct st_data_s *);
+void omap_serial_runtime_get(int port_index);
+void omap_serial_runtime_put(int port_index);
+void omap_serial_relax(int port_index);
/*
* header information used by st_core.c for FM and GPS
@@ -446,6 +461,7 @@ struct ti_st_plat_data {
int (*chip_disable) (struct kim_data_s *);
int (*chip_asleep) (struct kim_data_s *);
int (*chip_awake) (struct kim_data_s *);
+ int port_index;
};
#endif /* TI_WILINK_ST_H */