nfc: hci: pass callback data param as pointer in nci_request()
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Sat, 31 Jul 2021 10:21:44 +0000 (12:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Aug 2021 14:11:37 +0000 (15:11 +0100)
commit35d7a6f1fb53479965e9f99e8c87edc642336eba
tree19eecc18b39e632713611dc933a298593ce8f27a
parent1e0dd56e962e23f7738b32e8eed9ff96177c7fcb
nfc: hci: pass callback data param as pointer in nci_request()

The nci_request() receives a callback function and unsigned long data
argument "opt" which is passed to the callback.  Almost all of the
nci_request() callers pass pointer to a stack variable as data argument.
Only few pass scalar value (e.g. u8).

All such callbacks do not modify passed data argument and in previous
commit they were made as const.  However passing pointers via unsigned
long removes the const annotation.  The callback could simply cast
unsigned long to a pointer to writeable memory.

Use "const void *" as type of this "opt" argument to solve this and
prevent modifying the pointed contents.  This is also consistent with
generic pattern of passing data arguments - via "void *".  In few places
which pass scalar values, use casts via "unsigned long" to suppress any
warnings.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/nfc/nci_core.h
net/nfc/nci/core.c
net/nfc/nci/hci.c