From 71fa3f1d6bda19888c900244da173a0ee0a142d2 Mon Sep 17 00:00:00 2001 From: nxf24591 Date: Tue, 1 Mar 2022 15:12:06 +0530 Subject: [PATCH] Updated corresponding to - NFC_AR_00_E800_13.03.00_OpnSrc --- nfc/common.h | 8 +++----- nfc/i2c_drv.c | 10 +++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/nfc/common.h b/nfc/common.h index 675e06ccd4..4899c0d92c 100644 --- a/nfc/common.h +++ b/nfc/common.h @@ -1,6 +1,6 @@ /****************************************************************************** * Copyright (C) 2015, The Linux Foundation. All rights reserved. - * Copyright (C) 2019-2021 NXP + * Copyright (C) 2019-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 @@ -64,10 +64,8 @@ #define NCI_CMD_RSP_TIMEOUT_MS (2000) /* Time to wait for NFCC to be ready again after any change in the GPIO */ #define NFC_GPIO_SET_WAIT_TIME_US (10000) -/* Time to wait for IRQ low during write 5*3ms */ -#define NFC_WRITE_IRQ_WAIT_TIME_US (3000) -/* Time to wait before retrying i2c/I3C writes */ -#define WRITE_RETRY_WAIT_TIME_US (1000) +/* Time to wait before retrying writes */ +#define WRITE_RETRY_WAIT_TIME_US (3000) /* Time to wait before retrying read for some specific usecases */ #define READ_RETRY_WAIT_TIME_US (3500) #define NFC_MAGIC (0xE9) diff --git a/nfc/i2c_drv.c b/nfc/i2c_drv.c index 32cfc43a4c..f335386e6d 100644 --- a/nfc/i2c_drv.c +++ b/nfc/i2c_drv.c @@ -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 @@ -225,8 +225,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; } @@ -337,12 +337,12 @@ int nfc_i2c_dev_probe(struct i2c_client *client, const struct i2c_device_id *id) ret = nfc_parse_dt(&client->dev,nfc_configs, PLATFORM_IF_I2C); if (ret) { pr_err("%s: failed to parse dt\n", __func__); - goto err; + 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; + goto err_free_nfc_dev; } nfc_dev->read_kbuf = kzalloc(MAX_NCI_BUFFER_SIZE, GFP_DMA | GFP_KERNEL); if (!nfc_dev->read_kbuf) {