17 Feb, 2014
1 commit
-
Add ISO/IEC 15693 support by having netlink push the
1-byte DSFID and 8-byte UID tag information upstream.Signed-off-by: Mark A. Greer
Signed-off-by: Samuel Ortiz
11 Dec, 2013
1 commit
-
Several files refer to an old address for the Free Software Foundation
in the file header comment. Resolve by replacing the address with
the URL so that we do not have to keep
updating the header comments anytime the address changes.CC: linux-wireless@vger.kernel.org
CC: Lauro Ramos Venancio
CC: Aloisio Almeida Jr
CC: Samuel Ortiz
Signed-off-by: Jeff Kirsher
Signed-off-by: John W. Linville
20 Nov, 2013
3 commits
-
Register generic netlink multicast groups as an array with
the family and give them contiguous group IDs. Then instead
of passing the global group ID to the various functions that
send messages, pass the ID relative to the family - for most
families that's just 0 because the only have one group.This avoids the list_head and ID in each group, adding a new
field for the mcast group ID offset to the family.At the same time, this allows us to prevent abusing groups
again like the quota and dropmon code did, since we can now
check that a family only uses a group it owns.Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller -
This doesn't really change anything, but prepares for the
next patch that will change the APIs to pass the group ID
within the family, rather than the global group ID.Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller -
As suggested by David Miller, make genl_register_family_with_ops()
a macro and pass only the array, evaluating ARRAY_SIZE() in the
macro, this is a little safer.The openvswitch has some indirection, assing ops/n_ops directly in
that code. This might ultimately just assign the pointers in the
family initializations, saving the struct genl_family_and_ops and
code (once mcast groups are handled differently.)Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller
15 Nov, 2013
1 commit
-
Now that genl_ops are no longer modified in place when
registering, they can be made const. This patch was done
mostly with spatch:@@
identifier ops;
@@
+const
struct genl_ops ops[] = {
...
};(except the struct thing in net/openvswitch/datapath.c)
Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller
07 Oct, 2013
1 commit
-
se_io_cb can be declared static. This fixes the following sparse
warning:net/nfc/netlink.c:1287:6: warning: symbol 'se_io_cb' was not declared.
Should it be static?Signed-off-by: Samuel Ortiz
25 Sep, 2013
1 commit
-
Implementation of the NFC_CMD_SE_IO command for sending ISO7816 APDUs to
NFC embedded secure elements. The reply is forwarded to user space
through NFC_CMD_SE_IO as well.Signed-off-by: Samuel Ortiz
14 Aug, 2013
2 commits
-
Result is added as an NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS attribute
containing the standard errno positive value of the completion result.
This event will be sent when the firmare download operation is done and
will contain the operation result.Signed-off-by: Eric Lapuyade
Signed-off-by: Samuel Ortiz -
In order to fetch the discovered secure elements from an NFC controller,
we need to send a netlink command that will dump the list of available
SEs from NFC.Signed-off-by: Samuel Ortiz
31 Jul, 2013
1 commit
-
Loading a firmware into a target is typically called firmware
download, not firmware upload. So we rename the netlink API to
NFC_CMD_FW_DOWNLOAD in order to avoid any terminology confusion from
userspace.Signed-off-by: Samuel Ortiz
14 Jun, 2013
4 commits
-
Enabling or disabling an NFC accessible secure element through netlink
requires giving both an NFC controller and a secure element indexes.
Once enabled the secure element will handle card emulation once polling
starts.Signed-off-by: Samuel Ortiz
-
When an NFC driver or host controller stack discovers a secure element,
it will call nfc_add_se(). In order for userspace applications to use
these secure elements, a netlink event will then be sent with the SE
index and its type. With that information userspace applications can
decide wether or not to enable SEs, through their indexes.Signed-off-by: Samuel Ortiz
-
Supported secure elements are typically found during a discovery process
initiated when the NFC controller is up and running. For a given NFC
chipset there can be many configurations (embedded SE or not, with or
without a SIM card wired to the NFC controller SWP interface, etc...) and
thus driver code will never know before hand which SEs are available.
So we remove this field, it will be replaced by a real SE discovery
mechanism.Signed-off-by: Samuel Ortiz
-
As several NFC chipsets can have their firmwares upgraded and
reflashed, this patchset adds a new netlink command to trigger
that the driver loads or flashes a new firmware. This will allows
userspace triggered firmware upgrade through netlink.
The firmware name or hint is passed as a parameter, and the driver
will eventually fetch the firmware binary through the request_firmware
API.
The cmd can only be executed when the nfc dev is not in use. Actual
firmware loading/flashing is an asynchronous operation. Result of the
operation shall send a new event up to user space through the nfc dev
multicast socket. During operation, the nfc dev is not openable and
thus not usable.Signed-off-by: Eric Lapuyade
Signed-off-by: Samuel Ortiz
26 Apr, 2013
1 commit
-
And stop making it optional. LLCP is a fundamental part of the NFC
specifications and making it optional does not make much sense.Signed-off-by: Samuel Ortiz
11 Mar, 2013
2 commits
-
This adds a netlink interface for service name lookup support.
Multiple URIs can be passed nested into the NFC_ATTR_LLC_SDP attribute
using the NFC_CMD_LLC_SDREQ netlink command.
When the SNL reply is received, a NFC_EVENT_LLC_SDRES event is sent to
the user space. URI and SAP tuples are passed back, nested into
NFC_ATTR_LLC_SDP attribute.Signed-off-by: Thierry Escande
Signed-off-by: Samuel Ortiz -
Signed-off-by: Thierry Escande
Signed-off-by: Samuel Ortiz
10 Jan, 2013
1 commit
-
Each NFC adapter can have several links to different secure elements and
that property needs to be exported by the drivers.
A secure element link can be enabled and disabled, and card emulation will
be handled by the currently active one. Otherwise card emulation will be
host implemented.Signed-off-by: Samuel Ortiz
29 Oct, 2012
1 commit
-
NFC_CMD_LLC_GET_PARAMS: request LTO, RW, and MIUX parameters for a device
NFC_CMD_LLC_SET_PARAMS: set one or more of LTO, RW, and MIUX parameters for
a device. LTO must be set before the link is up otherwise -EINPROGRESS is
returned. RW and MIUX can be set at anytime and will be passed in subsequent
CONNECT and CC messages. If one of the passed parameters is wrong none is
set and -EINVAL is returned.Signed-off-by: Thierry Escande
Signed-off-by: Samuel Ortiz
27 Oct, 2012
2 commits
-
Signed-off-by: Szymon Janc
Signed-off-by: Samuel Ortiz -
This is useful when getting devices to know if they're in target or
initiator mode.Signed-off-by: Thierry Escande
Signed-off-by: Samuel Ortiz
28 Sep, 2012
1 commit
-
…wireless-next into for-davem
Conflicts:
net/nfc/netlink.cSigned-off-by: John W. Linville <linville@tuxdriver.com>
27 Sep, 2012
1 commit
-
netlink_register_notifier requires notify functions to not sleep.
nfc_stop_poll locks device mutex and must not be called from notifier.
Create workqueue that will handle this for all devices.BUG: sleeping function called from invalid context at kernel/mutex.c:269
in_atomic(): 0, irqs_disabled(): 0, pid: 4497, name: neard
1 lock held by neard/4497:
Pid: 4497, comm: neard Not tainted 3.5.0-999-nfc+ #5
Call Trace:
[] __might_sleep+0x145/0x200
[] mutex_lock_nested+0x2e/0x50
[] nfc_stop_poll+0x39/0xb0
[] nfc_genl_rcv_nl_event+0x77/0xc0
[] notifier_call_chain+0x5c/0x120
[] __atomic_notifier_call_chain+0x86/0x140
[] ? notifier_call_chain+0x120/0x120
[] ? skb_dequeue+0x67/0x90
[] atomic_notifier_call_chain+0x16/0x20
[] netlink_release+0x24a/0x280
[] sock_release+0x28/0xa0
[] sock_close+0x17/0x30
[] __fput+0xcc/0x250
[] ____fput+0xe/0x10
[] task_work_run+0x69/0x90
[] do_notify_resume+0x81/0xd0
[] int_signal+0x12/0x17Signed-off-by: Szymon Janc
Signed-off-by: Samuel Ortiz
11 Sep, 2012
1 commit
-
It is a frequent mistake to confuse the netlink port identifier with a
process identifier. Try to reduce this confusion by renaming fields
that hold port identifiers portid instead of pid.I have carefully avoided changing the structures exported to
userspace to avoid changing the userspace API.I have successfully built an allyesconfig kernel with this change.
Signed-off-by: "Eric W. Biederman"
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller
13 Jul, 2012
1 commit
-
…wireless-next into for-davem
10 Jul, 2012
1 commit
-
We check for the polling flag before checking if the netlink PID caller
match.Signed-off-by: Samuel Ortiz
29 Jun, 2012
1 commit
-
Using NLMSG_GOODSIZE results in multiple pages being used as
nlmsg_new() will automatically add the size of the netlink
header to the payload thus exceeding the page limit.NLMSG_DEFAULT_SIZE takes this into account.
Signed-off-by: Thomas Graf
Cc: Jiri Pirko
Cc: Dmitry Eremin-Solenikov
Cc: Sergey Lapin
Cc: Johannes Berg
Cc: Lauro Ramos Venancio
Cc: Aloisio Almeida Jr
Cc: Samuel Ortiz
Reviewed-by: Jiri Pirko
Signed-off-by: David S. Miller
05 Jun, 2012
3 commits
-
That is needed for keeping backward compatibility with apps using the old
netlink polling API (NFC_ATTR_PROTOCOLS instead of NFC_ATTR_IM_PROTOCOLS).Signed-off-by: Samuel Ortiz
-
Userspace gets a netlink event upon target mode activation.
The LLCP layer is also signaled when we get an ATR_REQ in order to get
the remote general bytes.Signed-off-by: Samuel Ortiz
-
Signed-off-by: Samuel Ortiz
16 May, 2012
2 commits
-
The variable 'nfc_genl_family' is only referenced in this file and
should be marked static to prevent it from being exposed globally.Quites the sparse warning:
warning: symbol 'nfc_genl_family' was not declared. Should it be static?
Signed-off-by: H Hartley Sweeten
Cc: Lauro Ramos Venancio
Cc: Aloisio Almeida Jr
Cc: Samuel Ortiz
Cc: "David S. Miller"
Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville -
It is now specified that nfc_target_found() and nfc_target_lost() core
functions must not be called from an atomic context. This allow us to
serialize calls and protect the targets table using the nfc device lock
instead of a spinlock.Signed-off-by: Eric Lapuyade
Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville
19 Apr, 2012
1 commit
-
…wireless-next into for-davem
Conflicts:
drivers/net/wireless/iwlwifi/iwl-testmode.c
include/net/nfc/nfc.h
net/nfc/netlink.c
net/wireless/nl80211.c
13 Apr, 2012
1 commit
-
Some chips are capable of detecting when a tag is out of the field, so
they could send a netlink event about it to userspace.Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville
02 Apr, 2012
1 commit
-
These macros contain a hidden goto, and are thus extremely error
prone and make code hard to audit.Signed-off-by: David S. Miller
07 Mar, 2012
3 commits
-
Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville -
When calling nfc_dep_link_up, we implicitely are in initiator mode.
Which means we also can provide the general bytes as a function argument,
as all drivers will eventually request them.Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville -
For user space to know if a device is up or down.
Signed-off-by: Samuel Ortiz
Signed-off-by: John W. Linville
25 Jan, 2012
1 commit
-
Export new attributes sensb_res for tech B and sensf_res
for tech F in the target info (returned as a response to
NFC_CMD_GET_TARGET).
The max size of the attributes nfcid1, sensb_res and sensf_res
is exported to user space though include/linux/nfc.Signed-off-by: Ilan Elias
Acked-by: Samuel Ortiz
Signed-off-by: John W. Linville