diff --git a/nfc/Kbuild b/nfc/Kbuild index 198d574a94..9a4e9a23da 100644 --- a/nfc/Kbuild +++ b/nfc/Kbuild @@ -1,6 +1,6 @@ -obj-$(CONFIG_NXP_NFC_I2C) := pn553_i2c.o +obj-$(CONFIG_NXP_NFC_I2C) := nfc_i2c.o -pn553_i2c-y := common.o \ - common_ese.o \ - i2c_drv.o +nfc_i2c-y := common.o \ + common_ese.o \ + i2c_drv.o diff --git a/nfc/common.h b/nfc/common.h index bcdd26dd33..675e06ccd4 100644 --- a/nfc/common.h +++ b/nfc/common.h @@ -30,7 +30,7 @@ #define CLASS_NAME "nfc" /* NFC character device name, this will be in /dev/ */ -#define NFC_CHAR_DEV_NAME "pn553" +#define NFC_CHAR_DEV_NAME "nxp-nci" /* NCI packet details */ #define NCI_CMD (0x20) @@ -78,9 +78,9 @@ #define ESE_SET_PWR _IOW(NFC_MAGIC, 0x02, uint32_t) #define ESE_GET_PWR _IOR(NFC_MAGIC, 0x03, uint32_t) -#define DTS_IRQ_GPIO_STR "nxp,pn544-irq" -#define DTS_VEN_GPIO_STR "nxp,pn544-ven" -#define DTS_FWDN_GPIO_STR "nxp,pn544-fw-dwnld" +#define DTS_IRQ_GPIO_STR "nxp,sn-irq" +#define DTS_VEN_GPIO_STR "nxp,sn-ven-rstn" +#define DTS_FWDN_GPIO_STR "nxp,sn-dwl-req" enum nfcc_ioctl_request { /* NFC disable request with VEN LOW */ diff --git a/nfc/i2c_drv.c b/nfc/i2c_drv.c index 2792484263..32cfc43a4c 100644 --- a/nfc/i2c_drv.c +++ b/nfc/i2c_drv.c @@ -323,27 +323,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__); + 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); + 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_dev->read_kbuf = kzalloc(MAX_NCI_BUFFER_SIZE, GFP_DMA | GFP_KERNEL); if (!nfc_dev->read_kbuf) { ret = -ENOMEM; @@ -380,11 +380,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); diff --git a/nfc/i2c_drv.h b/nfc/i2c_drv.h index 1508fd4163..628ca0862d 100644 --- a/nfc/i2c_drv.h +++ b/nfc/i2c_drv.h @@ -23,8 +23,8 @@ #include /* kept same as dts */ -#define NFC_I2C_DRV_STR "nxp,pn544" -#define NFC_I2C_DEV_ID "pn553" +#define NFC_I2C_DRV_STR "nxp,sn-nci" +#define NFC_I2C_DEV_ID "sn-i2c" /* Interface specific parameters */ struct i2c_dev {