mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	i2c: qup: add probe path for Centriq ACPI devices
Add support for Qualcomm Centriq devices that are qup-v2 compatible but do not support DMA, so nodma needs to be set. Signed-off-by: Austin Christ <austinwc@codeaurora.org> Reviewed-by: Sricharan R <sricharan@codeaurora.org> Reviewed-by: Andy Gross <andy.gross@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
		
							parent
							
								
									6a0c0d0d00
								
							
						
					
					
						commit
						902a91a02b
					
				
					 1 changed files with 12 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -1648,6 +1648,14 @@ static void qup_i2c_disable_clocks(struct qup_i2c_dev *qup)
 | 
			
		|||
	clk_disable_unprepare(qup->pclk);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if IS_ENABLED(CONFIG_ACPI)
 | 
			
		||||
static const struct acpi_device_id qup_i2c_acpi_match[] = {
 | 
			
		||||
	{ "QCOM8010"},
 | 
			
		||||
	{ },
 | 
			
		||||
};
 | 
			
		||||
MODULE_DEVICE_TABLE(acpi, qup_i2c_acpi_match);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static int qup_i2c_probe(struct platform_device *pdev)
 | 
			
		||||
{
 | 
			
		||||
	static const int blk_sizes[] = {4, 16, 32};
 | 
			
		||||
| 
						 | 
				
			
			@ -1682,7 +1690,10 @@ static int qup_i2c_probe(struct platform_device *pdev)
 | 
			
		|||
	} else {
 | 
			
		||||
		qup->adap.algo = &qup_i2c_algo_v2;
 | 
			
		||||
		is_qup_v1 = false;
 | 
			
		||||
		ret = qup_i2c_req_dma(qup);
 | 
			
		||||
		if (acpi_match_device(qup_i2c_acpi_match, qup->dev))
 | 
			
		||||
			goto nodma;
 | 
			
		||||
		else
 | 
			
		||||
			ret = qup_i2c_req_dma(qup);
 | 
			
		||||
 | 
			
		||||
		if (ret == -EPROBE_DEFER)
 | 
			
		||||
			goto fail_dma;
 | 
			
		||||
| 
						 | 
				
			
			@ -1959,14 +1970,6 @@ static const struct of_device_id qup_i2c_dt_match[] = {
 | 
			
		|||
};
 | 
			
		||||
MODULE_DEVICE_TABLE(of, qup_i2c_dt_match);
 | 
			
		||||
 | 
			
		||||
#if IS_ENABLED(CONFIG_ACPI)
 | 
			
		||||
static const struct acpi_device_id qup_i2c_acpi_match[] = {
 | 
			
		||||
	{ "QCOM8010"},
 | 
			
		||||
	{ },
 | 
			
		||||
};
 | 
			
		||||
MODULE_DEVICE_TABLE(acpi, qup_i2c_acpi_match);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static struct platform_driver qup_i2c_driver = {
 | 
			
		||||
	.probe  = qup_i2c_probe,
 | 
			
		||||
	.remove = qup_i2c_remove,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue