diff --git a/components/Kconfig b/components/Kconfig index 9a9efa8434..f99ede204f 100644 --- a/components/Kconfig +++ b/components/Kconfig @@ -19,6 +19,10 @@ config RT_USING_USER_MAIN default 85 if RT_THREAD_PRIORITY_256 endif +config RT_USING_LEGACY + bool "Support legacy version for compatibility" + default n + source "$RTT_DIR/components/cplusplus/Kconfig" source "$RTT_DIR/components/finsh/Kconfig" diff --git a/components/dfs/SConscript b/components/dfs/SConscript index 5a0b394ce2..05c77e3957 100644 --- a/components/dfs/SConscript +++ b/components/dfs/SConscript @@ -1,4 +1,5 @@ from building import * +import os # The set of source files associated with this SConscript file. src = Split(''' diff --git a/components/legacy/README.md b/components/legacy/README.md new file mode 100644 index 0000000000..7b1eae98da --- /dev/null +++ b/components/legacy/README.md @@ -0,0 +1,2 @@ +# RT-Thread Legacy + diff --git a/components/legacy/SConscript b/components/legacy/SConscript new file mode 100644 index 0000000000..d3821af7ab --- /dev/null +++ b/components/legacy/SConscript @@ -0,0 +1,22 @@ +from building import * +import os + +src = Split(''' +ipc/workqueue_legacy.c +''') + +cwd = GetCurrentDir() +CPPPATH = [cwd] + +if GetDepend('RT_USING_DFS'): + dfs_cwd = os.path.join(cwd,'dfs') + CPPPATH += [dfs_cwd] + +group = DefineGroup('Legacy', src, depend = ['RT_USING_LEGACY'], CPPPATH = CPPPATH) + +list = os.listdir(cwd) +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + group = group + SConscript(os.path.join(item, 'SConscript')) + +Return('group') diff --git a/components/dfs/include/dfs_poll.h b/components/legacy/dfs/dfs_poll.h similarity index 73% rename from components/dfs/include/dfs_poll.h rename to components/legacy/dfs/dfs_poll.h index cba73b04d4..a59e7e2d17 100644 --- a/components/dfs/include/dfs_poll.h +++ b/components/legacy/dfs/dfs_poll.h @@ -5,6 +5,7 @@ * * Change Logs: * Date Author Notes + * 2021-11-14 Meco Man the first version */ #ifndef DFS_POLL_H__ @@ -12,6 +13,4 @@ #include -#warning "This file will be obsolete in the next version! Please use to instead." - #endif /* DFS_POLL_H__ */ diff --git a/components/dfs/include/dfs_select.h b/components/legacy/dfs/dfs_select.h similarity index 71% rename from components/dfs/include/dfs_select.h rename to components/legacy/dfs/dfs_select.h index 5b7c6428bd..6eaaf3bf89 100644 --- a/components/dfs/include/dfs_select.h +++ b/components/legacy/dfs/dfs_select.h @@ -5,6 +5,7 @@ * * Change Logs: * Date Author Notes + * 2021-11-14 Meco Man the first version */ #ifndef DFS_SELECT_H__ @@ -12,6 +13,4 @@ #include -#warning "This file will be obsolete in the next version! Please use to instead." - #endif diff --git a/components/legacy/ipc/workqueue_legacy.c b/components/legacy/ipc/workqueue_legacy.c new file mode 100644 index 0000000000..e79c1ca87b --- /dev/null +++ b/components/legacy/ipc/workqueue_legacy.c @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-11-14 Meco Man the first version + */ + +#include "workqueue_legacy.h" + +void rt_delayed_work_init(struct rt_delayed_work *work, + void (*work_func)(struct rt_work *work, + void *work_data), void *work_data) +{ + rt_work_init(&work->work, work_func, work_data); +} diff --git a/components/legacy/ipc/workqueue_legacy.h b/components/legacy/ipc/workqueue_legacy.h new file mode 100644 index 0000000000..a39cc86669 --- /dev/null +++ b/components/legacy/ipc/workqueue_legacy.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-11-14 Meco Man the first version + */ + +#ifndef __WORKQUEUE_LEGACY_H__ +#define __WORKQUEUE_LEGACY_H__ + +#include + +struct rt_delayed_work +{ + struct rt_work work; +}; + +void rt_delayed_work_init(struct rt_delayed_work *work, + void (*work_func)(struct rt_work *work, + void *work_data), void *work_data); + +#endif diff --git a/components/legacy/rtlegacy.h b/components/legacy/rtlegacy.h new file mode 100644 index 0000000000..df8463cdd2 --- /dev/null +++ b/components/legacy/rtlegacy.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-11-14 Meco Man the first version + */ + +#ifndef __RT_LEGACY_H__ +#define __RT_LEGACY_H__ + +#include + +/* rtlibc */ +#include +#include + +/* IPC */ +#ifdef RT_USING_DEVICE_IPC +#include "ipc/workqueue_legacy.h" +#endif /* RT_USING_DEVICE_IPC */ + +/* FinSH */ + +#endif /* __RT_LEGACY_H__ */ diff --git a/include/rtthread.h b/include/rtthread.h index 83be7d1ebc..69ccac9ede 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -15,6 +15,7 @@ * 2016-08-09 ArdaFu add new thread and interrupt hook. * 2018-11-22 Jesven add all cpu's lock and ipi handler * 2021-02-28 Meco Man add RT_KSERVICE_USING_STDLIB + * 2021-11-14 Meco Man add rtlegacy.h for compatibility */ #ifndef __RT_THREAD_H__ @@ -25,6 +26,9 @@ #include #include #include +#ifdef RT_USING_LEGACY +#include +#endif #ifdef __cplusplus extern "C" {