mirror of
https://github.com/apache/nuttx.git
synced 2026-08-29 21:30:44 +00:00
rpmsg_port: add rpmsg_port_get_signals api
And set signal_running when rpmsg devices registered Now rpmsg port transport support to get the remote core's state by api rpmsg_get_signals() Signed-off-by: liaoao <liaoao@xiaomi.com> Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This commit is contained in:
parent
906d5a8204
commit
59d6263bec
2 changed files with 18 additions and 0 deletions
|
|
@ -51,6 +51,7 @@ static FAR const char *
|
|||
rpmsg_port_get_local_cpuname(FAR struct rpmsg_s *rpmsg);
|
||||
static FAR const char *rpmsg_port_get_cpuname(FAR struct rpmsg_s *rpmsg);
|
||||
static void rpmsg_port_dump(FAR struct rpmsg_s *rpmsg);
|
||||
static int rpmsg_port_get_signals(FAR struct rpmsg_s *rpmsg);
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
|
|
@ -65,6 +66,7 @@ static const struct rpmsg_ops_s g_rpmsg_port_ops =
|
|||
rpmsg_port_dump,
|
||||
rpmsg_port_get_local_cpuname,
|
||||
rpmsg_port_get_cpuname,
|
||||
rpmsg_port_get_signals,
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
|
|
@ -564,6 +566,17 @@ static FAR const char *rpmsg_port_get_cpuname(FAR struct rpmsg_s *rpmsg)
|
|||
return port->cpuname;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: rpmsg_port_get_signals
|
||||
****************************************************************************/
|
||||
|
||||
static int rpmsg_port_get_signals(FAR struct rpmsg_s *rpmsg)
|
||||
{
|
||||
FAR struct rpmsg_port_s *port = (FAR struct rpmsg_port_s *)rpmsg;
|
||||
|
||||
return atomic_read(&port->signals);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
|
@ -731,6 +744,7 @@ int rpmsg_port_register(FAR struct rpmsg_port_s *port,
|
|||
return ret;
|
||||
}
|
||||
|
||||
atomic_fetch_or(&port->signals, RPMSG_SIGNAL_RUNNING);
|
||||
rpmsg_register_endpoint(&port->rdev, &port->rdev.ns_ept, "NS",
|
||||
RPMSG_NS_EPT_ADDR, RPMSG_NS_EPT_ADDR,
|
||||
rpmsg_port_ns_callback, NULL, port);
|
||||
|
|
|
|||
|
|
@ -123,6 +123,10 @@ struct rpmsg_port_s
|
|||
|
||||
char cpuname[RPMSG_NAME_SIZE];
|
||||
|
||||
/* Remote cpu status */
|
||||
|
||||
atomic_t signals;
|
||||
|
||||
/* Ops need implemented by drivers under port layer */
|
||||
|
||||
const FAR struct rpmsg_port_ops_s *ops;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue