Convert hci_ll to use hci_uart_unregister_device().
This simplifies the _remove() handler as well as fixes a
potential race condition on unload.
Signed-off-by: Ian Molton <ian@mnementh.co.uk>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabor.co.uk>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
 static void hci_ti_remove(struct serdev_device *serdev)
 {
        struct ll_device *lldev = serdev_device_get_drvdata(serdev);
-       struct hci_uart *hu = &lldev->hu;
-       struct hci_dev *hdev = hu->hdev;
 
-       cancel_work_sync(&hu->write_work);
-
-       hci_unregister_dev(hdev);
-       hci_free_dev(hdev);
-       hu->proto->close(hu);
+       hci_uart_unregister_device(&lldev->hu);
 }
 
 static const struct of_device_id hci_ti_of_match[] = {