blob: 3c4279f0a3812b3460e543c2305a6424728e7c8d [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2 * Copyright Statement:
3 * --------------------
4 * This software is protected by Copyright and the information contained
5 * herein is confidential. The software may not be copied and the information
6 * contained herein may not be used or disclosed except with the written
7 * permission of MediaTek Inc. (C) 2012
8 *
9 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10 * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11 * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12 * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15 * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16 * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17 * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18 * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19 * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20 * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21 *
22 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24 * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25 * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26 * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27 *
28 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30 * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31 * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32 * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33 *
34 *****************************************************************************/
35
36/*******************************************************************************
37 * Filename:
38 * ---------
39 * kpalv.h
40 *
41 * Project:
42 * --------
43 *
44 *
45 * Description:
46 * ------------
47 * keepalive task handling function
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 *
57 *
58 ****************************************************************************/
59#include "kal_public_api.h"
60#include "syscomp_config.h"
61#include "kpalv.h"
62#include "kpalv_debug.h"
63/*------------------------------------------------------------------------------
64 * Public fucntions.
65 *----------------------------------------------------------------------------*/
66
67kal_bool kpalv_task_init(void)
68{
69 kal_bool result = KAL_TRUE;
70 kpalv_init();
71 return result;
72}
73
74
75kal_bool kpalv_task_reset(void)
76{
77 kal_bool result = KAL_TRUE;
78 kpalv_reset();
79
80 return result;
81}
82
83
84void kpalv_dispatch_ilm(ilm_struct *ilm)
85{
86 if (MOD_KPALV == ilm->dest_mod_id) {
87 kal_set_active_module_id(MOD_KPALV);
88 kpalv_ilm_handler(ilm);
89 }
90
91 /*
92 * Free the ILM.
93 */
94 destroy_ilm(ilm);
95}
96
97
98static void kpalv_task_main(task_entry_struct *task_entry_ptr)
99{
100 ilm_struct current_ilm;
101
102 while (1) {
103 if (KAL_TRUE == msg_receive_extq(&current_ilm)) {
104 kpalv_dispatch_ilm(&current_ilm);
105 }
106 }
107}
108
109kal_bool kpalv_create(comptask_handler_struct **handle)
110{
111 static const comptask_handler_struct handler_info =
112 {
113 kpalv_task_main, /* task entry function */
114 kpalv_task_init, /* task initialization function */
115 kpalv_task_reset, /* task reset handler */
116 };
117
118 *handle = (comptask_handler_struct *)&handler_info;
119
120 return KAL_TRUE;
121}
122