blob: a83667e108fb8d5cef433c5d9dfb9beb1aba738e [file] [log] [blame]
The Android Open Source Project5738f832012-12-12 16:00:35 -08001/******************************************************************************
2 *
3 * Copyright (C) 2000-2012 Broadcom Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 ******************************************************************************/
18
19/******************************************************************************
20 *
Prerepa Viswanadham16fe0822014-08-07 11:38:06 -070021 * This module contains the routines that initialize the stack components.
The Android Open Source Project5738f832012-12-12 16:00:35 -080022 * It must be called before the BTU task is started.
23 *
24 ******************************************************************************/
25
26#include "bt_target.h"
27#include <string.h>
28
29#ifndef BTA_INCLUDED
30#define BTA_INCLUDED FALSE
31#endif
32
33/* Include initialization functions definitions */
The Android Open Source Project5738f832012-12-12 16:00:35 -080034#include "port_api.h"
The Android Open Source Project5738f832012-12-12 16:00:35 -080035
Marie Janssend19e0782016-07-15 12:48:27 -070036#if (BNEP_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080037#include "bnep_api.h"
38#endif
39
The Android Open Source Project5738f832012-12-12 16:00:35 -080040#include "gap_api.h"
The Android Open Source Project5738f832012-12-12 16:00:35 -080041
Marie Janssend19e0782016-07-15 12:48:27 -070042#if (PAN_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080043#include "pan_api.h"
44#endif
45
The Android Open Source Project5738f832012-12-12 16:00:35 -080046#include "avrc_api.h"
The Android Open Source Project5738f832012-12-12 16:00:35 -080047
Marie Janssend19e0782016-07-15 12:48:27 -070048#if (A2D_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080049#include "a2d_api.h"
50#endif
51
Marie Janssend19e0782016-07-15 12:48:27 -070052#if (HID_HOST_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080053#include "hidh_api.h"
54#endif
55
Marie Janssend19e0782016-07-15 12:48:27 -070056#if (MCA_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080057#include "mca_api.h"
58#endif
59
Marie Janssend19e0782016-07-15 12:48:27 -070060#if (BLE_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080061#include "gatt_api.h"
Marie Janssend19e0782016-07-15 12:48:27 -070062#if (SMP_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080063#include "smp_api.h"
64#endif
65#endif
66
The Android Open Source Project5738f832012-12-12 16:00:35 -080067/*****************************************************************************
68** F U N C T I O N S *
69******************************************************************************/
70
71/*****************************************************************************
72**
73** Function BTE_InitStack
74**
75** Description Initialize control block memory for each component.
76**
77** Note: The core stack components must be called
78** before creating the BTU Task. The rest of the
79** components can be initialized at a later time if desired
80** as long as the component's init function is called
81** before accessing any of its functions.
82**
83** Returns void
84**
85******************************************************************************/
June R. Tate-Gans24933b52014-09-24 15:25:02 -070086void BTE_InitStack(void)
The Android Open Source Project5738f832012-12-12 16:00:35 -080087{
88/* Initialize the optional stack components */
The Android Open Source Project5738f832012-12-12 16:00:35 -080089 RFCOMM_Init();
The Android Open Source Project5738f832012-12-12 16:00:35 -080090
The Android Open Source Project5738f832012-12-12 16:00:35 -080091/**************************
92** BNEP and its profiles **
93***************************/
Marie Janssend19e0782016-07-15 12:48:27 -070094#if (BNEP_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080095 BNEP_Init();
96
Marie Janssend19e0782016-07-15 12:48:27 -070097#if (PAN_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -080098 PAN_Init();
99#endif /* PAN */
100#endif /* BNEP Included */
101
102
103/**************************
104** AVDT and its profiles **
105***************************/
Marie Janssend19e0782016-07-15 12:48:27 -0700106#if (A2D_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -0800107 A2D_Init();
108#endif /* AADP */
109
110
The Android Open Source Project5738f832012-12-12 16:00:35 -0800111 AVRC_Init();
The Android Open Source Project5738f832012-12-12 16:00:35 -0800112
113
114/***********
115** Others **
116************/
The Android Open Source Project5738f832012-12-12 16:00:35 -0800117 GAP_Init();
The Android Open Source Project5738f832012-12-12 16:00:35 -0800118
Marie Janssend19e0782016-07-15 12:48:27 -0700119#if (HID_HOST_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -0800120 HID_HostInit();
121#endif
122
Marie Janssend19e0782016-07-15 12:48:27 -0700123#if (MCA_INCLUDED == TRUE)
The Android Open Source Project5738f832012-12-12 16:00:35 -0800124 MCA_Init();
Zach Johnson9df3c8c2014-10-20 13:22:43 -0700125#endif
The Android Open Source Project5738f832012-12-12 16:00:35 -0800126
The Android Open Source Project5738f832012-12-12 16:00:35 -0800127}