drivers/bluetooth/hci_ath.c | 3 +++
drivers/bluetooth/hci_bcm.c | 3 +++
drivers/bluetooth/hci_intel.c | 3 +++
- drivers/bluetooth/hci_ldisc.c | 13 +++++++++++++
+ drivers/bluetooth/hci_ldisc.c | 9 +++++++++
drivers/bluetooth/hci_uart.h | 1 +
- 5 files changed, 23 insertions(+)
+ 5 files changed, 19 insertions(+)
--- a/drivers/bluetooth/hci_ath.c
+++ b/drivers/bluetooth/hci_ath.c
return -ENOMEM;
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
-@@ -257,6 +257,19 @@ static int hci_uart_send_frame(struct hc
+@@ -257,6 +257,15 @@ static int hci_uart_send_frame(struct hc
return 0;
}
+/* Check the underlying device or tty has flow control support */
+bool hci_uart_has_flow_control(struct hci_uart *hu)
+{
-+ /* serdev nodes check if the needed operations are present */
-+ if (hu->serdev)
-+ return true;
-+
+ if (hu->tty->driver->ops->tiocmget && hu->tty->driver->ops->tiocmset)
+ return true;
+
drivers/bluetooth/hci_ath.c | 3 +++
drivers/bluetooth/hci_bcm.c | 3 +++
drivers/bluetooth/hci_intel.c | 3 +++
- drivers/bluetooth/hci_ldisc.c | 13 +++++++++++++
+ drivers/bluetooth/hci_ldisc.c | 9 +++++++++
drivers/bluetooth/hci_mrvl.c | 3 +++
drivers/bluetooth/hci_uart.h | 1 +
- 6 files changed, 26 insertions(+)
+ 6 files changed, 22 insertions(+)
--- a/drivers/bluetooth/hci_ath.c
+++ b/drivers/bluetooth/hci_ath.c
return -ENOMEM;
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
-@@ -263,6 +263,19 @@ static int hci_uart_send_frame(struct hc
+@@ -263,6 +263,15 @@ static int hci_uart_send_frame(struct hc
return 0;
}
+/* Check the underlying device or tty has flow control support */
+bool hci_uart_has_flow_control(struct hci_uart *hu)
+{
-+ /* serdev nodes check if the needed operations are present */
-+ if (hu->serdev)
-+ return true;
-+
+ if (hu->tty->driver->ops->tiocmget && hu->tty->driver->ops->tiocmset)
+ return true;
+