Merge branch 'caf/driver/br_android_ncihalx_comm_13' into nfc-driver.lnx.13.0
* caf/driver/br_android_ncihalx_comm_13: Updated corresponding to - NFC_AR_00_E800_13.03.00_OpnSrc Updated corresponding to - NFC_AR_00_E800_13.02.01_OpnSrc Change-Id: I8494390209f52873828fcc2c83929403c633646d
这个提交包含在:
@@ -1,6 +1,6 @@
|
||||
/******************************************************************************
|
||||
* Copyright (C) 2015, The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2013-2021 NXP
|
||||
* Copyright (C) 2013-2022 NXP
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -237,8 +237,8 @@ int i2c_write(struct nfc_dev *nfc_dev, const char *buf, size_t count,
|
||||
for (retry_cnt = 1; retry_cnt <= MAX_WRITE_IRQ_COUNT; retry_cnt++) {
|
||||
if (gpio_get_value(nfc_gpio->irq)) {
|
||||
pr_warn("%s: irq high during write, wait\n", __func__);
|
||||
usleep_range(NFC_WRITE_IRQ_WAIT_TIME_US,
|
||||
NFC_WRITE_IRQ_WAIT_TIME_US + 100);
|
||||
usleep_range(WRITE_RETRY_WAIT_TIME_US,
|
||||
WRITE_RETRY_WAIT_TIME_US + 100);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
@@ -336,27 +336,27 @@ int nfc_i2c_dev_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
int ret = 0;
|
||||
struct nfc_dev *nfc_dev = NULL;
|
||||
struct i2c_dev *i2c_dev = NULL;
|
||||
struct platform_configs nfc_configs;
|
||||
struct platform_gpio *nfc_gpio = &nfc_configs.gpio;
|
||||
|
||||
struct platform_configs *nfc_configs = NULL;
|
||||
struct platform_gpio *nfc_gpio = NULL;
|
||||
pr_debug("%s: enter\n", __func__);
|
||||
/* retrieve details of gpios from dt */
|
||||
ret = nfc_parse_dt(&client->dev, &nfc_configs, PLATFORM_IF_I2C);
|
||||
if (ret) {
|
||||
pr_err("%s: failed to parse dt\n", __func__);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
|
||||
pr_err("%s: need I2C_FUNC_I2C\n", __func__);
|
||||
ret = -ENODEV;
|
||||
goto err;
|
||||
}
|
||||
nfc_dev = kzalloc(sizeof(struct nfc_dev), GFP_KERNEL);
|
||||
if (nfc_dev == NULL) {
|
||||
ret = -ENOMEM;
|
||||
goto err;
|
||||
}
|
||||
nfc_configs = &nfc_dev->configs;
|
||||
nfc_gpio = &nfc_configs->gpio;
|
||||
/* retrieve details of gpios from dt */
|
||||
ret = nfc_parse_dt(&client->dev,nfc_configs, PLATFORM_IF_I2C);
|
||||
if (ret) {
|
||||
pr_err("%s: failed to parse dt\n", __func__);
|
||||
goto err_free_nfc_dev;
|
||||
}
|
||||
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
|
||||
pr_err("%s: need I2C_FUNC_I2C\n", __func__);
|
||||
ret = -ENODEV;
|
||||
goto err_free_nfc_dev;
|
||||
}
|
||||
nfc_dev->read_kbuf = kzalloc(MAX_NCI_BUFFER_SIZE, GFP_DMA | GFP_KERNEL);
|
||||
if (!nfc_dev->read_kbuf) {
|
||||
ret = -ENOMEM;
|
||||
@@ -393,11 +393,6 @@ int nfc_i2c_dev_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||
pr_err("%s: unable to request nfc firm downl gpio [%d]\n",
|
||||
__func__, nfc_gpio->dwl_req);
|
||||
}
|
||||
|
||||
/* copy the retrieved gpio details from DT */
|
||||
memcpy(&nfc_dev->configs, &nfc_configs,
|
||||
sizeof(struct platform_configs));
|
||||
|
||||
/* init mutex and queues */
|
||||
init_waitqueue_head(&nfc_dev->read_wq);
|
||||
mutex_init(&nfc_dev->read_mutex);
|
||||
|
在新工单中引用
屏蔽一个用户