You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2021/05/15 17:34:03 UTC

[incubator-nuttx] branch master updated (018cf26 -> 73cc1f8)

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

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


    from 018cf26  lirc: fix bug about lirc_raw_event
     new f082893  driver/rtc: add config RTC_RPMSG_SERVER_NAME to
     new 73cc1f8  driver/rtc: add config CONFIG_RTC_RPMSG_SERVER to

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 arch/sim/src/sim/up_rptun.c                   |  4 ++--
 arch/sim/src/sim/up_rtc.c                     |  2 +-
 boards/sim/sim/sim/configs/rpproxy/defconfig  |  1 +
 boards/sim/sim/sim/configs/rpserver/defconfig |  1 +
 drivers/timers/Kconfig                        | 11 ++++++++++
 drivers/timers/rpmsg_rtc.c                    | 31 +++++++++++++++++----------
 include/nuttx/timers/rpmsg_rtc.h              |  9 ++++----
 7 files changed, 40 insertions(+), 19 deletions(-)

[incubator-nuttx] 02/02: driver/rtc: add config CONFIG_RTC_RPMSG_SERVER to

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 73cc1f888477e39b62c6d42fe52c6f52d40074b2
Author: Jiuzhu Dong <do...@xiaomi.com>
AuthorDate: Fri May 7 11:28:35 2021 +0800

    driver/rtc: add config CONFIG_RTC_RPMSG_SERVER to
    
    N/A
    select rtc rpmsg role.
    
    Change-Id: I7f9053b070593573caa5d988c6a2e13593da6bc5
    Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
---
 arch/sim/src/sim/up_rptun.c                   |  2 +-
 arch/sim/src/sim/up_rtc.c                     |  2 +-
 boards/sim/sim/sim/configs/rpserver/defconfig |  1 +
 drivers/timers/Kconfig                        |  4 ++++
 drivers/timers/rpmsg_rtc.c                    | 19 +++++++++++++++----
 include/nuttx/timers/rpmsg_rtc.h              |  6 +++---
 6 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/arch/sim/src/sim/up_rptun.c b/arch/sim/src/sim/up_rptun.c
index d40070a..c32d963 100644
--- a/arch/sim/src/sim/up_rptun.c
+++ b/arch/sim/src/sim/up_rptun.c
@@ -239,7 +239,7 @@ int up_rptun_init(void)
   syslog_rpmsg_server_init();
 #endif
 
-#if CONFIG_SIM_RPTUN_MASTER == 0
+#ifndef CONFIG_RTC_RPMSG_SERVER
   up_rtc_set_lowerhalf(rpmsg_rtc_initialize(0));
 #endif
 
diff --git a/arch/sim/src/sim/up_rtc.c b/arch/sim/src/sim/up_rtc.c
index efcb07c..628ae82 100644
--- a/arch/sim/src/sim/up_rtc.c
+++ b/arch/sim/src/sim/up_rtc.c
@@ -123,7 +123,7 @@ static bool sim_rtc_havesettime(FAR struct rtc_lowerhalf_s *lower)
 
 int up_rtc_initialize(void)
 {
-#ifdef CONFIG_SIM_RPTUN_MASTER
+#ifdef CONFIG_RTC_RPMSG_SERVER
   up_rtc_set_lowerhalf(rpmsg_rtc_server_initialize(&g_sim_rtc));
 #else
   up_rtc_set_lowerhalf(&g_sim_rtc);
diff --git a/boards/sim/sim/sim/configs/rpserver/defconfig b/boards/sim/sim/sim/configs/rpserver/defconfig
index 61c9281..a903087 100644
--- a/boards/sim/sim/sim/configs/rpserver/defconfig
+++ b/boards/sim/sim/sim/configs/rpserver/defconfig
@@ -57,6 +57,7 @@ CONFIG_RTC=y
 CONFIG_RTC_ARCH=y
 CONFIG_RTC_DRIVER=y
 CONFIG_RTC_RPMSG=y
+CONFIG_RTC_RPMSG_SERVER=y
 CONFIG_SCHED_CHILD_STATUS=y
 CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_HPWORK=y
diff --git a/drivers/timers/Kconfig b/drivers/timers/Kconfig
index fb1ddf2..fc8cb42 100644
--- a/drivers/timers/Kconfig
+++ b/drivers/timers/Kconfig
@@ -297,6 +297,10 @@ config RTC_RPMSG
 	depends on OPENAMP
 	select ARCH_HAVE_RTC_SUBSECONDS
 
+config RTC_RPMSG_SERVER
+	bool "The RTC Rpmsg Role"
+	depends on OPENAMP
+
 config RTC_RPMSG_SERVER_NAME
 	string "The name of RTC Rpmsg Server"
 	depends on RTC_RPMSG
diff --git a/drivers/timers/rpmsg_rtc.c b/drivers/timers/rpmsg_rtc.c
index bb38e10..f0b3542 100644
--- a/drivers/timers/rpmsg_rtc.c
+++ b/drivers/timers/rpmsg_rtc.c
@@ -84,6 +84,7 @@ begin_packed_struct struct rpmsg_rtc_alarm_cancel_s
 
 #define rpmsg_rtc_alarm_fire_s rpmsg_rtc_alarm_cancel_s
 
+#ifndef CONFIG_RTC_RPMSG_SERVER
 struct rpmsg_rtc_cookie_s
 {
   FAR struct rpmsg_rtc_header_s *msg;
@@ -113,7 +114,7 @@ struct rpmsg_rtc_lowerhalf_s
   struct lower_setalarm_s    alarminfo[CONFIG_RTC_NALARMS];
 #endif
 };
-
+#else
 struct rpmsg_rtc_server_s
 {
   FAR struct rtc_ops_s *ops;
@@ -127,11 +128,13 @@ struct rpmsg_rtc_session_s
   struct list_node node;
   struct rpmsg_endpoint ept;
 };
+#endif
 
 /****************************************************************************
  * Private Function Prototypes
  ****************************************************************************/
 
+#ifndef CONFIG_RTC_RPMSG_SERVER
 static void rpmsg_rtc_device_created(FAR struct rpmsg_device *rdev,
               FAR void *priv);
 static void rpmsg_rtc_device_destroy(FAR struct rpmsg_device *rdev,
@@ -159,7 +162,7 @@ static int rpmsg_rtc_cancelalarm(FAR struct rtc_lowerhalf_s *lower,
 static int rpmsg_rtc_rdalarm(FAR struct rtc_lowerhalf_s *lower_,
               FAR struct lower_rdalarm_s *alarminfo);
 #endif
-
+#else
 static int rpmsg_rtc_server_rdtime(FAR struct rtc_lowerhalf_s *lower,
                                    FAR struct rtc_time *rtctime);
 static int rpmsg_rtc_server_settime(FAR struct rtc_lowerhalf_s *lower,
@@ -184,11 +187,13 @@ static int rpmsg_rtc_server_setperiodic(FAR struct rtc_lowerhalf_s *lower,
 static int rpmsg_rtc_server_cancelperiodic
               (FAR struct rtc_lowerhalf_s *lower, int alarmid);
 #endif
+#endif
 
 /****************************************************************************
  * Private Data
  ****************************************************************************/
 
+#ifndef CONFIG_RTC_RPMSG_SERVER
 static const struct rtc_ops_s g_rpmsg_rtc_ops =
 {
   .rdtime      = rpmsg_rtc_rdtime,
@@ -201,7 +206,7 @@ static const struct rtc_ops_s g_rpmsg_rtc_ops =
   .rdalarm     = rpmsg_rtc_rdalarm,
 #endif
 };
-
+#else
 static struct rtc_ops_s g_rpmsg_rtc_server_ops =
 {
   .rdtime      = rpmsg_rtc_server_rdtime,
@@ -218,11 +223,13 @@ static struct rtc_ops_s g_rpmsg_rtc_server_ops =
   .cancelperiodic = rpmsg_rtc_server_cancelperiodic,
 #endif
 };
+#endif
 
 /****************************************************************************
  * Private Functions
  ****************************************************************************/
 
+#ifndef CONFIG_RTC_RPMSG_SERVER
 static void rpmsg_rtc_device_created(FAR struct rpmsg_device *rdev,
                                      FAR void *priv)
 {
@@ -442,7 +449,7 @@ static int rpmsg_rtc_rdalarm(FAR struct rtc_lowerhalf_s *lower_,
   return 0;
 }
 #endif
-
+#else
 static int rpmsg_rtc_server_rdtime(FAR struct rtc_lowerhalf_s *lower,
                                    FAR struct rtc_time *rtctime)
 {
@@ -673,6 +680,7 @@ static void rpmsg_rtc_server_ns_bind(FAR struct rpmsg_device *rdev,
   list_add_tail(&server->list, &session->node);
   nxsem_post(&server->exclsem);
 }
+#endif
 
 /****************************************************************************
  * Name: rpmsg_rtc_initialize
@@ -690,6 +698,7 @@ static void rpmsg_rtc_server_ns_bind(FAR struct rpmsg_device *rdev,
  *
  ****************************************************************************/
 
+#ifndef CONFIG_RTC_RPMSG_SERVER
 FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(int minor)
 {
   FAR struct rpmsg_rtc_lowerhalf_s *lower;
@@ -710,6 +719,7 @@ FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(int minor)
   return (FAR struct rtc_lowerhalf_s *)lower;
 }
 
+#else
 /****************************************************************************
  * Name: rpmsg_rtc_server_initialize
  *
@@ -746,3 +756,4 @@ FAR struct rtc_lowerhalf_s *rpmsg_rtc_server_initialize(
 
   return (FAR struct rtc_lowerhalf_s *)server;
 }
+#endif
diff --git a/include/nuttx/timers/rpmsg_rtc.h b/include/nuttx/timers/rpmsg_rtc.h
index 764904f..813cd04 100644
--- a/include/nuttx/timers/rpmsg_rtc.h
+++ b/include/nuttx/timers/rpmsg_rtc.h
@@ -41,12 +41,12 @@ extern "C"
 #endif
 
 #ifdef CONFIG_RTC_RPMSG
-
+#ifndef CONFIG_RTC_RPMSG_SERVER
 FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(int minor);
-
+#else
 FAR struct rtc_lowerhalf_s *rpmsg_rtc_server_initialize(
                                          FAR struct rtc_lowerhalf_s *lower);
-
+#endif /* CONFIG_RTC_RPMSG_SERVER */
 #endif /* CONFIG_RTC_RPMSG */
 
 #undef EXTERN

[incubator-nuttx] 01/02: driver/rtc: add config RTC_RPMSG_SERVER_NAME to

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f082893b9a82670beb46064a4f72a51789c6429c
Author: Jiuzhu Dong <do...@xiaomi.com>
AuthorDate: Sat Apr 24 14:18:21 2021 +0800

    driver/rtc: add config RTC_RPMSG_SERVER_NAME to
    
    specified the name of remote proc(rpmsg server)
    
    Change-Id: I0086bb43727a2bbb5e68f88907b5e4608182ef9c
    Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
---
 arch/sim/src/sim/up_rptun.c                  |  2 +-
 boards/sim/sim/sim/configs/rpproxy/defconfig |  1 +
 drivers/timers/Kconfig                       |  7 +++++++
 drivers/timers/rpmsg_rtc.c                   | 12 +++++-------
 include/nuttx/timers/rpmsg_rtc.h             |  3 +--
 5 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/arch/sim/src/sim/up_rptun.c b/arch/sim/src/sim/up_rptun.c
index d3f7882..d40070a 100644
--- a/arch/sim/src/sim/up_rptun.c
+++ b/arch/sim/src/sim/up_rptun.c
@@ -240,7 +240,7 @@ int up_rptun_init(void)
 #endif
 
 #if CONFIG_SIM_RPTUN_MASTER == 0
-  up_rtc_set_lowerhalf(rpmsg_rtc_initialize("server", 0));
+  up_rtc_set_lowerhalf(rpmsg_rtc_initialize(0));
 #endif
 
 #ifdef CONFIG_FS_HOSTFS_RPMSG
diff --git a/boards/sim/sim/sim/configs/rpproxy/defconfig b/boards/sim/sim/sim/configs/rpproxy/defconfig
index cb151f9..42f3fac 100644
--- a/boards/sim/sim/sim/configs/rpproxy/defconfig
+++ b/boards/sim/sim/sim/configs/rpproxy/defconfig
@@ -50,6 +50,7 @@ CONFIG_RTC_ARCH=y
 CONFIG_RTC_DRIVER=y
 CONFIG_RTC_EXTERNAL=y
 CONFIG_RTC_RPMSG=y
+CONFIG_RTC_RPMSG_SERVER_NAME="server"
 CONFIG_SCHED_CHILD_STATUS=y
 CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_HPWORK=y
diff --git a/drivers/timers/Kconfig b/drivers/timers/Kconfig
index 686143a..fb1ddf2 100644
--- a/drivers/timers/Kconfig
+++ b/drivers/timers/Kconfig
@@ -297,6 +297,13 @@ config RTC_RPMSG
 	depends on OPENAMP
 	select ARCH_HAVE_RTC_SUBSECONDS
 
+config RTC_RPMSG_SERVER_NAME
+	string "The name of RTC Rpmsg Server"
+	depends on RTC_RPMSG
+	---help---
+		The proc name of rtc server. Client requests time from
+		specified name of remote proc.
+
 endif # RTC
 
 menuconfig WATCHDOG
diff --git a/drivers/timers/rpmsg_rtc.c b/drivers/timers/rpmsg_rtc.c
index 2eef9b5..bb38e10 100644
--- a/drivers/timers/rpmsg_rtc.c
+++ b/drivers/timers/rpmsg_rtc.c
@@ -107,7 +107,6 @@ struct rpmsg_rtc_lowerhalf_s
    */
 
   struct rpmsg_endpoint      ept;
-  FAR const char             *cpuname;
   struct work_s              syncwork;
 
 #ifdef CONFIG_RTC_ALARM
@@ -229,7 +228,8 @@ static void rpmsg_rtc_device_created(FAR struct rpmsg_device *rdev,
 {
   FAR struct rpmsg_rtc_lowerhalf_s *lower = priv;
 
-  if (strcmp(lower->cpuname, rpmsg_get_cpuname(rdev)) == 0)
+  if (strcmp(CONFIG_RTC_RPMSG_SERVER_NAME,
+             rpmsg_get_cpuname(rdev)) == 0)
     {
       lower->ept.priv = lower;
 
@@ -244,7 +244,8 @@ static void rpmsg_rtc_device_destroy(FAR struct rpmsg_device *rdev,
 {
   FAR struct rpmsg_rtc_lowerhalf_s *lower = priv;
 
-  if (strcmp(lower->cpuname, rpmsg_get_cpuname(rdev)) == 0)
+  if (strcmp(CONFIG_RTC_RPMSG_SERVER_NAME,
+             rpmsg_get_cpuname(rdev)) == 0)
     {
       rpmsg_destroy_ept(&lower->ept);
     }
@@ -681,7 +682,6 @@ static void rpmsg_rtc_server_ns_bind(FAR struct rpmsg_device *rdev,
  *   Take remote core RTC as external RTC hardware through rpmsg.
  *
  * Input Parameters:
- *   cpuname - current cpu name
  *   minor  - device minor number
  *
  * Returned Value:
@@ -690,8 +690,7 @@ static void rpmsg_rtc_server_ns_bind(FAR struct rpmsg_device *rdev,
  *
  ****************************************************************************/
 
-FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(FAR const char *cpuname,
-                                                 int minor)
+FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(int minor)
 {
   FAR struct rpmsg_rtc_lowerhalf_s *lower;
 
@@ -699,7 +698,6 @@ FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(FAR const char *cpuname,
   if (lower)
     {
       lower->ops     = &g_rpmsg_rtc_ops;
-      lower->cpuname = cpuname;
 
       rpmsg_register_callback(lower,
                               rpmsg_rtc_device_created,
diff --git a/include/nuttx/timers/rpmsg_rtc.h b/include/nuttx/timers/rpmsg_rtc.h
index b0b2928..764904f 100644
--- a/include/nuttx/timers/rpmsg_rtc.h
+++ b/include/nuttx/timers/rpmsg_rtc.h
@@ -42,8 +42,7 @@ extern "C"
 
 #ifdef CONFIG_RTC_RPMSG
 
-FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(FAR const char *cpu_name,
-                                                 int minor);
+FAR struct rtc_lowerhalf_s *rpmsg_rtc_initialize(int minor);
 
 FAR struct rtc_lowerhalf_s *rpmsg_rtc_server_initialize(
                                          FAR struct rtc_lowerhalf_s *lower);