CV-Bowen opened a new pull request, #20898:
URL: https://github.com/apache/nuttx/pull/20898

   ## Summary
   
   Continue moving the rpmsg transport internals out of the public header
   (the first part was f56ea304790):
   
   - add rpmsg_foreach() in the private drivers/rpmsg/rpmsg.h and make
     rpmsg_ioctl() a callback on top of it, so code inside drivers/rpmsg
     can walk the rpmsg devices without open-coding the list and lock; the
     lock is skipped in interrupt context and in the idle task, as
     rpmsg_modify_signals() already does
   - define struct rpmsg_ping_s (the RPMSGIOC_PING argument) in
     include/nuttx/rpmsg/rpmsg.h and remove include/nuttx/rpmsg/rpmsg_ping.h
   - move struct rpmsg_s and struct rpmsg_ops_s to drivers/rpmsg/rpmsg.h;
     only the transports in drivers/rpmsg use them
   
   The first commit only fixes existing nxstyle errors in rpmsg.c.
   
   ## Impact
   
   - `include/nuttx/rpmsg/rpmsg_ping.h` is removed. Out-of-tree code that
     included it should include `<nuttx/rpmsg/rpmsg.h>`, which now defines
     `struct rpmsg_ping_s`. Nothing in nuttx or nuttx-apps includes it.
   - `struct rpmsg_s` and `struct rpmsg_ops_s` are no longer public. No user
     outside drivers/rpmsg in nuttx or nuttx-apps; `tools/pynuttx/nxgdb`
     only reads them from debug info.
   - No Kconfig change.
   
   ## Testing
   
   Host: Ubuntu 22.04.5 LTS x86_64, QEMU version 10.2.1, sim: cc (Ubuntu 
13.1.0-8ubuntu1~22.04) 13.1.0, qemu-armv8a: aarch64-none-elf-gcc (Arm GNU 
Toolchain 12.2.Rel1 (Build arm-12.24)) 12.2.1 20221205
   
   rpmsg_ioctl() now goes through rpmsg_foreach(); `rpmsg dump all` and
   `rpmsg ping all` below exercise it on both a virtio (sim) and an ivshmem
   plus rpmsg_port_uart (qemu-armv8a) setup.
   
   Baseline (`test.sh`, cases: baseline.yaml):
   
   - host: Ubuntu 22.04.5 LTS x86_64, QEMU version 10.2.1, sim: cc (Ubuntu 
13.1.0-8ubuntu1~22.04) 13.1.0, qemu-armv8a: aarch64-none-elf-gcc (Arm GNU 
Toolchain 12.2.Rel1 (Build arm-12.24)) 12.2.1 20221205
   - tested: nuttx 82363c37c22 apps ea8addeaf
   - qemu-armv8a built with test-only overlay: disabled LIBC_ENVPATH 
BINFMT_CHECKEXEC
   - sim:rpserver + sim:rpproxy: PASS
     - [x] `uname -a` (server)
     - [x] `rpmsg dump all` (server)
     - [x] `rpmsg ping all 10 1024 3 0` (server)
     - [x] `uname -a` (proxy)
     - [x] `rpmsg ping all 10 1024 3 0` (proxy)
     - [x] `mount -t rpmsgfs -o cpu=server,fs=/proc /sp` (proxy)
     - [x] `cat /sp/version` (proxy)
     - [x] `rpmsg dump all` (proxy)
   - qemu-armv8a:rpserver + qemu-armv8a:rpproxy: PASS
     - [x] `uname -a` (server)
     - [x] `uname -a` (proxy)
     - [x] `rpmsg dump all` (server)
     - [x] `rpmsg ping all 10 1024 3 0` (server)
     - [x] `rpmsg ping all 10 1024 3 0` (proxy)
     - [x] `mount -t rpmsgfs -o cpu=server,fs=/proc /sp` (proxy)
     - [x] `cat /sp/version` (proxy)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to