mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-17 20:54:10 +00:00
Bluetooth: btbcm: Make btbcm_setup_patchram use btbcm_finalize
On UART attached devices we do: 1. btbcm_initialize() 2. Setup UART baudrate, etc. 3. btbcm_finalize() After our previous changes we can now also use btbcm_finalize() from the btbcm_setup_patchram() function used on USB devices without any functional changes. This completes unifying the USB and UART paths as much as possible. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
2fcdd562b9
commit
0383f16a87
3 changed files with 11 additions and 22 deletions
|
@ -502,15 +502,16 @@ int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(btbcm_initialize);
|
EXPORT_SYMBOL_GPL(btbcm_initialize);
|
||||||
|
|
||||||
int btbcm_finalize(struct hci_dev *hdev)
|
int btbcm_finalize(struct hci_dev *hdev, bool *fw_load_done)
|
||||||
{
|
{
|
||||||
bool fw_load_done = true;
|
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/* Re-initialize */
|
/* Re-initialize if necessary */
|
||||||
err = btbcm_initialize(hdev, &fw_load_done);
|
if (*fw_load_done) {
|
||||||
if (err)
|
err = btbcm_initialize(hdev, fw_load_done);
|
||||||
return err;
|
if (err)
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
btbcm_check_bdaddr(hdev);
|
btbcm_check_bdaddr(hdev);
|
||||||
|
|
||||||
|
@ -530,20 +531,8 @@ int btbcm_setup_patchram(struct hci_dev *hdev)
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if (!fw_load_done)
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
/* Re-initialize after loading Patch */
|
/* Re-initialize after loading Patch */
|
||||||
err = btbcm_initialize(hdev, &fw_load_done);
|
return btbcm_finalize(hdev, &fw_load_done);
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
done:
|
|
||||||
btbcm_check_bdaddr(hdev);
|
|
||||||
|
|
||||||
set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(btbcm_setup_patchram);
|
EXPORT_SYMBOL_GPL(btbcm_setup_patchram);
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ int btbcm_setup_patchram(struct hci_dev *hdev);
|
||||||
int btbcm_setup_apple(struct hci_dev *hdev);
|
int btbcm_setup_apple(struct hci_dev *hdev);
|
||||||
|
|
||||||
int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done);
|
int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done);
|
||||||
int btbcm_finalize(struct hci_dev *hdev);
|
int btbcm_finalize(struct hci_dev *hdev, bool *fw_load_done);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ static inline int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int btbcm_finalize(struct hci_dev *hdev)
|
static inline int btbcm_finalize(struct hci_dev *hdev, bool *fw_load_done)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -606,7 +606,7 @@ static int bcm_setup(struct hci_uart *hu)
|
||||||
btbcm_write_pcm_int_params(hu->hdev, ¶ms);
|
btbcm_write_pcm_int_params(hu->hdev, ¶ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = btbcm_finalize(hu->hdev);
|
err = btbcm_finalize(hu->hdev, &fw_load_done);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue