Updated corresponding to - NFC_AR_00_6000_10.00.08_OpnSrc
This commit is contained in:
@@ -167,7 +167,9 @@ static void pn544_disable_irq(struct pn544_dev *pn544_dev)
|
|||||||
|
|
||||||
static int pn544_dev_release(struct inode *inode, struct file *filp) {
|
static int pn544_dev_release(struct inode *inode, struct file *filp) {
|
||||||
pn544_dev->state_flags = 0x00;
|
pn544_dev->state_flags = 0x00;
|
||||||
pr_info(KERN_ALERT "Exit %s: NFC driver release \n", __func__);
|
if (pn544_dev->firm_gpio)
|
||||||
|
gpio_set_value(pn544_dev->firm_gpio, 0);
|
||||||
|
pr_info(KERN_ALERT "Exit %s: NFC driver release nfc hal \n", __func__);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static irqreturn_t pn544_dev_irq_handler(int irq, void *dev_id)
|
static irqreturn_t pn544_dev_irq_handler(int irq, void *dev_id)
|
||||||
@@ -244,7 +246,12 @@ static ssize_t pn544_dev_read(struct file *filp, char __user *buf,
|
|||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
if(pn544_dev->state_flags & P544_FLAG_NFC_VEN_RESET) {
|
||||||
|
pr_warning("%s: releasing read \n", __func__);
|
||||||
|
pn544_dev->state_flags &= ~P544_FLAG_NFC_VEN_RESET;
|
||||||
|
ret = -EL3RST;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
if (gpio_get_value(pn544_dev->irq_gpio))
|
if (gpio_get_value(pn544_dev->irq_gpio))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -665,6 +672,9 @@ long pn544_dev_ioctl(struct file *filp, unsigned int cmd,
|
|||||||
msleep(10);
|
msleep(10);
|
||||||
}
|
}
|
||||||
} else if (arg == 5) {
|
} else if (arg == 5) {
|
||||||
|
pn544_dev->state_flags |= P544_FLAG_NFC_VEN_RESET;
|
||||||
|
pn544_disable_irq(pn544_dev);
|
||||||
|
wake_up(&pn544_dev->read_wq);
|
||||||
msleep(10);
|
msleep(10);
|
||||||
gpio_set_value(pn544_dev->ven_gpio, 0);
|
gpio_set_value(pn544_dev->ven_gpio, 0);
|
||||||
msleep(10);
|
msleep(10);
|
||||||
|
@@ -117,6 +117,10 @@
|
|||||||
FW_DNLD: NFC_ON and FW download is going on
|
FW_DNLD: NFC_ON and FW download is going on
|
||||||
*/
|
*/
|
||||||
#define P544_FLAG_ESE_COLD_RESET_FROM_DRIVER 0x04
|
#define P544_FLAG_ESE_COLD_RESET_FROM_DRIVER 0x04
|
||||||
|
/*
|
||||||
|
FW_DNLD: NFC_ON and FW download with VEN reset
|
||||||
|
*/
|
||||||
|
#define P544_FLAG_NFC_VEN_RESET 0x08
|
||||||
|
|
||||||
typedef enum p61_access_state{
|
typedef enum p61_access_state{
|
||||||
P61_STATE_INVALID = 0x0000,
|
P61_STATE_INVALID = 0x0000,
|
||||||
|
Reference in New Issue
Block a user