bluetooth: Implement btuart_close for btuart upperhalf driver
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
parent
11d083b358
commit
fab8b081c0
5 changed files with 22 additions and 4 deletions
|
|
@ -275,10 +275,6 @@ int btuart_open(FAR struct bt_driver_s *dev)
|
|||
DEBUGASSERT(upper != NULL && upper->lower != NULL);
|
||||
lower = upper->lower;
|
||||
|
||||
/* Disable Rx callbacks */
|
||||
|
||||
lower->rxenable(lower, false);
|
||||
|
||||
/* Drain any cached Rx data */
|
||||
|
||||
lower->rxdrain(lower);
|
||||
|
|
@ -292,3 +288,21 @@ int btuart_open(FAR struct bt_driver_s *dev)
|
|||
lower->rxenable(lower, true);
|
||||
return OK;
|
||||
}
|
||||
|
||||
void btuart_close(FAR struct bt_driver_s *dev)
|
||||
{
|
||||
FAR struct btuart_upperhalf_s *upper;
|
||||
FAR const struct btuart_lowerhalf_s *lower;
|
||||
|
||||
upper = (FAR struct btuart_upperhalf_s *)dev;
|
||||
DEBUGASSERT(upper != NULL && upper->lower != NULL);
|
||||
lower = upper->lower;
|
||||
|
||||
/* Disable Rx callbacks */
|
||||
|
||||
lower->rxenable(lower, false);
|
||||
|
||||
/* Detach the Rx event handler */
|
||||
|
||||
lower->rxattach(lower, NULL, NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,5 +91,6 @@ int btuart_send(FAR struct bt_driver_s *dev,
|
|||
enum bt_buf_type_e type,
|
||||
FAR void *data, size_t len);
|
||||
int btuart_open(FAR struct bt_driver_s *dev);
|
||||
void btuart_close(FAR struct bt_driver_s *dev);
|
||||
|
||||
#endif /* __DRIVER_WIRELESS_BLUETOOTH_BT_UART_H */
|
||||
|
|
|
|||
|
|
@ -423,6 +423,7 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
|
|||
upper->dev.head_reserve = H4_HEADER_SIZE;
|
||||
upper->dev.open = btuart_open;
|
||||
upper->dev.send = btuart_send;
|
||||
upper->dev.close = btuart_close;
|
||||
upper->lower = lower;
|
||||
|
||||
/* Load firmware */
|
||||
|
|
|
|||
|
|
@ -189,6 +189,7 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
|
|||
upper->dev.head_reserve = H4_HEADER_SIZE;
|
||||
upper->dev.open = btuart_open;
|
||||
upper->dev.send = btuart_send;
|
||||
upper->dev.close = btuart_close;
|
||||
upper->lower = lower;
|
||||
|
||||
/* Load firmware */
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ int btuart_register(FAR const struct btuart_lowerhalf_s *lower)
|
|||
upper->dev.head_reserve = H4_HEADER_SIZE;
|
||||
upper->dev.open = btuart_open;
|
||||
upper->dev.send = btuart_send;
|
||||
upper->dev.close = btuart_close;
|
||||
upper->lower = lower;
|
||||
|
||||
/* And register the driver with the network and the Bluetooth stack. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue