unified: dissociate system workqueue from common workqueue module

Making a reference to the common work queue code should not necessarily
drag in the system workqueue, since it is possible to use a workqueue
that is not the system workqueue. This is done by moving the system
workqueue into its own code module.

Moving the system workqueue to its own code module allows removing the
NANO_WORKQUEUE and SYSTEM_WORKQUEUE kconfig options, and compiling the
common workqueue code and system workqueue all the time. They are only
linked in the final image if a reference to them exist, same as the
other kernel modules.

Change-Id: I6f48d2542bda24f4702e7c2e317818dd082b3c11
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
Benjamin Walsh 2016-11-04 15:47:32 -04:00 committed by Anas Nashif
commit 8cf56bcac7
31 changed files with 60 additions and 79 deletions

View file

@ -1079,8 +1079,6 @@ extern int k_delayed_work_cancel(struct k_delayed_work *work);
#endif /* CONFIG_SYS_CLOCK_EXISTS */
#if defined(CONFIG_SYSTEM_WORKQUEUE)
extern struct k_work_q k_sys_work_q;
/**
@ -1114,7 +1112,6 @@ static inline int k_delayed_work_submit(struct k_delayed_work *work,
}
#endif /* CONFIG_SYS_CLOCK_EXISTS */
#endif /* CONFIG_SYSTEM_WORKQUEUE */
/**
* synchronization