summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-26 14:27:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-27 10:48:16 +0200
commit23de794d15f88845ee04f800387123856303c036 (patch)
treef570c3c996c002a7ef334f78430c805e03ed13c2 /cpukit
parentbsps: Fix header includes (diff)
downloadrtems-23de794d15f88845ee04f800387123856303c036.tar.bz2
score: Add and use CHAIN_INITIALIZER_ONE_NODE().
Add and use CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(), RTEMS_CHAIN_INITIALIZER_ONE_NODE() and RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/libcsupport/src/__usrenv.c19
-rw-r--r--cpukit/sapi/include/rtems/chain.h16
-rw-r--r--cpukit/score/include/rtems/score/chainimpl.h16
3 files changed, 38 insertions, 13 deletions
diff --git a/cpukit/libcsupport/src/__usrenv.c b/cpukit/libcsupport/src/__usrenv.c
index a0d96cb7eb..8e9e8c15ad 100644
--- a/cpukit/libcsupport/src/__usrenv.c
+++ b/cpukit/libcsupport/src/__usrenv.c
@@ -218,15 +218,9 @@ static const rtems_filesystem_operations_table null_ops = {
};
rtems_filesystem_mount_table_entry_t rtems_filesystem_null_mt_entry = {
- .location_chain = {
- .Head = {
- .Node = {
- .next = &rtems_filesystem_global_location_null.location.mt_entry_node,
- .previous = NULL
- },
- .fill = &rtems_filesystem_global_location_null.location.mt_entry_node,
- }
- },
+ .location_chain = RTEMS_CHAIN_INITIALIZER_ONE_NODE(
+ &rtems_filesystem_global_location_null.location.mt_entry_node
+ ),
.ops = &null_ops,
.mt_point_node = &rtems_filesystem_global_location_null,
.mt_fs_root = &rtems_filesystem_global_location_null,
@@ -236,10 +230,9 @@ rtems_filesystem_mount_table_entry_t rtems_filesystem_null_mt_entry = {
rtems_filesystem_global_location_t rtems_filesystem_global_location_null = {
.location = {
- .mt_entry_node = {
- .next = &rtems_filesystem_null_mt_entry.location_chain.Tail.Node,
- .previous = &rtems_filesystem_null_mt_entry.location_chain.Head.Node
- },
+ .mt_entry_node = RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(
+ &rtems_filesystem_null_mt_entry.location_chain
+ ),
.handlers = &rtems_filesystem_null_handlers,
.mt_entry = &rtems_filesystem_null_mt_entry
},
diff --git a/cpukit/sapi/include/rtems/chain.h b/cpukit/sapi/include/rtems/chain.h
index b5808e4d80..7e48dc7470 100644
--- a/cpukit/sapi/include/rtems/chain.h
+++ b/cpukit/sapi/include/rtems/chain.h
@@ -45,6 +45,22 @@ typedef Chain_Control rtems_chain_control;
CHAIN_INITIALIZER_EMPTY(name)
/**
+ * @brief Chain initializer for a chain with one @a node.
+ *
+ * @see RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
+ */
+#define RTEMS_CHAIN_INITIALIZER_ONE_NODE( node ) \
+ CHAIN_INITIALIZER_ONE_NODE( node )
+
+/**
+ * @brief Chain node initializer for a @a chain containing exactly this node.
+ *
+ * @see RTEMS_CHAIN_INITIALIZER_ONE_NODE().
+ */
+#define RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN( chain ) \
+ CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN( chain )
+
+/**
* @brief Chain definition for an empty chain with designator @a name.
*/
#define RTEMS_CHAIN_DEFINE_EMPTY(name) \
diff --git a/cpukit/score/include/rtems/score/chainimpl.h b/cpukit/score/include/rtems/score/chainimpl.h
index f87ce82098..98416b25e7 100644
--- a/cpukit/score/include/rtems/score/chainimpl.h
+++ b/cpukit/score/include/rtems/score/chainimpl.h
@@ -37,6 +37,22 @@ extern "C" {
{ { { &(name).Tail.Node, NULL }, &(name).Head.Node } }
/**
+ * @brief Chain initializer for a chain with one @a node.
+ *
+ * @see CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
+ */
+#define CHAIN_INITIALIZER_ONE_NODE( node ) \
+ { { { (node), NULL }, (node) } }
+
+/**
+ * @brief Chain node initializer for a @a chain containing exactly this node.
+ *
+ * @see CHAIN_INITIALIZER_ONE_NODE().
+ */
+#define CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN( chain ) \
+ { &(chain)->Tail.Node, &(chain)->Head.Node }
+
+/**
* @brief Chain definition for an empty chain with designator @a name.
*/
#define CHAIN_DEFINE_EMPTY(name) \