forked from Minki/linux
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
@ -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 New Issue
Block a user