Hi Samuel,
The main reason for making an st21nfcb_hci_core is because the hci
network initialization procedure is proprietary.
It is almost using only NCI standard commands but some id's and commands
could be proprietary.
I would ideally rely on the hci core framework but i run out of idea
when trying this.
However i think "exporting the relevant API for drivers to send HCI
commands/events through their NCI connections."
is a good idea i need to dig into. It will then needs to hci/nci hook
for the proprietary stuff.
I have just one worry, when do you think those updates (patch 20 & 27)
needs to be ready for your 3.20 pull request ?
Best Regards
Christophe
On 27/01/2015 01:49, Samuel Ortiz wrote:
Christophe,
On Mon, Dec 08, 2014 at 10:08:32PM +0100, Christophe Ricard wrote:
Some st21nfcb features are only available through HCI commands. Those
HCI commands can be address over NCI by sending data using a dynamic
conn_id. This is useful for example for Secure Element communication.
The HCI core brings the minimal HCI functions required to communicate with
a secure element.
Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx>
---
drivers/nfc/st21nfcb/Makefile | 2 +-
drivers/nfc/st21nfcb/st21nfcb_hci_core.c | 783 +++++++++++++++++++++++++++++++
drivers/nfc/st21nfcb/st21nfcb_hci_core.h | 134 ++++++
3 files changed, 918 insertions(+), 1 deletion(-)
create mode 100644 drivers/nfc/st21nfcb/st21nfcb_hci_core.c
create mode 100644 drivers/nfc/st21nfcb/st21nfcb_hci_core.h
I may be missing some details, but I believe most of this code could be
made part of the core NCI implementation. I don't mind creating an
hci_dev from there and exporting the relevant API for drivers to send
HCI commands/events through their NCI connections.
You would not need to bring chunks of the HCI core into a driver, and
as a side effect, patch #21 would no longer be needed.
Cheers,
Samuel.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html