WARNING: please write a paragraph that describes the config symbol fully #24: FILE: drivers/rpmsg/Kconfig:43: +config RPMSG_USRSOCK WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #47: new file mode 100644 WARNING: Missing or malformed SPDX-License-Identifier tag in line 1 #52: FILE: drivers/rpmsg/rpmsg_usrsock.c:1: +/* SPDX-License-Identifier: GPL-2.0 */ CHECK: struct mutex definition without comment #71: FILE: drivers/rpmsg/rpmsg_usrsock.c:20: + struct mutex lock; WARNING: line over 80 characters #91: FILE: drivers/rpmsg/rpmsg_usrsock.c:40: +#define rpmsg_usrsock_datareq_ack(ack, rpdev, len) \ CHECK: Macro argument 'ack' may be better as '(ack)' to avoid precedence issues #91: FILE: drivers/rpmsg/rpmsg_usrsock.c:40: +#define rpmsg_usrsock_datareq_ack(ack, rpdev, len) \ + char ack##buf[len = rpmsg_get_max_bufsize(rpdev->ept)] __aligned(8); \ + struct usrsock_message_datareq_ack_s *ack = rpmsg_usrsock_need_copy(rpdev) ? \ + (struct usrsock_message_datareq_ack_s *)ack##buf : \ + rpmsg_get_tx_payload_buffer(rpdev->ept, (unsigned int *)&len, true) CHECK: Macro argument reuse 'rpdev' - possible side-effects? #91: FILE: drivers/rpmsg/rpmsg_usrsock.c:40: +#define rpmsg_usrsock_datareq_ack(ack, rpdev, len) \ + char ack##buf[len = rpmsg_get_max_bufsize(rpdev->ept)] __aligned(8); \ + struct usrsock_message_datareq_ack_s *ack = rpmsg_usrsock_need_copy(rpdev) ? \ + (struct usrsock_message_datareq_ack_s *)ack##buf : \ + rpmsg_get_tx_payload_buffer(rpdev->ept, (unsigned int *)&len, true) CHECK: Macro argument 'rpdev' may be better as '(rpdev)' to avoid precedence issues #91: FILE: drivers/rpmsg/rpmsg_usrsock.c:40: +#define rpmsg_usrsock_datareq_ack(ack, rpdev, len) \ + char ack##buf[len = rpmsg_get_max_bufsize(rpdev->ept)] __aligned(8); \ + struct usrsock_message_datareq_ack_s *ack = rpmsg_usrsock_need_copy(rpdev) ? \ + (struct usrsock_message_datareq_ack_s *)ack##buf : \ + rpmsg_get_tx_payload_buffer(rpdev->ept, (unsigned int *)&len, true) CHECK: Macro argument reuse 'len' - possible side-effects? #91: FILE: drivers/rpmsg/rpmsg_usrsock.c:40: +#define rpmsg_usrsock_datareq_ack(ack, rpdev, len) \ + char ack##buf[len = rpmsg_get_max_bufsize(rpdev->ept)] __aligned(8); \ + struct usrsock_message_datareq_ack_s *ack = rpmsg_usrsock_need_copy(rpdev) ? \ + (struct usrsock_message_datareq_ack_s *)ack##buf : \ + rpmsg_get_tx_payload_buffer(rpdev->ept, (unsigned int *)&len, true) WARNING: line over 80 characters #92: FILE: drivers/rpmsg/rpmsg_usrsock.c:41: + char ack##buf[len = rpmsg_get_max_bufsize(rpdev->ept)] __aligned(8); \ WARNING: line over 80 characters #93: FILE: drivers/rpmsg/rpmsg_usrsock.c:42: + struct usrsock_message_datareq_ack_s *ack = rpmsg_usrsock_need_copy(rpdev) ? \ WARNING: line over 80 characters #94: FILE: drivers/rpmsg/rpmsg_usrsock.c:43: + (struct usrsock_message_datareq_ack_s *)ack##buf : \ WARNING: line over 80 characters #95: FILE: drivers/rpmsg/rpmsg_usrsock.c:44: + rpmsg_get_tx_payload_buffer(rpdev->ept, (unsigned int *)&len, true) ERROR: do not use in_atomic in drivers #191: FILE: drivers/rpmsg/rpmsg_usrsock.c:140: + if (!in_atomic()) { CHECK: Prefer kernel type 'u8' over 'uint8_t' #221: FILE: drivers/rpmsg/rpmsg_usrsock.c:170: + uint8_t xid, int32_t result) WARNING: line over 80 characters #234: FILE: drivers/rpmsg/rpmsg_usrsock.c:183: + struct usrsock_message_datareq_ack_s *ack, CHECK: Prefer kernel type 'u8' over 'uint8_t' #235: FILE: drivers/rpmsg/rpmsg_usrsock.c:184: + uint8_t xid, int32_t result, WARNING: line over 80 characters #236: FILE: drivers/rpmsg/rpmsg_usrsock.c:185: + uint16_t valuelen, uint16_t valuelen_nontrunc) CHECK: Prefer kernel type 'u16' over 'uint16_t' #236: FILE: drivers/rpmsg/rpmsg_usrsock.c:185: + uint16_t valuelen, uint16_t valuelen_nontrunc) CHECK: Prefer kernel type 's16' over 'int16_t' #265: FILE: drivers/rpmsg/rpmsg_usrsock.c:214: + int16_t usockid, uint16_t events) CHECK: Alignment should match open parenthesis #288: FILE: drivers/rpmsg/rpmsg_usrsock.c:237: + rpmsg_usrsock_send_event(conn->rpdev, + conn->id, USRSOCK_EVENT_SENDTO_READY); CHECK: Alignment should match open parenthesis #300: FILE: drivers/rpmsg/rpmsg_usrsock.c:249: + rpmsg_usrsock_send_ack(conn->rpdev, xid_connecting, + conn->sk->sk_err ? -conn->sk->sk_err : -ETIMEDOUT); CHECK: Alignment should match open parenthesis #303: FILE: drivers/rpmsg/rpmsg_usrsock.c:252: + rpmsg_usrsock_send_event(conn->rpdev, + conn->id, USRSOCK_EVENT_REMOTE_CLOSED); CHECK: Alignment should match open parenthesis #340: FILE: drivers/rpmsg/rpmsg_usrsock.c:289: + rpmsg_usrsock_send_event(conn->rpdev, + conn->id, USRSOCK_EVENT_RECVFROM_AVAIL); CHECK: Comparison to NULL could be written "sk->sk_socket" #347: FILE: drivers/rpmsg/rpmsg_usrsock.c:296: + if (sk->sk_socket != NULL) { CHECK: Alignment should match open parenthesis #359: FILE: drivers/rpmsg/rpmsg_usrsock.c:308: + rpmsg_usrsock_send_event(conn->rpdev, + conn->id, USRSOCK_EVENT_SENDTO_READY); CHECK: Comparison to NULL could be written "!conn" #397: FILE: drivers/rpmsg/rpmsg_usrsock.c:346: + if (conn == NULL) CHECK: Alignment should match open parenthesis #427: FILE: drivers/rpmsg/rpmsg_usrsock.c:376: +static int rpmsg_usrsock_socket_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Alignment should match open parenthesis #435: FILE: drivers/rpmsg/rpmsg_usrsock.c:384: + ret = sock_create_kern(&init_net, + req->domain, type, req->protocol, &sock); CHECK: Alignment should match open parenthesis #446: FILE: drivers/rpmsg/rpmsg_usrsock.c:395: + rpmsg_usrsock_send_event(rpdev, + ret, USRSOCK_EVENT_SENDTO_READY); CHECK: Alignment should match open parenthesis #479: FILE: drivers/rpmsg/rpmsg_usrsock.c:428: +static int rpmsg_usrsock_close_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Comparison to NULL could be written "sock" #486: FILE: drivers/rpmsg/rpmsg_usrsock.c:435: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #495: FILE: drivers/rpmsg/rpmsg_usrsock.c:444: +static int rpmsg_usrsock_connect_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: line over 80 characters #502: FILE: drivers/rpmsg/rpmsg_usrsock.c:451: + /* send -EINPROGRESS first to indicate the connecting is in the background */ CHECK: Comparison to NULL could be written "sock" #506: FILE: drivers/rpmsg/rpmsg_usrsock.c:455: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #510: FILE: drivers/rpmsg/rpmsg_usrsock.c:459: + ret = kernel_connect(sock, + (struct sockaddr *)(req + 1), WARNING: line over 80 characters #519: FILE: drivers/rpmsg/rpmsg_usrsock.c:468: + (sock->type == SOCK_STREAM || sock->type == SOCK_SEQPACKET)) { CHECK: Alignment should match open parenthesis #521: FILE: drivers/rpmsg/rpmsg_usrsock.c:470: + rpmsg_usrsock_send_event(rpdev, + req->usockid, USRSOCK_EVENT_SENDTO_READY); CHECK: Alignment should match open parenthesis #547: FILE: drivers/rpmsg/rpmsg_usrsock.c:496: +static int rpmsg_usrsock_sendto_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Comparison to NULL could be written "sock" #554: FILE: drivers/rpmsg/rpmsg_usrsock.c:503: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #556: FILE: drivers/rpmsg/rpmsg_usrsock.c:505: + ret = rpmsg_usrsock_sendto(sock, + (void *)(req + 1) + req->addrlen, req->buflen, CHECK: braces {} should be used on all arms of this statement #561: FILE: drivers/rpmsg/rpmsg_usrsock.c:510: + if (ret <= 0) [...] + else if (sk_stream_is_writeable(sock->sk) && [...] CHECK: Alignment should match open parenthesis #566: FILE: drivers/rpmsg/rpmsg_usrsock.c:515: + rpmsg_usrsock_send_event(rpdev, + req->usockid, USRSOCK_EVENT_SENDTO_READY); CHECK: Alignment should match open parenthesis #588: FILE: drivers/rpmsg/rpmsg_usrsock.c:537: + ret = kernel_recvmsg(sock, &msg, + &iov, 1, size, MSG_DONTWAIT | MSG_NOSIGNAL); CHECK: Alignment should match open parenthesis #596: FILE: drivers/rpmsg/rpmsg_usrsock.c:545: +static int rpmsg_usrsock_recvfrom_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #599: FILE: drivers/rpmsg/rpmsg_usrsock.c:548: + struct usrsock_request_recvfrom_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #610: FILE: drivers/rpmsg/rpmsg_usrsock.c:559: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #612: FILE: drivers/rpmsg/rpmsg_usrsock.c:561: + ret = rpmsg_usrsock_recvfrom(sock, + (void *)(ack + 1) + inaddrlen, buflen, CHECK: Alignment should match open parenthesis #616: FILE: drivers/rpmsg/rpmsg_usrsock.c:565: + memcpy((void *)(ack + 1) + outaddrlen, + (void *)(ack + 1) + inaddrlen, ret); CHECK: Alignment should match open parenthesis #625: FILE: drivers/rpmsg/rpmsg_usrsock.c:574: +static int rpmsg_usrsock_setsockopt_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Comparison to NULL could be written "sock" #632: FILE: drivers/rpmsg/rpmsg_usrsock.c:581: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #634: FILE: drivers/rpmsg/rpmsg_usrsock.c:583: + ret = kernel_setsockopt(sock, + rpmsg_usrsock_convert_level(req->level), CHECK: Alignment should match open parenthesis #643: FILE: drivers/rpmsg/rpmsg_usrsock.c:592: +static int rpmsg_usrsock_getsockopt_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #646: FILE: drivers/rpmsg/rpmsg_usrsock.c:595: + struct usrsock_request_getsockopt_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #652: FILE: drivers/rpmsg/rpmsg_usrsock.c:601: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #654: FILE: drivers/rpmsg/rpmsg_usrsock.c:603: + ret = kernel_getsockopt(sock, + rpmsg_usrsock_convert_level(req->level), CHECK: Alignment should match open parenthesis #664: FILE: drivers/rpmsg/rpmsg_usrsock.c:613: +static int rpmsg_usrsock_getsockname_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #667: FILE: drivers/rpmsg/rpmsg_usrsock.c:616: + struct usrsock_request_getsockname_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #674: FILE: drivers/rpmsg/rpmsg_usrsock.c:623: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #687: FILE: drivers/rpmsg/rpmsg_usrsock.c:636: +static int rpmsg_usrsock_getpeername_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #690: FILE: drivers/rpmsg/rpmsg_usrsock.c:639: + struct usrsock_request_getpeername_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #697: FILE: drivers/rpmsg/rpmsg_usrsock.c:646: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #710: FILE: drivers/rpmsg/rpmsg_usrsock.c:659: +static int rpmsg_usrsock_bind_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Comparison to NULL could be written "sock" #717: FILE: drivers/rpmsg/rpmsg_usrsock.c:666: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #719: FILE: drivers/rpmsg/rpmsg_usrsock.c:668: + ret = kernel_bind(sock, + (struct sockaddr *)(req + 1), req->addrlen); CHECK: Alignment should match open parenthesis #726: FILE: drivers/rpmsg/rpmsg_usrsock.c:675: +static int rpmsg_usrsock_listen_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Comparison to NULL could be written "sock" #733: FILE: drivers/rpmsg/rpmsg_usrsock.c:682: + if (sock != NULL) CHECK: braces {} should be used on all arms of this statement #749: FILE: drivers/rpmsg/rpmsg_usrsock.c:698: + if (ret >= 0) { [...] + } else [...] CHECK: Unbalanced braces around else statement #752: FILE: drivers/rpmsg/rpmsg_usrsock.c:701: + } else CHECK: Alignment should match open parenthesis #760: FILE: drivers/rpmsg/rpmsg_usrsock.c:709: +static int rpmsg_usrsock_accept_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #763: FILE: drivers/rpmsg/rpmsg_usrsock.c:712: + struct usrsock_request_accept_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #772: FILE: drivers/rpmsg/rpmsg_usrsock.c:721: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #774: FILE: drivers/rpmsg/rpmsg_usrsock.c:723: + ret = rpmsg_usrsock_accept(sock, &newsock, + (struct sockaddr *)(ack + 1), &outaddrlen); CHECK: braces {} should be used on all arms of this statement #777: FILE: drivers/rpmsg/rpmsg_usrsock.c:726: + if (ret >= 0) { [...] + } else [...] WARNING: line over 80 characters #780: FILE: drivers/rpmsg/rpmsg_usrsock.c:729: + *(int16_t *)((void *)(ack + 1) + outaddrlen) = ret; WARNING: line over 80 characters #782: FILE: drivers/rpmsg/rpmsg_usrsock.c:731: + *(int16_t *)((void *)(ack + 1) + inaddrlen) = ret; CHECK: Unbalanced braces around else statement #785: FILE: drivers/rpmsg/rpmsg_usrsock.c:734: + } else CHECK: Alignment should match open parenthesis #791: FILE: drivers/rpmsg/rpmsg_usrsock.c:740: + rpmsg_usrsock_send_data_ack(rpdev, + ack, req->head.xid, ret, inaddrlen, outaddrlen); CHECK: Alignment should match open parenthesis #795: FILE: drivers/rpmsg/rpmsg_usrsock.c:744: + rpmsg_usrsock_send_event(rpdev, + newid, USRSOCK_EVENT_SENDTO_READY); CHECK: Alignment should match open parenthesis #798: FILE: drivers/rpmsg/rpmsg_usrsock.c:747: + rpmsg_usrsock_send_event(rpdev, + newid, USRSOCK_EVENT_RECVFROM_AVAIL); CHECK: Alignment should match open parenthesis #817: FILE: drivers/rpmsg/rpmsg_usrsock.c:766: +static int rpmsg_usrsock_ioctl_handler(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) WARNING: Missing a blank line after declarations #820: FILE: drivers/rpmsg/rpmsg_usrsock.c:769: + struct usrsock_request_ioctl_s *req = data; + rpmsg_usrsock_datareq_ack(ack, rpdev, len); CHECK: Comparison to NULL could be written "sock" #825: FILE: drivers/rpmsg/rpmsg_usrsock.c:774: + if (sock != NULL) { CHECK: Alignment should match open parenthesis #828: FILE: drivers/rpmsg/rpmsg_usrsock.c:777: + ret = rpmsg_usrsock_ioctl(sock, + req->cmd, (unsigned long)(ack + 1)); CHECK: Alignment should match open parenthesis #852: FILE: drivers/rpmsg/rpmsg_usrsock.c:801: +static int rpmsg_usrsock_callback(struct rpmsg_device *rpdev, + void *data, int len, void *priv, u32 src) CHECK: Prefer kernel type 's8' over 'int8_t' #855: FILE: drivers/rpmsg/rpmsg_usrsock.c:804: + int8_t reqid = common->reqid; WARNING: line over 80 characters #867: FILE: drivers/rpmsg/rpmsg_usrsock.c:816: + dev_err(&rpdev->dev, "request handle error %d\n", reqid); WARNING: line over 80 characters #886: FILE: drivers/rpmsg/rpmsg_usrsock.c:835: + priv->need_copy = of_property_read_bool(np, "memory-aligned-access"); CHECK: Alignment should match open parenthesis #929: FILE: drivers/rpmsg/rpmsg_usrsock.c:878: +module_driver(rpmsg_usrsock_driver, + register_rpmsg_driver, WARNING: line over 80 characters #967: FILE: drivers/rpmsg/usrsock.h:26: +#define USRSOCK_SOCK_STREAM 0 /* Provides sequenced, reliable, two-way, connection-based byte streams. WARNING: line over 80 characters #968: FILE: drivers/rpmsg/usrsock.h:27: + * An out-of-band data transmission mechanism may be supported. WARNING: line over 80 characters #970: FILE: drivers/rpmsg/usrsock.h:29: +#define USRSOCK_SOCK_DGRAM 1 /* Supports datagrams (connectionless, unreliable messages of a fixed WARNING: line over 80 characters #973: FILE: drivers/rpmsg/usrsock.h:32: +#define USRSOCK_SOCK_SEQPACKET 2 /* Provides a sequenced, reliable, two-way connection-based data WARNING: line over 80 characters #974: FILE: drivers/rpmsg/usrsock.h:33: + * transmission path for datagrams of fixed maximum length; a consumer WARNING: line over 80 characters #975: FILE: drivers/rpmsg/usrsock.h:34: + * is required to read an entire packet with each read system call. WARNING: line over 80 characters #978: FILE: drivers/rpmsg/usrsock.h:37: +#define USRSOCK_SOCK_RDM 4 /* Provides a reliable datagram layer that does not guarantee ordering. */ WARNING: line over 80 characters #979: FILE: drivers/rpmsg/usrsock.h:38: +#define USRSOCK_SOCK_PACKET 5 /* Obsolete and should not be used in new programs */ WARNING: line over 80 characters #991: FILE: drivers/rpmsg/usrsock.h:50: +#define USRSOCK_SO_ACCEPTCONN 0 /* Reports whether socket listening is enabled (get only). WARNING: line over 80 characters #992: FILE: drivers/rpmsg/usrsock.h:51: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #994: FILE: drivers/rpmsg/usrsock.h:53: +#define USRSOCK_SO_BROADCAST 1 /* Permits sending of broadcast messages (get/set). WARNING: line over 80 characters #995: FILE: drivers/rpmsg/usrsock.h:54: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #997: FILE: drivers/rpmsg/usrsock.h:56: +#define USRSOCK_SO_DEBUG 2 /* Enables recording of debugging information (get/set). WARNING: line over 80 characters #998: FILE: drivers/rpmsg/usrsock.h:57: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #1000: FILE: drivers/rpmsg/usrsock.h:59: +#define USRSOCK_SO_DONTROUTE 3 /* Requests that outgoing messages bypass standard routing (get/set) WARNING: line over 80 characters #1001: FILE: drivers/rpmsg/usrsock.h:60: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #1003: FILE: drivers/rpmsg/usrsock.h:62: +#define USRSOCK_SO_ERROR 4 /* Reports and clears error status (get only). arg: returns WARNING: line over 80 characters #1006: FILE: drivers/rpmsg/usrsock.h:65: +#define USRSOCK_SO_KEEPALIVE 5 /* Keeps connections active by enabling the periodic transmission WARNING: line over 80 characters #1008: FILE: drivers/rpmsg/usrsock.h:67: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #1010: FILE: drivers/rpmsg/usrsock.h:69: +#define USRSOCK_SO_LINGER 6 /* Lingers on a close() if data is present (get/set) WARNING: line over 80 characters #1013: FILE: drivers/rpmsg/usrsock.h:72: +#define USRSOCK_SO_OOBINLINE 7 /* Leaves received out-of-band data (data marked urgent) inline WARNING: line over 80 characters #1014: FILE: drivers/rpmsg/usrsock.h:73: + * (get/set) arg: pointer to integer containing a boolean value WARNING: line over 80 characters #1016: FILE: drivers/rpmsg/usrsock.h:75: +#define USRSOCK_SO_RCVBUF 8 /* Sets receive buffer size. arg: integer value (get/set). */ WARNING: line over 80 characters #1017: FILE: drivers/rpmsg/usrsock.h:76: +#define USRSOCK_SO_RCVLOWAT 9 /* Sets the minimum number of bytes to process for socket input WARNING: line over 80 characters #1020: FILE: drivers/rpmsg/usrsock.h:79: +#define USRSOCK_SO_RCVTIMEO 10 /* Sets the timeout value that specifies the maximum amount of time WARNING: line over 80 characters #1021: FILE: drivers/rpmsg/usrsock.h:80: + * an input function waits until it completes (get/set). WARNING: line over 80 characters #1025: FILE: drivers/rpmsg/usrsock.h:84: + * arg: pointer to integer containing a boolean value WARNING: line over 80 characters #1027: FILE: drivers/rpmsg/usrsock.h:86: +#define USRSOCK_SO_SNDBUF 12 /* Sets send buffer size. arg: integer value (get/set). */ WARNING: line over 80 characters #1028: FILE: drivers/rpmsg/usrsock.h:87: +#define USRSOCK_SO_SNDLOWAT 13 /* Sets the minimum number of bytes to process for socket output WARNING: line over 80 characters #1031: FILE: drivers/rpmsg/usrsock.h:90: +#define USRSOCK_SO_SNDTIMEO 14 /* Sets the timeout value specifying the amount of time that an WARNING: line over 80 characters #1032: FILE: drivers/rpmsg/usrsock.h:91: + * output function blocks because flow control prevents data from WARNING: line over 80 characters #1035: FILE: drivers/rpmsg/usrsock.h:94: +#define USRSOCK_SO_TYPE 15 /* Reports the socket type (get only). return: int */ CHECK: Prefer using the BIT macro #1052: FILE: drivers/rpmsg/usrsock.h:111: +#define USRSOCK_EVENT_ABORT (1 << 1) CHECK: Prefer using the BIT macro #1053: FILE: drivers/rpmsg/usrsock.h:112: +#define USRSOCK_EVENT_SENDTO_READY (1 << 2) CHECK: Prefer using the BIT macro #1054: FILE: drivers/rpmsg/usrsock.h:113: +#define USRSOCK_EVENT_RECVFROM_AVAIL (1 << 3) CHECK: Prefer using the BIT macro #1055: FILE: drivers/rpmsg/usrsock.h:114: +#define USRSOCK_EVENT_REMOTE_CLOSED (1 << 4) CHECK: Prefer using the BIT macro #1059: FILE: drivers/rpmsg/usrsock.h:118: +#define USRSOCK_MESSAGE_FLAG_REQ_IN_PROGRESS (1 << 0) CHECK: Prefer using the BIT macro #1060: FILE: drivers/rpmsg/usrsock.h:119: +#define USRSOCK_MESSAGE_FLAG_EVENT (1 << 1) CHECK: Prefer kernel type 's8' over 'int8_t' #1106: FILE: drivers/rpmsg/usrsock.h:165: + int8_t reqid; CHECK: Prefer kernel type 'u8' over 'uint8_t' #1107: FILE: drivers/rpmsg/usrsock.h:166: + uint8_t xid; CHECK: Prefer kernel type 's16' over 'int16_t' #1113: FILE: drivers/rpmsg/usrsock.h:172: + int16_t domain; CHECK: Prefer kernel type 's16' over 'int16_t' #1114: FILE: drivers/rpmsg/usrsock.h:173: + int16_t type; CHECK: Prefer kernel type 's16' over 'int16_t' #1115: FILE: drivers/rpmsg/usrsock.h:174: + int16_t protocol; CHECK: Prefer kernel type 's16' over 'int16_t' #1121: FILE: drivers/rpmsg/usrsock.h:180: + int16_t usockid; CHECK: Prefer kernel type 's16' over 'int16_t' #1127: FILE: drivers/rpmsg/usrsock.h:186: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1128: FILE: drivers/rpmsg/usrsock.h:187: + uint16_t addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1134: FILE: drivers/rpmsg/usrsock.h:193: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1135: FILE: drivers/rpmsg/usrsock.h:194: + uint16_t addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1141: FILE: drivers/rpmsg/usrsock.h:200: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1142: FILE: drivers/rpmsg/usrsock.h:201: + uint16_t backlog; CHECK: Prefer kernel type 's16' over 'int16_t' #1148: FILE: drivers/rpmsg/usrsock.h:207: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1149: FILE: drivers/rpmsg/usrsock.h:208: + uint16_t max_addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1155: FILE: drivers/rpmsg/usrsock.h:214: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1156: FILE: drivers/rpmsg/usrsock.h:215: + uint16_t addrlen; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1157: FILE: drivers/rpmsg/usrsock.h:216: + uint16_t buflen; CHECK: Prefer kernel type 's16' over 'int16_t' #1163: FILE: drivers/rpmsg/usrsock.h:222: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1164: FILE: drivers/rpmsg/usrsock.h:223: + uint16_t max_buflen; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1165: FILE: drivers/rpmsg/usrsock.h:224: + uint16_t max_addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1171: FILE: drivers/rpmsg/usrsock.h:230: + int16_t usockid; CHECK: Prefer kernel type 's16' over 'int16_t' #1172: FILE: drivers/rpmsg/usrsock.h:231: + int16_t level; CHECK: Prefer kernel type 's16' over 'int16_t' #1173: FILE: drivers/rpmsg/usrsock.h:232: + int16_t option; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1174: FILE: drivers/rpmsg/usrsock.h:233: + uint16_t valuelen; CHECK: Prefer kernel type 's16' over 'int16_t' #1180: FILE: drivers/rpmsg/usrsock.h:239: + int16_t usockid; CHECK: Prefer kernel type 's16' over 'int16_t' #1181: FILE: drivers/rpmsg/usrsock.h:240: + int16_t level; CHECK: Prefer kernel type 's16' over 'int16_t' #1182: FILE: drivers/rpmsg/usrsock.h:241: + int16_t option; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1183: FILE: drivers/rpmsg/usrsock.h:242: + uint16_t max_valuelen; CHECK: Prefer kernel type 's16' over 'int16_t' #1189: FILE: drivers/rpmsg/usrsock.h:248: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1190: FILE: drivers/rpmsg/usrsock.h:249: + uint16_t max_addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1196: FILE: drivers/rpmsg/usrsock.h:255: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1197: FILE: drivers/rpmsg/usrsock.h:256: + uint16_t max_addrlen; CHECK: Prefer kernel type 's16' over 'int16_t' #1203: FILE: drivers/rpmsg/usrsock.h:262: + int16_t usockid; CHECK: Prefer kernel type 's32' over 'int32_t' #1204: FILE: drivers/rpmsg/usrsock.h:263: + int32_t cmd; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1205: FILE: drivers/rpmsg/usrsock.h:264: + uint16_t arglen; CHECK: Prefer kernel type 's8' over 'int8_t' #1211: FILE: drivers/rpmsg/usrsock.h:270: + int8_t msgid; CHECK: Prefer kernel type 's8' over 'int8_t' #1212: FILE: drivers/rpmsg/usrsock.h:271: + int8_t flags; CHECK: Prefer kernel type 'u8' over 'uint8_t' #1220: FILE: drivers/rpmsg/usrsock.h:279: + uint8_t xid; CHECK: Prefer kernel type 's32' over 'int32_t' #1221: FILE: drivers/rpmsg/usrsock.h:280: + int32_t result; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1231: FILE: drivers/rpmsg/usrsock.h:290: + uint16_t valuelen; /* length of value returned after buffer */ CHECK: Prefer kernel type 'u16' over 'uint16_t' #1232: FILE: drivers/rpmsg/usrsock.h:291: + uint16_t valuelen_nontrunc; /* actual non-truncated length of value */ CHECK: Prefer kernel type 's16' over 'int16_t' #1240: FILE: drivers/rpmsg/usrsock.h:299: + int16_t usockid; CHECK: Prefer kernel type 'u16' over 'uint16_t' #1241: FILE: drivers/rpmsg/usrsock.h:300: + uint16_t events; total: 1 errors, 54 warnings, 115 checks, 1207 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. ./linux-sof-driver/0001-rpmsg-Add-socket-API-redirection-driver.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.