Re: [PATCH net-next] net/nfc/nci: Support NCI 2.x initial sequence

From: Jakub Kicinski
Date: Tue Nov 17 2020 - 20:58:03 EST


On Tue, 17 Nov 2020 14:37:59 +0900 Bongsu Jeon wrote:
> implement the NCI 2.x initial sequence to support NCI 2.x NFCC.
> Since NCI 2.0, CORE_RESET and CORE_INIT sequence have been changed.
> If NFCEE supports NCI 2.x, then NCI 2.x initial sequence will work.
>
> In NCI 1.0, Initial sequence and payloads are as below:
> (DH) (NFCC)
> | -- CORE_RESET_CMD --> |
> | <-- CORE_RESET_RSP -- |
> | -- CORE_INIT_CMD --> |
> | <-- CORE_INIT_RSP -- |
> CORE_RESET_RSP payloads are Status, NCI version, Configuration Status.
> CORE_INIT_CMD payloads are empty.
> CORE_INIT_RSP payloads are Status, NFCC Features,
> Number of Supported RF Interfaces, Supported RF Interface,
> Max Logical Connections, Max Routing table Size,
> Max Control Packet Payload Size, Max Size for Large Parameters,
> Manufacturer ID, Manufacturer Specific Information.
>
> In NCI 2.0, Initial Sequence and Parameters are as below:
> (DH) (NFCC)
> | -- CORE_RESET_CMD --> |
> | <-- CORE_RESET_RSP -- |
> | <-- CORE_RESET_NTF -- |
> | -- CORE_INIT_CMD --> |
> | <-- CORE_INIT_RSP -- |
> CORE_RESET_RSP payloads are Status.
> CORE_RESET_NTF payloads are Reset Trigger,
> Configuration Status, NCI Version, Manufacturer ID,
> Manufacturer Specific Information Length,
> Manufacturer Specific Information.
> CORE_INIT_CMD payloads are Feature1, Feature2.
> CORE_INIT_RSP payloads are Status, NFCC Features,
> Max Logical Connections, Max Routing Table Size,
> Max Control Packet Payload Size,
> Max Data Packet Payload Size of the Static HCI Connection,
> Number of Credits of the Static HCI Connection,
> Max NFC-V RF Frame Size, Number of Supported RF Interfaces,
> Supported RF Interfaces.
>
> Signed-off-by: Bongsu Jeon <bongsu.jeon@xxxxxxxxxxx>

Please fix the following sparse (build with C=1) warning:

net/nfc/nci/ntf.c:42:17: warning: cast to restricted __le32

> + __u8 status = 0;

Please don't use the __u types in the normal kernel code, those are
types for user space ABI.