diff --git a/drivers/rptun/Kconfig b/drivers/rptun/Kconfig index 6124408762..10e4834389 100644 --- a/drivers/rptun/Kconfig +++ b/drivers/rptun/Kconfig @@ -10,6 +10,13 @@ menuconfig RPTUN ---help--- RPTUN driver is used for multi-cores' communication. +config RPTUN_PING + bool "rptun ping support" + default n + ---help--- + This is for debugging & profiling, create ping rpmsg + channel, user can use it to get send/recv speed & latency. + if RPTUN config RPTUN_PRIORITY @@ -38,11 +45,4 @@ config RPTUN_PM goto RAM-retention mode, can't access from another CPU. So, we provide this method to resolve this. -config RPTUN_PING - bool "rptun ping support" - default n - ---help--- - This is for rptun debugging & profiling, create ping RPMSG - channel, user can use it to get send/recv speed & latency. - endif # RPTUN diff --git a/drivers/rptun/rptun.h b/drivers/rptun/rptun.h index e890a05679..b937fabb2c 100644 --- a/drivers/rptun/rptun.h +++ b/drivers/rptun/rptun.h @@ -28,6 +28,8 @@ #include #include +#include "rptun_ping.h" + /**************************************************************************** * Public Function Prototypes ****************************************************************************/ @@ -35,10 +37,4 @@ int rptun_buffer_nused(FAR struct rpmsg_virtio_device *rvdev, bool rx); void rptun_dump(FAR struct rpmsg_virtio_device *rvdev); -int rptun_ping_init(FAR struct rpmsg_device *rvdev, - FAR struct rpmsg_endpoint *ept); -void rptun_ping_deinit(FAR struct rpmsg_endpoint *ept); -int rptun_ping(FAR struct rpmsg_endpoint *ept, - FAR const struct rptun_ping_s *ping); - #endif /* __DRIVERS_RPTUN_RPTUN_H */ diff --git a/drivers/rptun/rptun_ping.c b/drivers/rptun/rptun_ping.c index 83bfcf4260..5534e2957f 100644 --- a/drivers/rptun/rptun_ping.c +++ b/drivers/rptun/rptun_ping.c @@ -31,8 +31,7 @@ #include #include -#include "rptun.h" - +#include "rptun_ping.h" /**************************************************************************** * Pre-processor definitions ****************************************************************************/ diff --git a/drivers/rptun/rptun_ping.h b/drivers/rptun/rptun_ping.h new file mode 100644 index 0000000000..9e17ee3dd3 --- /dev/null +++ b/drivers/rptun/rptun_ping.h @@ -0,0 +1,44 @@ +/**************************************************************************** + * drivers/rptun/rptun_ping.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 __DRIVERS_RPTUN_RPTUN_PING_H +#define __DRIVERS_RPTUN_RPTUN_PING_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include +#include + +#ifdef CONFIG_RPTUN_PING + +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +int rptun_ping_init(FAR struct rpmsg_device *rvdev, + FAR struct rpmsg_endpoint *ept); +void rptun_ping_deinit(FAR struct rpmsg_endpoint *ept); +int rptun_ping(FAR struct rpmsg_endpoint *ept, + FAR const struct rptun_ping_s *ping); + +#endif /* CONFIG_RPTUN_PING */ +#endif /* __DRIVERS_RPTUN_RPTUN_PING_H */ diff --git a/include/nuttx/rptun/rptun.h b/include/nuttx/rptun/rptun.h index 94050e550a..e887d9b2df 100644 --- a/include/nuttx/rptun/rptun.h +++ b/include/nuttx/rptun/rptun.h @@ -30,6 +30,7 @@ #ifdef CONFIG_RPTUN #include +#include #include /**************************************************************************** @@ -342,16 +343,6 @@ struct rptun_dev_s FAR const struct rptun_ops_s *ops; }; -/* used for ioctl RPTUNIOC_PING */ - -struct rptun_ping_s -{ - int times; - int len; - int ack; - int sleep; /* unit: ms */ -}; - /**************************************************************************** * Public Function Prototypes ****************************************************************************/ diff --git a/include/nuttx/rptun/rptun_ping.h b/include/nuttx/rptun/rptun_ping.h new file mode 100644 index 0000000000..a47440bde3 --- /dev/null +++ b/include/nuttx/rptun/rptun_ping.h @@ -0,0 +1,47 @@ +/**************************************************************************** + * include/nuttx/rptun/rptun_ping.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_RPTUN_RPTUN_PING_H +#define __INCLUDE_NUTTX_RPTUN_RPTUN_PING_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include + +#ifdef CONFIG_RPTUN_PING + +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +/* used for ioctl RPTUNIOC_PING */ + +struct rptun_ping_s +{ + int times; + int len; + int ack; + int sleep; /* unit: ms */ +}; + +#endif /* CONFIG_RPTUN_PING */ +#endif /* __INCLUDE_NUTTX_RPTUN_RPTUN_PING_H */