mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-04 08:34:47 +10:00 
			
		
		
		
	Bluetooth: btsdio: Do not bind to non-removable BCM43430
BCM43430 devices soldered onto the PCB (non-removable) use an UART connection for bluetooth. But also advertise btsdio support on their 3th sdio function. Signed-off-by: Cho, Yu-Chen <acho@suse.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
		
							parent
							
								
									d864991b22
								
							
						
					
					
						commit
						70ecdd3d8b
					
				@ -293,13 +293,17 @@ static int btsdio_probe(struct sdio_func *func,
 | 
			
		||||
		tuple = tuple->next;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* BCM43341 devices soldered onto the PCB (non-removable) use an
 | 
			
		||||
	 * uart connection for bluetooth, ignore the BT SDIO interface.
 | 
			
		||||
	/* Broadcom devices soldered onto the PCB (non-removable) use an
 | 
			
		||||
	 * UART connection for Bluetooth, ignore the BT SDIO interface.
 | 
			
		||||
	 */
 | 
			
		||||
	if (func->vendor == SDIO_VENDOR_ID_BROADCOM &&
 | 
			
		||||
	    func->device == SDIO_DEVICE_ID_BROADCOM_43341 &&
 | 
			
		||||
	    !mmc_card_is_removable(func->card->host))
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
	    !mmc_card_is_removable(func->card->host)) {
 | 
			
		||||
		switch (func->device) {
 | 
			
		||||
		case SDIO_DEVICE_ID_BROADCOM_43341:
 | 
			
		||||
		case SDIO_DEVICE_ID_BROADCOM_43430:
 | 
			
		||||
			return -ENODEV;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	data = devm_kzalloc(&func->dev, sizeof(*data), GFP_KERNEL);
 | 
			
		||||
	if (!data)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user