Commit graph

18 commits

Author SHA1 Message Date
Piyush Patle
0dccc8ba21 include/debug.h: Move to include/nuttx/debug.h
debug.h is a NuttX-specific, non-POSIX header. Placing it in the
top-level include/ directory creates naming conflicts with external
projects that define their own debug.h.
This commit moves the canonical header to include/nuttx/debug.h,
following the NuttX convention for non-POSIX/non-standard headers,
and updates all in-tree references.

A backward-compatibility shim is left at include/debug.h that
emits a deprecation #warning and re-includes <nuttx/debug.h>,
allowing out-of-tree code to continue building while migrating.

Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
2026-04-07 07:50:06 -03:00
Bowen Wang
8762919325 drivers/rpmsgblk_server: fix the syslog format warning
misc/rpmsgblk_server.c:135:16: warning: format '%d' expects argument of type 'int', but argument 3 has type 'int32_t' {aka 'long int'} [-Wformat=]
  135 |           ferr("block device open failed, ret=%d\n", msg->header.result);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~
      |                                                                 |
      |                                                                 int32_t {aka long int}
misc/rpmsgblk_server.c:135:48: note: format string is defined here
  135 |           ferr("block device open failed, ret=%d\n", msg->header.result);
      |                                               ~^
      |                                                |
      |                                                int
      |                                               %ld
misc/rpmsgblk_server.c: In function 'rpmsgblk_close_handler':
misc/rpmsgblk_server.c:170:16: warning: format '%d' expects argument of type 'int', but argument 3 has type 'int32_t' {aka 'long int'} [-Wformat=]
  170 |           ferr("block device close failed, ret=%d\n", msg->header.result);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~
      |                                                                  |
      |                                                                  int32_t {aka long int}
misc/rpmsgblk_server.c:170:49: note: format string is defined here
  170 |           ferr("block device close failed, ret=%d\n", msg->header.result);
      |                                                ~^
      |                                                 |
      |                                                 int
      |                                                %ld

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2025-03-03 07:37:13 +08:00
Alin Jerpelea
286d37026c drivers: migrate to SPDX identifier
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-11-06 18:02:25 +08:00
yintao
37a30023f5 nuttx/drivers: add ept_release_cb for destroy server resource
use ept_release_cb to destory rpmsg services server dile resource
to avoid the used-after-free issue

Signed-off-by: yintao <yintao@xiaomi.com>
2024-10-10 08:44:29 +08:00
Bowen Wang
064eb5fd35 rpmsg services: should release the tx buffer when rpmsg_send_nocopy failed
Otherwise, the tx buffer will be discarded and can no longer be obtained

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-08 18:26:39 +08:00
Xiang Xiao
7c839d7a09 rptun: Remove include/nuttx/rptun/openamp.h
and use include/nuttx/rpmsg/rpmsg.h instead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-10-07 00:44:28 +08:00
liaoao
e4ad92cb03 rpmsgblk: split multi_cmd only when it is too large to be placed into payload buffer
Signed-off-by: liaoao <liaoao@xiaomi.com>
2024-09-13 09:26:35 +08:00
Petro Karashchenko
d499ac9d58 nuttx: fix multiple 'FAR', 'CODE' and style issues
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
liaoao
ea0be3b490 rpmsgblk: split mmc_ioc_multi_cmd to mmc_ioc_cmd for less share memory allocation
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao
cf27a8484f rpmsgblk: use a fixed length struct to transfer between two cpus
It may cause out_of_bounds when two side have different configuartion
on NAME_MAX and FS_LARGEFILE(affects size of blkcnt_t)

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao
4b25a0dfa5 rpmsgblk: check if the block device has been removed before calling its ops
it may cause use after free if server has removed block device before calling
its operations,such as:
server: rm /dev/testrpmsgblk
client: ls /dev/testrpmsgblk

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao
12d66da892 rpmsgblk: do not actually unlink blockdevice in rpmsgblk client
rpmsgblk client should not affect the server's use of blockdevice.

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao
27f672d55a rpmsgblk: bind block inode to ept when create ept
A segmentfault might happen when read/write/unlink ops called without an open
ops called because it bind ept's ops in rpmsgblk_open_handler.

proxy> rm /dev/ram1
segmentfault

proxy> ls /dev/ram1
segmentfault

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
chao an
65c30f9dbd drivers/misc/rpmsgblk: fix build break if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
In function ‘rpmsgblk_unlink_handler’:
misc/rpmsgblk_server.c:340:36: error: ‘const struct block_operations’ has no member named ‘unlink’
  340 |   msg->header.result = server->bops->unlink(server->blknode);
      |

Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-11 21:20:40 +08:00
liaoao
9ef19af5bb rpmsgblk: correct args of read operations
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-07-28 07:10:47 -07:00
liaoao
bc0af1e531 rpmsgblk: add support for mmc_ioc_cmd/mmc_multi_ioc_cmd
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-07-28 07:10:47 -07:00
chao an
3a0fdb019d nuttx: replace all ARRAY_SIZE()/ARRAYSIZE() to nitems()
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-09 20:05:44 +08:00
wangbowen6
f56710c121 rpmsgblk: rpmsg block device support
Like rpmsgdev and rpmsgmtd, rpmsgblk allow the local cpu to
access the block device in the remote cpu.

Signed-off-by: wangbowen6 <wangbowen6@xiaomi.com>
2022-10-28 01:13:58 +08:00