Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c34dc3bf authored by Ian Molton's avatar Ian Molton Committed by Marcel Holtmann
Browse files

Bluetooth: hci_serdev: Introduce hci_uart_unregister_device()



Several drivers have the same (and incorrect) code in their
_remove() handler.

Coalesce this into a shared function.

Signed-off-by: default avatarIan Molton <ian@mnementh.co.uk>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent fd865802
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -354,3 +354,16 @@ int hci_uart_register_device(struct hci_uart *hu,
	return err;
}
EXPORT_SYMBOL_GPL(hci_uart_register_device);

void hci_uart_unregister_device(struct hci_uart *hu)
{
	struct hci_dev *hdev = hu->hdev;

	hci_unregister_dev(hdev);
	hci_free_dev(hdev);

	cancel_work_sync(&hu->write_work);

	hu->proto->close(hu);
}
EXPORT_SYMBOL_GPL(hci_uart_unregister_device);
+1 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ struct hci_uart {
int hci_uart_register_proto(const struct hci_uart_proto *p);
int hci_uart_unregister_proto(const struct hci_uart_proto *p);
int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p);
void hci_uart_unregister_device(struct hci_uart *hu);

int hci_uart_tx_wakeup(struct hci_uart *hu);
int hci_uart_init_ready(struct hci_uart *hu);