mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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: Ian Molton <ian@mnementh.co.uk> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
		
							parent
							
								
									fd865802c6
								
							
						
					
					
						commit
						c34dc3bfa7
					
				
					 2 changed files with 14 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue