History log of /drivers/nfc/st21nfcb/i2c.c
Revision Date Author Comments
bc6b8275924b8af3d10ac35df0579d94fa169680 13-Sep-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: remove error output

In case we are not able to read out the NDLC/NCI header, we do not
consider this as an issue and we will give a later chance.
The NDLC layer will handle errors thanks to its internal timers.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
4294e32040b5142824f420d4a3ae604b92f1d1b5 13-Sep-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Fix improper management of -EREMOTEIO error code.

On st21nfcb the irq line might be kept to active state because of other
interfaces activity. This may generate i2c read tentative resulting in
i2c NACK.

This fix will currently let NDLC upper layer to decide when it is relevent
to signal to the physical layer when the chip as muted.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
890c165261f92e23005d84762acc98892acaa504 03-Sep-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Remove useless headers

Remove some headers as they are:
- not relevent for st21nfcb.
- called multiple times for no reason: example st21nfcb.h already include
ndlc.h.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
ac633ba6acb94a11b09a7ec417c72f65c6308b7a 03-Sep-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Fix logic when running into i2c read retry

When retrying to read the NCI header, the CLF might not be
available the first time. However it may not be successful
the second time and this may cause an error in the function.
Enforce the retrieve data length is as expected.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2c376a9e3c973e7923daba78aa16c768503cdef3 28-Jul-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Remove useless new line in nfc_err call

Remove a uselss new line in nfc_err call.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
d363d7d0a5755b347de42c28aeab23ecfdcd2348 28-Jul-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Remove double assignment of .owner in struct device_driver

The .owner member of struct device_driver is assigned THIS_MODULE twice.

Introduced by:

commit 35630df68d6030daf12dde12ed07bbe26324e6ac
NFC: st21nfcb: Add driver for STMicroelectronics ST21NFCB NFC chip

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
56ee645e304c9b86b48768de8e52babd5b6e1d8a 28-Jul-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Convert to use devm_gpio_request_one

Simplify the code a bit as mention by Axel Lin in a previous patch for
st21nfca.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
361325e21d3a06a31ab53baf452c0946743b7abb 28-Jul-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Fix scripts/checkpatch.pl error "code indent should use tabs where possible"

Fixing scripts/checkpatch.pl error "code indent should use tabs where possible" in:
- i2c.c in st21nfcb_nci_irq_thread_fn function.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
fb92ff78f85b6c1a6f1277f7dd04a3762ba725ef 25-May-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: few code clean up

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
35630df68d6030daf12dde12ed07bbe26324e6ac 25-May-2014 Christophe Ricard <christophe.ricard@gmail.com> NFC: st21nfcb: Add driver for STMicroelectronics ST21NFCB NFC chip

Add driver for STMicroelectronics ST21NFCB NFC controller.
ST21NFCB is using NCI protocol and a proprietary low level transport
protocol called NDLC used on top.

NDLC:
The protocol defines 2 types of frame:
- One type carrying NCI data (referred as DATAFRAME frames).
- One type carrying protocol information used for flow control and error
control mechanisms (referred as SUPERVISOR frames).

After each frame transmission to the NFC controller, the device host
SHALL waitfor an ACK (SUPERVISOR frame) reception before sending a
new frame.
The NFC controller MAY send a frame at anytime to the device host.
The NFC controller MAY send a specific WAIT supervisor frame to indicate
to device host that a NCI data packet has been received but that it could
take significant time before the NFC controller sends an ACK and thus
allows next data reception.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>