Search Linux Wireless

[PATCH 0/6] NFC subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series of patches implements the first part of the Near Field
Communication (NFC) subsystem.

A NFC subsystem is required to standardize the NFC device drivers
development and to create an unified userspace interface.

This implementation focus in one of the three NFC use cases: the tag
read/write. However the architecture was designed with the card
emulation and peer-to-peer use cases in mind.

The subsystem is divided in some parts. The 'core' is responsible for
providing the device driver interface. On the other side, it is also
responsible for providing an interface to the control operations and
low-level data exchange.

The control operations are available to userspace via generic netlink.
The most important operations are NFC_CMD_START_POLL and
NFC_CMD_STOP_POLL that control the polling for targets. The event
NFC_EVENT_TARGETS_FOUND is emitted to return polling results.

The low-level data exchange interface to userspace is provided by a
new socket family: PF_NFC. The NFC_SOCKPROTO_RAW uses SOCK_SEQPACKET
to perform raw communication with NFC targets. The address family
(AF_NFC) has the local device id, the NFC target id and the NFC
protocol as fields.

Further, the low-level data exchange interface provided by the core
can also be used to implement the LLCP protocol.

To test the implementation, we developed the NXP pn533 driver and an
user application example. The driver implementation is included in
this patch series. The user application example can be found at
http://code.openbossa.org.

Aloisio Almeida Jr (3):
  NFC: add NFC socket family
  NFC: pn533: add NXP pn533 nfc device driver
  NFC: add Documentation/networking/nfc.txt

Lauro Ramos Venancio (3):
  NFC: add nfc subsystem core
  NFC: add nfc generic netlink interface
  NFC: add the NFC socket raw protocol

 Documentation/networking/nfc.txt |  127 +++
 drivers/Kconfig                  |    2 -
 drivers/Makefile                 |    1 +
 drivers/nfc/Kconfig              |   24 +-
 drivers/nfc/Makefile             |    3 +
 drivers/nfc/pn533.c              | 1629 ++++++++++++++++++++++++++++++++++++++
 include/linux/nfc.h              |  136 ++++
 include/linux/socket.h           |    4 +-
 include/net/nfc.h                |  149 ++++
 net/Kconfig                      |    1 +
 net/Makefile                     |    1 +
 net/core/sock.c                  |    6 +-
 net/nfc/Kconfig                  |   24 +
 net/nfc/Makefile                 |    9 +
 net/nfc/af_nfc.c                 |   98 +++
 net/nfc/core.c                   |  403 ++++++++++
 net/nfc/netlink.c                |  446 +++++++++++
 net/nfc/nfc.h                    |  110 +++
 net/nfc/rawsock.c                |  351 ++++++++
 19 files changed, 3506 insertions(+), 18 deletions(-)
 create mode 100644 Documentation/networking/nfc.txt
 create mode 100644 drivers/nfc/pn533.c
 create mode 100644 include/linux/nfc.h
 create mode 100644 include/net/nfc.h
 create mode 100644 net/nfc/Kconfig
 create mode 100644 net/nfc/Makefile
 create mode 100644 net/nfc/af_nfc.c
 create mode 100644 net/nfc/core.c
 create mode 100644 net/nfc/netlink.c
 create mode 100644 net/nfc/nfc.h
 create mode 100644 net/nfc/rawsock.c

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux