Skip to content

Commit

Permalink
unified: Eliminate k_stack_init_with_buffer()
Browse files Browse the repository at this point in the history
Folds this API into k_stack_init() to provide a single API
that requires the caller to pass in the stack buffer, just
as is done for other kernel objects initialization APIs
involving the use of a buffer.

Change-Id: Icad5fd6e5387d634738d1574f8dfbc5421cd642d
Signed-off-by: Allan Stephens <[email protected]>
  • Loading branch information
ajstephens authored and wrsPeterMitsis committed Oct 13, 2016
1 parent 399d0ad commit 018cd9a
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 11 deletions.
5 changes: 2 additions & 3 deletions include/kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -420,9 +420,8 @@ struct k_stack {
_DEBUG_TRACING_KERNEL_OBJECTS_NEXT_PTR(k_stack);
};

extern void k_stack_init(struct k_stack *stack, int num_entries);
extern void k_stack_init_with_buffer(struct k_stack *stack, int num_entries,
uint32_t *buffer);
extern void k_stack_init(struct k_stack *stack,
uint32_t *buffer, int num_entries);
extern void k_stack_push(struct k_stack *stack, uint32_t data);
extern int k_stack_pop(struct k_stack *stack, uint32_t *data, int32_t timeout);

Expand Down
2 changes: 1 addition & 1 deletion include/legacy.h
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,7 @@ static inline void *nano_lifo_get(struct nano_lifo *lifo,

static inline void nano_stack_init(struct nano_stack *stack, uint32_t *data)
{
k_stack_init_with_buffer(stack, UINT_MAX, data);
k_stack_init(stack, data, UINT_MAX);
}

#define nano_stack_push k_stack_push
Expand Down
8 changes: 1 addition & 7 deletions kernel/unified/stack.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
#include <wait_q.h>
#include <misc/__assert.h>

void k_stack_init_with_buffer(struct k_stack *stack, int num_entries,
uint32_t *buffer)
void k_stack_init(struct k_stack *stack, uint32_t *buffer, int num_entries)
{
sys_dlist_init(&stack->wait_q);
stack->next = stack->base = buffer;
Expand All @@ -37,11 +36,6 @@ void k_stack_init_with_buffer(struct k_stack *stack, int num_entries,
SYS_TRACING_OBJ_INIT(k_stack, stack);
}

void k_stack_init(struct k_stack *stack, int num_entries)
{
k_stack_init_with_buffer(stack, num_entries, (uint32_t *)(stack + 1));
}

void k_stack_push(struct k_stack *stack, uint32_t data)
{
struct k_thread *first_pending_thread;
Expand Down

0 comments on commit 018cd9a

Please sign in to comment.