Commit Graph

8 Commits

Author SHA1 Message Date
Christophe Ricard
be103b714e nfc: nxp-nci: Remove i2c client gpio irq configuration
gpio irq is already configured by the core i2c layers
when reaching the probe function.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-12-29 19:06:22 +01:00
Christophe Ricard
da5afe06d5 nfc: nxp-nci: Remove #ifdef CONFIG_OF
All of_* APIs are safe if CONFIG_OF is not define.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-12-29 19:06:14 +01:00
Fabio Estevam
59df9bb25c nxp-nci: i2c: Do not check specifically for -EREMOTEIO error
Function nxp_nci_i2c_write currently assumes in case of
I2C bus NACK that the NFC device is in stand-by mode and
will retry the I2C transaction after a pause. This assumes
that the first failed I2C transaction will wake-up the device.

This is done by checking on EREMOTEIO, which is wrong. According
to Documentation/i2c/fault-codes ENXIO shall be used. Unfortunately
the NOACK return code is currently inconsistent across various I2C
host controller drivers. So only check for the generic error case
instead.

This is a temporary fix. As soon as all I2C bus master drivers are
fixed to consistently return 'ENXIO', then we can do the specific
error check again.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-11-18 02:30:49 +01:00
Julia Lawall
7cf6d08caf NFC: nxp-nci: constify nxp_nci_phy_ops structure
The only instance of a nxp_nci_phy_ops structure is never modified.  Thus
the declaration of the structure and all references to the structure type
can be made const.

Done with the help of Coccinelle.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-10-19 20:04:13 +02:00
Uwe Kleine-König
3bfe76806f NFC: nxp-nci_i2c: use flags argument of devm_gpiod_get_index
Since 39b2bbe3d7 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.

Simplify driver accordingly which even makes error checking more correct
because gpiod_direction_{in,out}put might fail. Furthermore this is one
caller less that stops us making the flags argument to gpiod_get*()
mandatory.

Acked-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2015-07-06 10:10:22 +02:00
Samuel Ortiz
262e7198bc NFC: nxp-nci: Fix build warning
When GPIO is not enabled we hit this kind of warning:

   drivers/nfc/nxp-nci/i2c.c: In function 'nxp_nci_i2c_acpi_config':
   drivers/nfc/nxp-nci/i2c.c:320:2: error: implicit declaration of function 'devm_gpiod_get_index' [-Werror=implicit-function-declaration]
     gpiod_en = devm_gpiod_get_index(&client->dev, NULL, 2);

This is fixed by explicitely including gpio/consumer.h.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-06-08 23:15:31 +02:00
Oleg Zhurakivskyy
551e306905 NFC: nxp-nci_i2c: Add support for enumerating through ACPI
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-06-08 23:15:30 +02:00
Clément Perrochaud
6be88670fc NFC: nxp-nci_i2c: Add I2C support to NXP NCI driver
Add a module to the NXP-NCI driver to support NFC controllers with an
I2C control interface, such as the NPC100.

Signed-off-by: Clément Perrochaud <clement.perrochaud@effinnov.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-03-26 11:21:41 +01:00