diff options
author | Christophe Ricard <christophe.ricard@gmail.com> | 2016-04-30 09:12:39 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2016-05-04 01:31:07 +0200 |
commit | 27420fec40e22cb3ff04bcef654110eb2ef37620 (patch) | |
tree | 66fb845d597bd806e96cbb2786ac4488b30b1a34 | |
parent | nfc: st21nfca: set is_ese_present and is_uicc_present properly (diff) | |
download | linux-27420fec40e22cb3ff04bcef654110eb2ef37620.tar.xz linux-27420fec40e22cb3ff04bcef654110eb2ef37620.zip |
nfc: st-nci: set is_ese_present and is_uicc_present properly
When they're present, set is_ese_present and set is_uicc_present
to the value describe in their package description.
So far is_ese_present and is_uicc_present was set to true if their
property was present.
Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/nfc/st-nci/i2c.c | 17 | ||||
-rw-r--r-- | drivers/nfc/st-nci/spi.c | 17 |
2 files changed, 26 insertions, 8 deletions
diff --git a/drivers/nfc/st-nci/i2c.c b/drivers/nfc/st-nci/i2c.c index 6645972377af..a6a1977e57c5 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; } diff --git a/drivers/nfc/st-nci/spi.c b/drivers/nfc/st-nci/spi.c index e015015c5dc9..51a863f0a987 100644 --- a/drivers/nfc/st-nci/spi.c +++ b/drivers/nfc/st-nci/spi.c @@ -229,6 +229,7 @@ static int st_nci_spi_acpi_request_resources(struct spi_device *spi_dev) const struct acpi_device_id *id; struct gpio_desc *gpiod_reset; struct device *dev; + u8 tmp; if (!spi_dev) return -EINVAL; @@ -252,10 +253,18 @@ static int st_nci_spi_acpi_request_resources(struct spi_device *spi_dev) phy->irq_polarity = irq_get_trigger_type(spi_dev->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); + tmp = phy->se_status.is_ese_present; + } + + if (device_property_present(dev, "uicc-present")) { + device_property_read_u8(dev, "uicc-present", &tmp); + tmp = phy->se_status.is_uicc_present; + } return 0; } |