Hi, On Sat, Jul 08, 2017 at 05:37:41PM +0100, Ian Molton wrote: > Several drivers have the same (and incorrect) code in their > _remove() handler. > > Coalesce this into a shared function. > > Signed-off-by: Ian Molton <ian@xxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> -- Sebastian > drivers/bluetooth/hci_serdev.c | 12 ++++++++++++ > drivers/bluetooth/hci_uart.h | 1 + > 2 files changed, 13 insertions(+) > > diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c > index aea930101dd2..abc70b5e5647 100644 > --- a/drivers/bluetooth/hci_serdev.c > +++ b/drivers/bluetooth/hci_serdev.c > @@ -354,3 +354,15 @@ 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); > diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h > index c6e9e1cf63f8..d9cd95d81149 100644 > --- a/drivers/bluetooth/hci_uart.h > +++ b/drivers/bluetooth/hci_uart.h > @@ -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); > -- > 2.11.0
Attachment:
signature.asc
Description: PGP signature