diff options
Diffstat (limited to 'drivers/nfc/st-nci/i2c.c')
-rw-r--r-- | drivers/nfc/st-nci/i2c.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/nfc/st-nci/i2c.c b/drivers/nfc/st-nci/i2c.c index 6645972..a6a1977 100644 --- a/drivers/nfc/st-nci/i2c.c +++ b/drivers/nfc/st-nci/i2c.c @@ -214,6 +214,7 @@ static int st_nci_i2c_acpi_request_resources(struct i2c_client *client) const struct acpi_device_id *id; struct gpio_desc *gpiod_reset; struct device *dev; + u8 tmp; if (!client) return -EINVAL; @@ -237,10 +238,18 @@ static int st_nci_i2c_acpi_request_resources(struct i2c_client *client) phy->irq_polarity = irq_get_trigger_type(client->irq); - phy->se_status.is_ese_present = - device_property_present(dev, "ese-present"); - phy->se_status.is_uicc_present = - device_property_present(dev, "uicc-present"); + phy->se_status.is_ese_present = false; + phy->se_status.is_uicc_present = false; + + if (device_property_present(dev, "ese-present")) { + device_property_read_u8(dev, "ese-present", &tmp); + phy->se_status.is_ese_present = tmp; + } + + if (device_property_present(dev, "uicc-present")) { + device_property_read_u8(dev, "uicc-present", &tmp); + phy->se_status.is_uicc_present = tmp; + } return 0; } |