mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-25 17:53:34 -05:00
Bluetooth: Introduce driver specific post init callback
Some drivers might have to restore certain settings after the init procedure has been completed. This driver callback allows them to hook into that stage. This callback is run just before the controller is declared as powered up. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
aee61f7aa8
commit
98a63aaf24
2 changed files with 5 additions and 1 deletions
|
@ -398,6 +398,7 @@ struct hci_dev {
|
|||
int (*send)(struct hci_dev *hdev, struct sk_buff *skb);
|
||||
void (*notify)(struct hci_dev *hdev, unsigned int evt);
|
||||
void (*hw_error)(struct hci_dev *hdev, u8 code);
|
||||
int (*post_init)(struct hci_dev *hdev);
|
||||
int (*set_diag)(struct hci_dev *hdev, bool enable);
|
||||
int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
|
||||
};
|
||||
|
|
|
@ -1503,8 +1503,11 @@ static int hci_dev_do_open(struct hci_dev *hdev)
|
|||
|
||||
if (!ret) {
|
||||
if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED) &&
|
||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL))
|
||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) {
|
||||
ret = __hci_init(hdev);
|
||||
if (!ret && hdev->post_init)
|
||||
ret = hdev->post_init(hdev);
|
||||
}
|
||||
}
|
||||
|
||||
/* If the HCI Reset command is clearing all diagnostic settings,
|
||||
|
|
Loading…
Add table
Reference in a new issue