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) {
|
||||
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;
|
||||
}
|
||||
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)
|
||||
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))
|
||||
break;
|
||||
|
||||
@@ -665,6 +672,9 @@ long pn544_dev_ioctl(struct file *filp, unsigned int cmd,
|
||||
msleep(10);
|
||||
}
|
||||
} 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);
|
||||
gpio_set_value(pn544_dev->ven_gpio, 0);
|
||||
msleep(10);
|
||||
|
@@ -117,6 +117,10 @@
|
||||
FW_DNLD: NFC_ON and FW download is going on
|
||||
*/
|
||||
#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{
|
||||
P61_STATE_INVALID = 0x0000,
|
||||
|
مرجع در شماره جدید
Block a user