You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/08/10 23:08:50 UTC

[incubator-nuttx] 02/04: fs/rpmsg: Move the server initialization to fs_initialize

This is an automated email from the ASF dual-hosted git repository.

pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 5f93ae9dd23b7c77f5196c48c4ba3eccf1af2984
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Wed Aug 10 03:35:34 2022 +0800

    fs/rpmsg: Move the server initialization to fs_initialize
    
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 boards/sim/sim/sim/README.txt                 |  2 +-
 boards/sim/sim/sim/configs/rpserver/defconfig |  2 +-
 boards/sim/sim/sim/src/sim_bringup.c          |  5 ---
 fs/fs_initialize.c                            |  5 +++
 fs/rpmsgfs/Kconfig                            |  7 +++++
 fs/rpmsgfs/Make.defs                          |  4 +++
 fs/rpmsgfs/rpmsgfs.c                          |  1 -
 fs/rpmsgfs/rpmsgfs.h                          |  6 ++++
 fs/rpmsgfs/rpmsgfs_client.c                   |  1 -
 fs/rpmsgfs/rpmsgfs_server.c                   |  1 -
 include/nuttx/fs/rpmsgfs.h                    | 45 ---------------------------
 11 files changed, 24 insertions(+), 55 deletions(-)

diff --git a/boards/sim/sim/sim/README.txt b/boards/sim/sim/sim/README.txt
index 53aef33b32..5f2316bd98 100644
--- a/boards/sim/sim/sim/README.txt
+++ b/boards/sim/sim/sim/README.txt
@@ -1059,7 +1059,7 @@ rpserver
 
   3.RpmsgFS
     Source:
-      include/nuttx/fs/rpmsgfs.h
+      fs/rpmsgfs/rpmsgfs.h
       fs/rpmsgfs/rpmsgfs.c
       fs/rpmsgfs/rpmsgfs_client.c
       fs/rpmsgfs/rpmsgfs_server.c
diff --git a/boards/sim/sim/sim/configs/rpserver/defconfig b/boards/sim/sim/sim/configs/rpserver/defconfig
index e065496a42..c040e4140f 100644
--- a/boards/sim/sim/sim/configs/rpserver/defconfig
+++ b/boards/sim/sim/sim/configs/rpserver/defconfig
@@ -19,7 +19,7 @@ CONFIG_DEV_SIMPLE_ADDRENV=y
 CONFIG_EXAMPLES_RPMSGSOCKET=y
 CONFIG_FS_HOSTFS=y
 CONFIG_FS_PROCFS=y
-CONFIG_FS_RPMSGFS=y
+CONFIG_FS_RPMSGFS_SERVER=y
 CONFIG_IDLETHREAD_STACKSIZE=4096
 CONFIG_INIT_ENTRYPOINT="nsh_main"
 CONFIG_INPUT=y
diff --git a/boards/sim/sim/sim/src/sim_bringup.c b/boards/sim/sim/sim/src/sim_bringup.c
index 4932cfe10e..0b57627215 100644
--- a/boards/sim/sim/sim/src/sim_bringup.c
+++ b/boards/sim/sim/sim/src/sim_bringup.c
@@ -34,7 +34,6 @@
 #include <nuttx/mtd/mtd.h>
 #include <nuttx/fs/fs.h>
 #include <nuttx/fs/nxffs.h>
-#include <nuttx/fs/rpmsgfs.h>
 #include <nuttx/i2c/i2c_master.h>
 #include <nuttx/spi/spi_transfer.h>
 #include <nuttx/rc/lirc_dev.h>
@@ -447,10 +446,6 @@ int sim_bringup(void)
 #else
   up_rptun_init("server-proxy", "server", false);
 #endif
-
-#if defined(CONFIG_FS_RPMSGFS) && defined(CONFIG_SIM_RPTUN_MASTER)
-  rpmsgfs_server_init();
-#endif
 #endif
 
 #ifdef CONFIG_SIM_WTGAHRS2_UARTN
diff --git a/fs/fs_initialize.c b/fs/fs_initialize.c
index 48cdbdce3b..f04aee4e70 100644
--- a/fs/fs_initialize.c
+++ b/fs/fs_initialize.c
@@ -24,6 +24,7 @@
 
 #include <nuttx/config.h>
 
+#include "rpmsgfs/rpmsgfs.h"
 #include "inode/inode.h"
 #include "aio/aio.h"
 
@@ -52,4 +53,8 @@ void fs_initialize(void)
   aio_initialize();
 
 #endif
+
+#ifdef CONFIG_FS_RPMSGFS_SERVER
+  rpmsgfs_server_init();
+#endif
 }
diff --git a/fs/rpmsgfs/Kconfig b/fs/rpmsgfs/Kconfig
index d59a588eb3..457686d506 100644
--- a/fs/rpmsgfs/Kconfig
+++ b/fs/rpmsgfs/Kconfig
@@ -10,3 +10,10 @@ config FS_RPMSGFS
 	---help---
 		Use rpmsg file system to mount remote directories to local.
 		This the method for user to use remote file like own core.
+
+config FS_RPMSGFS_SERVER
+	bool "RPMSG File Server"
+	default n
+	depends on RPTUN
+	---help---
+		Initialize rpmsg file system server automatically.
diff --git a/fs/rpmsgfs/Make.defs b/fs/rpmsgfs/Make.defs
index aea7bf0022..e6d806f642 100644
--- a/fs/rpmsgfs/Make.defs
+++ b/fs/rpmsgfs/Make.defs
@@ -26,3 +26,7 @@ VPATH += :rpmsgfs
 ifeq ($(CONFIG_FS_RPMSGFS),y)
 CSRCS += rpmsgfs.c rpmsgfs_client.c rpmsgfs_server.c
 endif
+
+ifeq ($(CONFIG_FS_RPMSGFS_SERVER),y)
+CSRCS += rpmsgfs_server.c
+endif
diff --git a/fs/rpmsgfs/rpmsgfs.c b/fs/rpmsgfs/rpmsgfs.c
index 520f63df71..8ac89cd9f4 100644
--- a/fs/rpmsgfs/rpmsgfs.c
+++ b/fs/rpmsgfs/rpmsgfs.c
@@ -39,7 +39,6 @@
 #include <nuttx/kmalloc.h>
 #include <nuttx/fs/fs.h>
 #include <nuttx/fs/ioctl.h>
-#include <nuttx/fs/rpmsgfs.h>
 
 #include "rpmsgfs.h"
 
diff --git a/fs/rpmsgfs/rpmsgfs.h b/fs/rpmsgfs/rpmsgfs.h
index fe102c9d9d..6b9d2384af 100644
--- a/fs/rpmsgfs/rpmsgfs.h
+++ b/fs/rpmsgfs/rpmsgfs.h
@@ -245,4 +245,10 @@ int       rpmsgfs_client_stat(FAR void *handle, FAR const char *path,
 int       rpmsgfs_client_chstat(FAR void *handle, FAR const char *path,
                                 FAR const struct stat *buf, int flags);
 
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+int       rpmsgfs_server_init(void);
+
 #endif /* __FS_RPMSGFS_RPMSGFS_H */
diff --git a/fs/rpmsgfs/rpmsgfs_client.c b/fs/rpmsgfs/rpmsgfs_client.c
index dd8ccfa1bb..5be444be98 100644
--- a/fs/rpmsgfs/rpmsgfs_client.c
+++ b/fs/rpmsgfs/rpmsgfs_client.c
@@ -30,7 +30,6 @@
 
 #include <nuttx/kmalloc.h>
 #include <nuttx/fs/ioctl.h>
-#include <nuttx/fs/rpmsgfs.h>
 #include <nuttx/rptun/openamp.h>
 #include <nuttx/semaphore.h>
 
diff --git a/fs/rpmsgfs/rpmsgfs_server.c b/fs/rpmsgfs/rpmsgfs_server.c
index e34631933b..4fce36c38d 100644
--- a/fs/rpmsgfs/rpmsgfs_server.c
+++ b/fs/rpmsgfs/rpmsgfs_server.c
@@ -33,7 +33,6 @@
 
 #include <nuttx/kmalloc.h>
 #include <nuttx/fs/fs.h>
-#include <nuttx/fs/rpmsgfs.h>
 #include <nuttx/rptun/openamp.h>
 
 #include "rpmsgfs.h"
diff --git a/include/nuttx/fs/rpmsgfs.h b/include/nuttx/fs/rpmsgfs.h
deleted file mode 100644
index 76de3de524..0000000000
--- a/include/nuttx/fs/rpmsgfs.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
- * include/nuttx/fs/rpmsgfs.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_NUTTX_FS_HOSTFS_H
-#define __INCLUDE_NUTTX_FS_HOSTFS_H
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-#ifdef __cplusplus
-#define EXTERN extern "C"
-extern "C"
-{
-#else
-#define EXTERN extern
-#endif
-
-#ifdef CONFIG_FS_RPMSGFS
-int rpmsgfs_server_init(void);
-#endif
-
-#undef EXTERN
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* __INCLUDE_NUTTX_FS_HOSTFS_H */