tree f0604dbb1efda5772886cbbae88dc7b8cb88d617
parent 444474dd5b33332100311af8ff31a587f6105011
parent ddc1a70b5f2a07a932ed31f989d63937bb813439
author John W. Linville <linville@tuxdriver.com> 1382119168 -0400
committer John W. Linville <linville@tuxdriver.com> 1382119168 -0400
mergetag object ddc1a70b5f2a07a932ed31f989d63937bb813439
 type commit
 tag nfc-next-3.13-1
 tagger Samuel Ortiz <sameo@linux.intel.com> 1381148626 +0200
 
 This is the first NFC pull request for the 3.13 kernel.
 It's a fairly big one, with the following highlights:
 
 - NFC digital layer implementation: Most NFC chipsets implement the NFC
   digital layer in firmware, but others have more basic functionalities
   and expect the host to implement the digital layer. This layer sits
   below the NFC core.
 
 - Sony's port100 support: This is "soft" NFC USB dongle that expects the
   digital layer to be implemented on the host. This is the first user of
   our NFC digital stack implementation.
 
 - Secure element API: We now provide a netlink API for enabling,
   disabling and discovering NFC attached (embedded or UICC ones) secure
   elements. With some userspace help, this allows us to support NFC
   payments.
   Only the pn544 driver currently supports that API.
 
 - NCI SPI fixes and improvements: In order to support NCI devices over
   SPI, we fixed and improved our NCI/SPI implementation. The currently
   most deployed NFC NCI chipset, Broadcom's bcm2079x, supports that mode
   and we're planning to use our NCI/SPI framework to implement a
   driver for it.
 
 - pn533 fragmentation support in target mode: This was the only missing
   feature from our pn533 impementation. We now support fragmentation in
   both Tx and Rx modes, in target mode.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJSUqvzAAoJEIqAPN1PVmxKKHEP/1mK8kWx9ZZ8egkrkzaTw4lW
 J9uJq2kTGv5tfEfWjuigAhz5kHB6qLTJLx8FEBZAHazLfa4Az0Zm2G7I7+GTQAMV
 Mw+uAAI22GGnNgdTNzXDAqgS76Eul2PiWf2UwAbKFZWiyEj5Vf/eZBJAS9nTKLM3
 En37wBjvMpVgj6ZwOHKsqPR801NSa3HiM653tkmgSsk3QVL3b7s+kynSuAtshsmA
 twzymUoJFfYePVnQNRnT3PVPR6w0tRNs4vdq8j5UUuoj1vgKC0/h6nIz2aCURwyE
 j1pQlSy4ykASM8QZNI2jv3VaOFxmASig2GOgzvCeBZOmCBdlNq13ZY/T0SmmiYES
 LTbg6Pmh5BXID95GqcFcJaC+iS+QNZK+RWhNYmj+JWCuqZ9Qcja3++IoQ7m/pAip
 WfyQsO7lD7wPhXUu4IMxfyKNu8u4nCiHdBMp7TBVXiWIVUMxIcoM0auNW4O1qSvW
 eLq0f1oqQXE9hIrJ4oYUZmn9D5CKRLIXr9SVcmat+VxmV/+jFgV5cMQIGRdDAEUq
 4g5g7Avbpkkccn9wdFaIm0VpxMebaNFSWVfBOw4L7PF56lqns6shBcq3W3OvDf60
 /Tn0oe9Qqvr17xarJackFkF8beBkJaKOJv9M5+KjlVgGexcNMMTIiwj8aPl6+mqC
 t5n6tCp0g941jB3qAV2G
 =K1A5
 -----END PGP SIGNATURE-----

Merge tag 'nfc-next-3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next

Samuel Ortiz <sameo@linux.intel.com> says:

"This is the first NFC pull request for the 3.13 kernel.
It's a fairly big one, with the following highlights:

- NFC digital layer implementation: Most NFC chipsets implement the NFC
  digital layer in firmware, but others have more basic functionalities
  and expect the host to implement the digital layer. This layer sits
  below the NFC core.

- Sony's port100 support: This is "soft" NFC USB dongle that expects the
  digital layer to be implemented on the host. This is the first user of
  our NFC digital stack implementation.

- Secure element API: We now provide a netlink API for enabling,
  disabling and discovering NFC attached (embedded or UICC ones) secure
  elements. With some userspace help, this allows us to support NFC
  payments.
  Only the pn544 driver currently supports that API.

- NCI SPI fixes and improvements: In order to support NCI devices over
  SPI, we fixed and improved our NCI/SPI implementation. The currently
  most deployed NFC NCI chipset, Broadcom's bcm2079x, supports that mode
  and we're planning to use our NCI/SPI framework to implement a
  driver for it.

- pn533 fragmentation support in target mode: This was the only missing
  feature from our pn533 impementation. We now support fragmentation in
  both Tx and Rx modes, in target mode."

Signed-off-by: John W. Linville <linville@tuxdriver.com>
