Eliminate unnecessary K_TIMER type

Since the K_TIMER type is a non-public API used within the micro-
kernel itself, it doesn't provide any real type abstraction benefit
that isn't served equally well by the struct k_timer type it is
based on.

Change-Id: I482d7c0459d5734402be541322ff752dd1a3714a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This commit is contained in:
Allan Stephens 2015-05-11 15:25:03 -04:00 committed by Anas Nashif
commit 56f93e3a21
6 changed files with 33 additions and 37 deletions

View file

@ -54,10 +54,6 @@ struct k_timer {
struct k_args *Args;
};
/* Kernel timer type (public) */
typedef struct k_timer K_TIMER;
/* ---------------------------------------------------------------------- */
/* PROCESSOR SPECIFIC TYPES & DATA STRUCTURES */
@ -282,7 +278,7 @@ struct _a1arg {
struct _c1arg {
int64_t time1;
int64_t time2;
K_TIMER *timer;
struct k_timer *timer;
ksem_t sema;
ktask_t task;
};
@ -413,7 +409,7 @@ struct k_args {
K_CREF Ctxt;
union {
int32_t ticks;
K_TIMER *timer;
struct k_timer *timer;
int rcode;
} Time;
K_ARGS_ARGS Args;

View file

@ -47,7 +47,7 @@ void DeListWaiter(struct k_args *pReqProc)
pReqProc->Head = NULL;
}
void myfreetimer(K_TIMER * *ppTimer)
void myfreetimer(struct k_timer * *ppTimer)
{
if (*ppTimer) {
delist_timer(*ppTimer);

View file

@ -77,7 +77,7 @@ int CalcFreeReaderSpace(struct k_args *pReaderList);
int CalcAvailWriterData(struct k_args *pWriterList);
void DeListWaiter(struct k_args *pReqProc);
void myfreetimer(K_TIMER **ppTimer);
void myfreetimer(struct k_timer **ppTimer);
void setup_movedata(struct k_args *A,
struct pipe_struct *pPipe,

View file

@ -62,8 +62,8 @@ extern const int _k_num_events;
extern struct k_proc *_k_current_task;
extern uint32_t _k_task_priority_bitmap[];
extern K_TIMER *_k_timer_list_head;
extern K_TIMER *_k_timer_list_tail;
extern struct k_timer *_k_timer_list_head;
extern struct k_timer *_k_timer_list_tail;
extern struct nano_stack _k_command_stack;
extern struct nano_lifo _k_server_command_packet_free;
@ -76,10 +76,10 @@ extern void _k_task_group_op(struct k_args *A);
extern void _k_task_priority_set(struct k_args *A);
extern void _k_task_yield(struct k_args *A);
extern void enlist_timer(K_TIMER *T);
extern void delist_timer(K_TIMER *T);
extern void enlist_timer(struct k_timer *T);
extern void delist_timer(struct k_timer *T);
extern void enlist_timeout(struct k_args *P);
extern void delist_timeout(K_TIMER *T);
extern void delist_timeout(struct k_timer *T);
extern void force_timeout(struct k_args *A);
extern void _k_timer_list_update(int ticks);
extern void _k_timer_alloc(struct k_args *P);
@ -148,7 +148,7 @@ extern void set_state_bit(struct k_proc *, uint32_t);
extern void reset_state_bit(struct k_proc *, uint32_t);
extern void _k_task_call(struct k_args *);
extern void delist_timeout(K_TIMER *T);
extern void delist_timeout(struct k_timer *T);
extern void enlist_timeout(struct k_args *A);
extern void force_timeout(struct k_args *A);

View file

@ -38,10 +38,10 @@
#include <minik.h>
#include <drivers/system_timer.h>
extern K_TIMER _k_timer_blocks[];
extern struct k_timer _k_timer_blocks[];
K_TIMER *_k_timer_list_head = NULL;
K_TIMER *_k_timer_list_tail = NULL;
struct k_timer *_k_timer_list_head = NULL;
struct k_timer *_k_timer_list_tail = NULL;
/*******************************************************************************
*
@ -59,7 +59,7 @@ K_TIMER *_k_timer_list_tail = NULL;
* RETURNS: timer object identifier
*/
static inline ktimer_t _timer_ptr_to_id(K_TIMER *timer)
static inline ktimer_t _timer_ptr_to_id(struct k_timer *timer)
{
return (ktimer_t)(0x00010000u + (uint32_t)(timer - &_k_timer_blocks[0]));
}
@ -73,7 +73,7 @@ static inline ktimer_t _timer_ptr_to_id(K_TIMER *timer)
* RETURNS: timer pointer
*/
static inline K_TIMER *_timer_id_to_ptr(ktimer_t timer)
static inline struct k_timer *_timer_id_to_ptr(ktimer_t timer)
{
return &_k_timer_blocks[OBJ_INDEX(timer)];
}
@ -85,10 +85,10 @@ static inline K_TIMER *_timer_id_to_ptr(ktimer_t timer)
* RETURNS: N/A
*/
void enlist_timer(K_TIMER *T)
void enlist_timer(struct k_timer *T)
{
K_TIMER *P = _k_timer_list_head;
K_TIMER *Q = NULL;
struct k_timer *P = _k_timer_list_head;
struct k_timer *Q = NULL;
while (P && (T->duration > P->duration)) {
T->duration -= P->duration;
@ -115,10 +115,10 @@ void enlist_timer(K_TIMER *T)
* RETURNS: N/A
*/
void delist_timer(K_TIMER *T)
void delist_timer(struct k_timer *T)
{
K_TIMER *P = T->Forw;
K_TIMER *Q = T->Back;
struct k_timer *P = T->Forw;
struct k_timer *Q = T->Back;
if (P) {
P->duration += T->duration;
@ -141,7 +141,7 @@ void delist_timer(K_TIMER *T)
void enlist_timeout(struct k_args *P)
{
K_TIMER *T;
struct k_timer *T;
GETTIMER(T);
T->duration = P->Time.ticks;
@ -160,7 +160,7 @@ void enlist_timeout(struct k_args *P)
void force_timeout(struct k_args *A)
{
K_TIMER *T = A->Time.timer;
struct k_timer *T = A->Time.timer;
if (T->duration != -1) {
delist_timer(T);
@ -175,7 +175,7 @@ void force_timeout(struct k_args *A)
* RETURNS: N/A
*/
void delist_timeout(K_TIMER *T)
void delist_timeout(struct k_timer *T)
{
if (T->duration != -1)
delist_timer(T);
@ -204,7 +204,7 @@ void delist_timeout(K_TIMER *T)
void _k_timer_list_update(int ticks)
{
K_TIMER *T;
struct k_timer *T;
while (_k_timer_list_head != NULL) {
_k_timer_list_head->duration -= ticks;
@ -246,7 +246,7 @@ void _k_timer_alloc(
struct k_args *P /* pointer to timer allocation request arguments */
)
{
K_TIMER *T;
struct k_timer *T;
struct k_args *A;
T = _Cget(&_k_timer_free);
@ -272,7 +272,7 @@ void _k_timer_alloc(
ktimer_t task_timer_alloc(void)
{
struct k_args A;
K_TIMER *timer;
struct k_timer *timer;
A.Comm = TALLOC;
KERNEL_ENTRY(&A);
@ -292,7 +292,7 @@ ktimer_t task_timer_alloc(void)
void _k_timer_dealloc(struct k_args *P)
{
K_TIMER *T = P->Args.c1.timer;
struct k_timer *T = P->Args.c1.timer;
struct k_args *A = T->Args;
if (T->duration != -1)
@ -336,7 +336,7 @@ void _k_timer_start(struct k_args *P /* pointer to timer start
request arguments */
)
{
K_TIMER *T = P->Args.c1.timer; /* ptr to the timer to start */
struct k_timer *T = P->Args.c1.timer; /* ptr to the timer to start */
if (T->duration != -1) /* Stop the timer if it is active */
delist_timer(T);
@ -443,7 +443,7 @@ void task_timer_restart(ktimer_t timer, /* timer to restart */
void _k_timer_stop(struct k_args *P)
{
K_TIMER *T = P->Args.c1.timer;
struct k_timer *T = P->Args.c1.timer;
if (T->duration != -1)
delist_timer(T);
@ -481,7 +481,7 @@ void task_timer_stop(ktimer_t timer /* timer to stop */
void _k_task_wakeup(struct k_args *P)
{
K_TIMER *T;
struct k_timer *T;
struct k_proc *X;
X = P->Ctxt.proc;
@ -503,7 +503,7 @@ void _k_task_wakeup(struct k_args *P)
void _k_task_sleep(struct k_args *P)
{
K_TIMER *T;
struct k_timer *T;
if ((P->Time.ticks) <= 0)
return;

View file

@ -343,7 +343,7 @@ def kernel_main_c_timers():
# timer descriptors
kernel_main_c_out("\n" +
"K_TIMER _k_timer_blocks[%d] =\n" % (num_timers) +
"struct k_timer _k_timer_blocks[%d] =\n" % (num_timers) +
"{\n" +
" {NULL, NULL, 0, 0, (struct k_args *)0xffffffff},\n")
for i in range(1, num_timers - 1):