add PN544 NFC driver

driver picked from 14.4.A.0.133 release

Conflicts:
	drivers/misc/Kconfig
	drivers/misc/Makefile
remove CC wrapper
ignore arch/arm/mach-msm/smd_rpc_sym.c
persistent_ram: Fix buffer size clamping during writes

commit 484dd30e016eb425b0de871357fff2c9bb93be45 upstream.

This is a longstanding bug, almost unnoticeable when calling
persistent_ram_write() for small buffers.

But when called for large data buffers, the write routine behaves
incorrectly, as the size may never update: instead of clamping
the size to the maximum buffer size, buffer_size_add_clamp() returns
an error (which is never checked by the write routine, btw).

To fix this, we now use buffer_size_add() that actually clamps the
size to the max value.

Also remove buffer_size_add_clamp(), it is no longer needed.

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Acked-by: Colin Cross <ccross@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Revert "staging: android: ram_console: honor dmesg_restrict"

This reverts commit dd09979346813357200adf71b07003fc0a778089.
spmi: use more appropriate name for spmi devices

Using a pointer for the name makes devices near impossible to access
from sysfs reliably without an alias. Change this to either use the
unique of_node name or the of_node name and the device's address.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
leds-qpnp: reduce WLED max brightness to 255, as dictated by led-class

Signed-off-by: Courtney Cavin <courtney.cavin@sonymobile.com>

Conflicts:
	drivers/leds/leds-qpnp.c
radio: iris: Mark radio_hci_smd_init as __init

Change-Id: I37aba71dc5fdee00054172ed46a20d93c3e77766
radio: iris: Initialize radio-iris for built-in iris-transport

Change-Id: Id0d9a36f93ec387e08be3d041e60113d2cf75aa8
radio: iris: Use #define to declare numerical constants

* Declaring these as actual types causes duplicate symbol problems
  when compiling IRIS as a kernel builtin.

Change-Id: Id180bc196caaa12d0755a9159af9660419558a56