halapi: Add support of RISC-V architecture type
[platform/hal/api/common.git] / src / hal-api-list.h
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __HAL_API_LIST_H__
18 #define __HAL_API_LIST_H__
19
20 #include "hal-common.h"
21
22 #include "common.h"
23
24 #define HAL_ABI_VERSION_MAX     10
25
26 enum hal_abi_version g_platform_curr_abi_version = HAL_ABI_VERSION_TIZEN_7_5;
27
28 static struct hal_abi_version_match abi_version_match_data[HAL_MODULE_END][HAL_ABI_VERSION_MAX] = {
29         /* HAL_GROUP_GRAPHICS */
30         [HAL_MODULE_TBM] = {
31                 /* FIXME: Need to be initialized by configuration file like xml */
32                 [0] = {
33                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
34                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
35                 },
36         },
37         [HAL_MODULE_TDM] = {
38                 /* FIXME: Need to be filled from configuration file. */
39                 [0] = {
40                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
41                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
42                 },
43         },
44         [HAL_MODULE_COREGL] = {
45                 /**
46                  * Don't need to add abi verion for this module.
47                  * because this module don't support HAL API.
48                  */
49         },
50         [HAL_MODULE_INPUT] = {
51                 /**
52                  * Don't need to add abi verion for this module.
53                  * because this module don't support HAL API.
54                  */
55         },
56
57         /* HAL_GROUP_MULTIMEDIA */
58         [HAL_MODULE_AUDIO] = {
59                 /* FIXME: Need to be initialized by configuration file like xml */
60                 [0] = {
61                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
62                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
63                 },
64         },
65         [HAL_MODULE_CAMERA] = {
66                 /* FIXME: Need to be initialized by configuration file like xml */
67                 [0] = {
68                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
69                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
70                 },
71         },
72         [HAL_MODULE_RADIO] = {
73                 /* FIXME: Need to be initialized by configuration file like xml */
74                 [0] = {
75                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
76                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
77                 },
78         },
79         [HAL_MODULE_CODEC] = {
80                 /**
81                  * Don't need to add abi verion for this module.
82                  * because this module don't support HAL API.
83                  */
84         },
85         [HAL_MODULE_USB_AUDIO] = {
86                 /**
87                  * Don't need to add abi verion for this module.
88                  * because this module don't support HAL API.
89                  */
90         },
91         [HAL_MODULE_ALSAUCM] = {
92                 /**
93                  * Don't need to add abi verion for this module.
94                  * because this module don't support HAL API.
95                  */
96         },
97
98         /* HAL_GROUP_CONNECTIVITY */
99         [HAL_MODULE_BLUETOOTH] = {
100                 /* FIXME: Need to be initialized by configuration file like xml */
101                 [0] = {
102                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
103                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
104                 },
105         },
106         [HAL_MODULE_WIFI] = {
107                 /* FIXME: Need to be initialized by configuration file like xml */
108                 [0] = {
109                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
110                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
111                 },
112         },
113         [HAL_MODULE_NAN] = {
114         },
115         [HAL_MODULE_NFC] = {
116                 /* FIXME: Need to be initialized by configuration file like xml */
117                 [0] = {
118                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
119                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
120                 },
121         },
122         [HAL_MODULE_ZIGBEE] = {
123                 /* FIXME: Need to be initialized by configuration file like xml */
124                 [0] = {
125                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
126                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
127                 },
128         },
129         [HAL_MODULE_UWB] = {
130                 /* FIXME: Need to be initialized by configuration file like xml */
131                 [0] = {
132                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
133                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
134                 },
135         },
136         [HAL_MODULE_MTP] = {
137                 /**
138                  * Don't need to add abi verion for this module.
139                  * because this module don't support HAL API.
140                  */
141         },
142
143         /* HAL_GROUP_TELEPHONY */
144         [HAL_MODULE_TELEPHONY] = {
145                 /* FIXME: Need to be determined whehter support HAL API or not. */
146                 [0] = {
147                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
148                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
149                 },
150         },
151
152         /* HAL_GROUP_LOCATION */
153         [HAL_MODULE_LOCATION] = {
154                 /* FIXME: Need to be initialized by configuration file like xml */
155                 [0] = {
156                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
157                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
158                 },
159         },
160
161         /* HAL_GROUP_SYSTEM */
162         [HAL_MODULE_COMMON] = {
163         },
164         [HAL_MODULE_POWER] = {
165                 /* FIXME: Need to be initialized by configuration file like xml */
166                 [0] = {
167                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
168                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
169                 },
170         },
171         [HAL_MODULE_SENSOR] = {
172                 /* FIXME: Need to be initialized by configuration file like xml */
173                 [0] = {
174                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
175                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
176                 },
177         },
178         [HAL_MODULE_PERIPHERAL] = {
179                 /* FIXME: Need to be initialized by configuration file like xml */
180                 [0] = {
181                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
182                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
183                 },
184         },
185
186         [HAL_MODULE_DEVICE_BATTERY] = {
187                 /* FIXME: Need to be initialized by configuration file like xml */
188                 [0] = {
189                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
190                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
191                 },
192         },
193         [HAL_MODULE_DEVICE_BEZEL] = {
194                 /* FIXME: Need to be initialized by configuration file like xml */
195                 [0] = {
196                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
197                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
198                 },
199         },
200         [HAL_MODULE_DEVICE_DISPLAY] = {
201                 /* FIXME: Need to be initialized by configuration file like xml */
202                 [0] = {
203                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
204                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
205                 },
206         },
207         [HAL_MODULE_DEVICE_IR] = {
208                 /* FIXME: Need to be initialized by configuration file like xml */
209                 [0] = {
210                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
211                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
212                 },
213         },
214         [HAL_MODULE_DEVICE_TOUCHSCREEN] = {
215                 /* FIXME: Need to be initialized by configuration file like xml */
216                 [0] = {
217                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
218                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
219                 },
220         },
221         [HAL_MODULE_DEVICE_LED] = {
222                 /* FIXME: Need to be initialized by configuration file like xml */
223                 [0] = {
224                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
225                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
226                 },
227         },
228         [HAL_MODULE_DEVICE_BOARD] = {
229                 /* FIXME: Need to be initialized by configuration file like xml */
230                 [0] = {
231                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
232                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
233                 },
234         },
235         [HAL_MODULE_DEVICE_EXTERNAL_CONNECTION] = {
236                 /* FIXME: Need to be initialized by configuration file like xml */
237                 [0] = {
238                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
239                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
240                 },
241         },
242         [HAL_MODULE_DEVICE_THERMAL] = {
243                 /* FIXME: Need to be initialized by configuration file like xml */
244                 [0] = {
245                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
246                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
247                 },
248         },
249         [HAL_MODULE_DEVICE_USB_GADGET] = {
250                 /* FIXME: Need to be initialized by configuration file like xml */
251                 [0] = {
252                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
253                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
254                 },
255         },
256         [HAL_MODULE_DEVICE_HAPTIC] = {
257                 /* FIXME: Need to be initialized by configuration file like xml */
258                 [0] = {
259                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
260                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
261                 },
262         },
263         [HAL_MODULE_DEVICE_MEMORY] = {
264                 /* FIXME: Need to be initialized by configuration file like xml */
265                 [0] = {
266                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
267                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_6_5,
268                 },
269         },
270         [HAL_MODULE_DEVICE_INPUT] = {
271                 /* FIXME: Need to be initialized by configuration file like xml */
272                 [0] = {
273                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
274                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_7_0,
275                 },
276         },
277         [HAL_MODULE_DEVICE_POWER] = {
278                 /* FIXME: Need to be initialized by configuration file like xml */
279                 [0] = {
280                         .platform_abi_version = HAL_ABI_VERSION_TIZEN_7_5,
281                         .backend_min_abi_version = HAL_ABI_VERSION_TIZEN_7_0,
282                 },
283         },
284 };
285
286 static struct __hal_module_info g_hal_module_info[] = {
287         /* HAL_GROUP_GRAPHICS */
288         [HAL_MODULE_TBM] = {
289                 .group                  = HAL_GROUP_GRAPHICS,
290                 .module                 = HAL_MODULE_TBM,
291                 .license                = HAL_LICENSE_MIT,
292                 .module_name            = "HAL_MODULE_TBM",
293                 .backend_module_name    = "tbm",
294                 .library_name           = "/hal/lib/libhal-backend-tbm.so",
295                 .library_name_64bit     = "/hal/lib64/libhal-backend-tbm.so",
296                 .symbol_name            = "hal_backend_tbm_data",
297                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_TBM]),
298                 .abi_versions           = abi_version_match_data[HAL_MODULE_TBM],
299                 .hal_api                = true,
300         },
301         [HAL_MODULE_TDM] = {
302                 .group                  = HAL_GROUP_GRAPHICS,
303                 .module                 = HAL_MODULE_TDM,
304                 .license                = HAL_LICENSE_MIT,
305                 .module_name            = "HAL_MODULE_TDM",
306                 .backend_module_name    = "tdm",
307                 .library_name           = "/hal/lib/libhal-backend-tdm.so",
308                 .library_name_64bit     = "/hal/lib64/libhal-backend-tdm.so",
309                 .symbol_name            = "hal_backend_tdm_data",
310                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_TDM]),
311                 .abi_versions           = abi_version_match_data[HAL_MODULE_TDM],
312                 .hal_api                = true,
313         },
314         [HAL_MODULE_COREGL] = {
315                 .group                  = HAL_GROUP_GRAPHICS,
316                 .module                 = HAL_MODULE_COREGL,
317                 .license                = HAL_LICENSE_UNKNOWN,
318                 .module_name            = "HAL_MODULE_COREGL",
319                 .backend_module_name    = NULL,
320                 .library_name           = NULL,
321                 .library_name_64bit     = NULL,
322                 .symbol_name            = NULL,
323                 .num_abi_versions       = 0,
324                 .abi_versions           = NULL,
325                 .hal_api                = false,
326         },
327         [HAL_MODULE_INPUT] = {
328                 .group                  = HAL_GROUP_GRAPHICS,
329                 .module                 = HAL_MODULE_INPUT,
330                 .license                = HAL_LICENSE_MIT,
331                 .module_name            = "HAL_MODULE_INPUT",
332                 .backend_module_name    = NULL,
333                 .library_name           = NULL,
334                 .library_name_64bit     = NULL,
335                 .symbol_name            = NULL,
336                 .num_abi_versions       = 0,
337                 .abi_versions           = NULL,
338                 .hal_api                = false,
339         },
340
341         /* HAL_GROUP_MULTIMEDIA */
342         [HAL_MODULE_AUDIO] = {
343                 .group                  = HAL_GROUP_MULTIMEDIA,
344                 .module                 = HAL_MODULE_AUDIO,
345                 .license                = HAL_LICENSE_APACHE_2_0,
346                 .module_name            = "HAL_MODULE_AUDIO",
347                 .backend_module_name    = "audio",
348                 .library_name           = "/hal/lib/libhal-backend-audio.so",
349                 .library_name_64bit     = "/hal/lib64/libhal-backend-audio.so",
350                 .symbol_name            = "hal_backend_audio_data",
351                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_AUDIO]),
352                 .abi_versions           = abi_version_match_data[HAL_MODULE_AUDIO],
353                 .hal_api                = true,
354         },
355         [HAL_MODULE_CAMERA] = {
356                 .group                  = HAL_GROUP_MULTIMEDIA,
357                 .module                 = HAL_MODULE_CAMERA,
358                 .license                = HAL_LICENSE_APACHE_2_0,
359                 .module_name            = "HAL_MODULE_CAMERA",
360                 .backend_module_name    = "camera",
361                 .library_name           = "/hal/lib/libhal-backend-camera.so",
362                 .library_name_64bit     = "/hal/lib64/libhal-backend-camera.so",
363                 .symbol_name            = "hal_backend_camera_data",
364                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_CAMERA]),
365                 .abi_versions           = abi_version_match_data[HAL_MODULE_CAMERA],
366                 .hal_api                = true,
367         },
368         [HAL_MODULE_RADIO] = {
369                 .group                  = HAL_GROUP_MULTIMEDIA,
370                 .module                 = HAL_MODULE_RADIO,
371                 .license                = HAL_LICENSE_APACHE_2_0,
372                 .module_name            = "HAL_MODULE_RADIO",
373                 .backend_module_name    = "radio",
374                 .library_name           = "/hal/lib/libhal-backend-radio.so",
375                 .library_name_64bit     = "/hal/lib64/libhal-backend-radio.so",
376                 .symbol_name            = "hal_backend_radio_data",
377                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_RADIO]),
378                 .abi_versions           = abi_version_match_data[HAL_MODULE_RADIO],
379                 .hal_api                = true,
380         },
381         [HAL_MODULE_CODEC] = {
382                 .group                  = HAL_GROUP_MULTIMEDIA,
383                 .module                 = HAL_MODULE_CODEC,
384                 .license                = HAL_LICENSE_APACHE_2_0,
385                 .module_name            = "HAL_MODULE_CODEC",
386                 .backend_module_name    = NULL,
387                 .library_name           = NULL,
388                 .library_name_64bit     = NULL,
389                 .symbol_name            = NULL,
390                 .num_abi_versions       = 0,
391                 .abi_versions           = NULL,
392                 .hal_api                = false,
393         },
394         [HAL_MODULE_USB_AUDIO] = {
395                 .group                  = HAL_GROUP_MULTIMEDIA,
396                 .module                 = HAL_MODULE_USB_AUDIO,
397                 .license                = HAL_LICENSE_APACHE_2_0,
398                 .module_name            = "HAL_MODULE_USB_AUDIO",
399                 .backend_module_name    = NULL,
400                 .library_name           = NULL,
401                 .library_name_64bit     = NULL,
402                 .symbol_name            = NULL,
403                 .num_abi_versions       = 0,
404                 .abi_versions           = NULL,
405                 .hal_api                = false,
406         },
407         [HAL_MODULE_ALSAUCM] = {
408                 .group                  = HAL_GROUP_MULTIMEDIA,
409                 .module                 = HAL_MODULE_ALSAUCM,
410                 .license                = HAL_LICENSE_APACHE_2_0,
411                 .module_name            = "HAL_MODULE_ALSAUCM",
412                 .backend_module_name    = NULL,
413                 .library_name           = NULL,
414                 .library_name_64bit     = NULL,
415                 .symbol_name            = NULL,
416                 .num_abi_versions       = 0,
417                 .abi_versions           = NULL,
418                 .hal_api                = false,
419         },
420
421         /* HAL_GROUP_CONNECTIVITY */
422         [HAL_MODULE_BLUETOOTH] = {
423                 .group                  = HAL_GROUP_CONNECTIVITY,
424                 .module                 = HAL_MODULE_BLUETOOTH,
425                 .license                = HAL_LICENSE_APACHE_2_0,
426                 .module_name            = "HAL_MODULE_BLUETOOTH",
427                 .backend_module_name    = "bluetooth",
428                 .library_name           = "/hal/lib/libhal-backend-bluetooth.so",
429                 .library_name_64bit     = "/hal/lib64/libhal-backend-bluetooth.so",
430                 .symbol_name            = "hal_backend_bluetooth_data",
431                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_BLUETOOTH]),
432                 .abi_versions           = abi_version_match_data[HAL_MODULE_BLUETOOTH],
433                 .hal_api                = true,
434         },
435         [HAL_MODULE_WIFI] = {
436                 .group                  = HAL_GROUP_CONNECTIVITY,
437                 .module                 = HAL_MODULE_WIFI,
438                 .license                = HAL_LICENSE_APACHE_2_0,
439                 .module_name            = "HAL_MODULE_WIFI",
440                 .backend_module_name    = "wifi",
441                 .library_name           = "/hal/lib/libhal-backend-wifi.so",
442                 .library_name_64bit     = "/hal/lib64/libhal-backend-wifi.so",
443                 .symbol_name            = "hal_backend_wifi_data",
444                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_WIFI]),
445                 .abi_versions           = abi_version_match_data[HAL_MODULE_WIFI],
446                 .hal_api                = true,
447         },
448         [HAL_MODULE_NAN] = {
449                 .group                  = HAL_GROUP_CONNECTIVITY,
450                 .module                 = HAL_MODULE_NAN,
451                 .license                = HAL_LICENSE_APACHE_2_0,
452                 .module_name            = "HAL_MODULE_NAN",
453                 .backend_module_name    = NULL,
454                 .library_name           = NULL,
455                 .library_name_64bit     = NULL,
456                 .symbol_name            = NULL,
457                 .num_abi_versions       = 0,
458                 .abi_versions           = NULL,
459                 .hal_api                = false,
460         },
461         [HAL_MODULE_NFC] = {
462                 .group                  = HAL_GROUP_CONNECTIVITY,
463                 .module                 = HAL_MODULE_NFC,
464                 .license                = HAL_LICENSE_APACHE_2_0,
465                 .module_name            = "HAL_MODULE_NFC",
466                 .backend_module_name    = "nfc",
467                 .library_name           = "/hal/lib/libhal-backend-nfc.so",
468                 .library_name_64bit     = "/hal/lib64/libhal-backend-nfc.so",
469                 .symbol_name            = "hal_backend_nfc_data",
470                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_NFC]),
471                 .abi_versions           = abi_version_match_data[HAL_MODULE_NFC],
472                 .hal_api                = true,
473         },
474         [HAL_MODULE_ZIGBEE] = {
475                 .group                  = HAL_GROUP_CONNECTIVITY,
476                 .module                 = HAL_MODULE_ZIGBEE,
477                 .license                = HAL_LICENSE_APACHE_2_0,
478                 .module_name            = "HAL_MODULE_ZIGBEE",
479                 .backend_module_name    = "zigbee",
480                 .library_name           = "/hal/lib/libhal-backend-zigbee.so",
481                 .library_name_64bit     = "/hal/lib64/libhal-backend-zigbee.so",
482                 .symbol_name            = "hal_backend_zigbee_data",
483                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_ZIGBEE]),
484                 .abi_versions           = abi_version_match_data[HAL_MODULE_ZIGBEE],
485                 .hal_api                = true,
486         },
487         [HAL_MODULE_UWB] = {
488                 .group                  = HAL_GROUP_CONNECTIVITY,
489                 .module                 = HAL_MODULE_UWB,
490                 .license                = HAL_LICENSE_APACHE_2_0,
491                 .module_name            = "HAL_MODULE_UWB",
492                 .backend_module_name    = "uwb",
493                 .library_name           = "/hal/lib/libhal-backend-uwb.so",
494                 .library_name_64bit     = "/hal/lib64/libhal-backend-uwb.so",
495                 .symbol_name            = "hal_backend_uwb_data",
496                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_UWB]),
497                 .abi_versions           = abi_version_match_data[HAL_MODULE_UWB],
498                 .hal_api                = true,
499         },
500         [HAL_MODULE_MTP] = {
501                 .group                  = HAL_GROUP_CONNECTIVITY,
502                 .module                 = HAL_MODULE_MTP,
503                 .license                = HAL_LICENSE_APACHE_2_0,
504                 .module_name            = "HAL_MODULE_MTP",
505                 .backend_module_name    = NULL,
506                 .library_name           = NULL,
507                 .library_name_64bit     = NULL,
508                 .symbol_name            = NULL,
509                 .num_abi_versions       = 0,
510                 .abi_versions           = NULL,
511                 .hal_api                = false,
512         },
513
514         /* HAL_GROUP_TELEPHONY */
515         [HAL_MODULE_TELEPHONY]          = {
516                 .group                  = HAL_GROUP_TELEPHONY,
517                 .module                 = HAL_MODULE_TELEPHONY,
518                 .license                = HAL_LICENSE_APACHE_2_0,
519                 .module_name            = "HAL_MODULE_TELEPHONY",
520                 .backend_module_name    = NULL,
521                 .library_name           = NULL,
522                 .library_name_64bit     = NULL,
523                 .symbol_name            = NULL,
524                 .num_abi_versions       = 0,
525                 .abi_versions           = NULL,
526                 .hal_api                = false,
527         },
528
529         /* HAL_GROUP_LOCATION */
530         [HAL_MODULE_LOCATION] = {
531                 .group                  = HAL_GROUP_LOCATION,
532                 .module                 = HAL_MODULE_LOCATION,
533                 .license                = HAL_LICENSE_APACHE_2_0,
534                 .module_name            = "HAL_MODULE_LOCATION",
535                 .backend_module_name    = "location",
536                 .library_name           = "/hal/lib/libhal-backend-location.so",
537                 .library_name_64bit     = "/hal/lib64/libhal-backend-location.so",
538                 .symbol_name            = "hal_backend_location_data",
539                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_LOCATION]),
540                 .abi_versions           = abi_version_match_data[HAL_MODULE_LOCATION],
541                 .hal_api                = true,
542         },
543
544         /* HAL_GROUP_SYSTEM */
545         [HAL_MODULE_COMMON] = {
546                 .group                  = HAL_GROUP_SYSTEM,
547                 .module                 = HAL_MODULE_COMMON,
548                 .license                = HAL_LICENSE_APACHE_2_0,
549                 .module_name            = "HAL_MODULE_COMMON",
550                 .backend_module_name    = NULL,
551                 .library_name           = NULL,
552                 .library_name_64bit     = NULL,
553                 .symbol_name            = NULL,
554                 .num_abi_versions       = 0,
555                 .abi_versions           = NULL,
556                 .hal_api                = true,
557         },
558         [HAL_MODULE_POWER] = {
559                 .group                  = HAL_GROUP_SYSTEM,
560                 .module                 = HAL_MODULE_POWER,
561                 .license                = HAL_LICENSE_APACHE_2_0,
562                 .module_name            = "HAL_MODULE_POWER",
563                 .backend_module_name    = "power",
564                 .library_name           = "/hal/lib/libhal-backend-power.so",
565                 .library_name_64bit     = "/hal/lib64/libhal-backend-power.so",
566                 .symbol_name            = "hal_backend_power_data",
567                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_POWER]),
568                 .abi_versions           = abi_version_match_data[HAL_MODULE_POWER],
569                 .hal_api                = true,
570         },
571         [HAL_MODULE_SENSOR] = {
572                 .group                  = HAL_GROUP_SYSTEM,
573                 .module                 = HAL_MODULE_SENSOR,
574                 .license                = HAL_LICENSE_APACHE_2_0,
575                 .module_name            = "HAL_MODULE_SENSOR",
576                 .backend_module_name    = "sensor",
577                 .library_name           = "/hal/lib/libhal-backend-sensor.so",
578                 .library_name_64bit     = "/hal/lib64/libhal-backend-sensor.so",
579                 .symbol_name            = "hal_backend_sensor_data",
580                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_SENSOR]),
581                 .abi_versions           = abi_version_match_data[HAL_MODULE_SENSOR],
582                 .hal_api                = true,
583         },
584         [HAL_MODULE_PERIPHERAL] = {
585                 .group                  = HAL_GROUP_SYSTEM,
586                 .module                 = HAL_MODULE_PERIPHERAL,
587                 .license                = HAL_LICENSE_APACHE_2_0,
588                 .module_name            = "HAL_MODULE_PERIPHERAL",
589                 .backend_module_name    = NULL,
590                 .library_name           = NULL,
591                 .library_name_64bit     = NULL,
592                 .symbol_name            = NULL,
593                 .num_abi_versions       = 0,
594                 .abi_versions           = NULL,
595                 .hal_api                = false,
596         },
597         [HAL_MODULE_DEVICE_BATTERY] = {
598                 .group                  = HAL_GROUP_SYSTEM,
599                 .module                 = HAL_MODULE_DEVICE_BATTERY,
600                 .license                = HAL_LICENSE_APACHE_2_0,
601                 .module_name            = "HAL_MODULE_DEVICE_BATTERY",
602                 .backend_module_name    = "device-battery",
603                 .library_name           = "/hal/lib/libhal-backend-device-battery.so",
604                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-battery.so",
605                 .symbol_name            = "hal_backend_device_battery_data",
606                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_BATTERY]),
607                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_BATTERY],
608                 .hal_api                = true,
609         },
610         [HAL_MODULE_DEVICE_BEZEL] = {
611                 .group                  = HAL_GROUP_SYSTEM,
612                 .module                 = HAL_MODULE_DEVICE_BEZEL,
613                 .license                = HAL_LICENSE_APACHE_2_0,
614                 .module_name            = "HAL_MODULE_DEVICE_BEZEL",
615                 .backend_module_name    = "device-bezel",
616                 .library_name           = "/hal/lib/libhal-backend-device-bezel.so",
617                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-bezel.so",
618                 .symbol_name            = "hal_backend_device_bezel_data",
619                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_BEZEL]),
620                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_BEZEL],
621                 .hal_api                = true,
622         },
623         [HAL_MODULE_DEVICE_DISPLAY] = {
624                 .group                  = HAL_GROUP_SYSTEM,
625                 .module                 = HAL_MODULE_DEVICE_DISPLAY,
626                 .license                = HAL_LICENSE_APACHE_2_0,
627                 .module_name            = "HAL_MODULE_DEVICE_DISPLAY",
628                 .backend_module_name    = "device-display",
629                 .library_name           = "/hal/lib/libhal-backend-device-display.so",
630                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-display.so",
631                 .symbol_name            = "hal_backend_device_display_data",
632                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_DISPLAY]),
633                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_DISPLAY],
634                 .hal_api                = true,
635         },
636         [HAL_MODULE_DEVICE_IR] = {
637                 .group                  = HAL_GROUP_SYSTEM,
638                 .module                 = HAL_MODULE_DEVICE_IR,
639                 .license                = HAL_LICENSE_APACHE_2_0,
640                 .module_name            = "HAL_MODULE_DEVICE_IR",
641                 .backend_module_name    = "device-ir",
642                 .library_name           = "/hal/lib/libhal-backend-device-ir.so",
643                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-ir.so",
644                 .symbol_name            = "hal_backend_device_ir_data",
645                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_IR]),
646                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_IR],
647                 .hal_api                = true,
648         },
649         [HAL_MODULE_DEVICE_TOUCHSCREEN] = {
650                 .group                  = HAL_GROUP_SYSTEM,
651                 .module                 = HAL_MODULE_DEVICE_TOUCHSCREEN,
652                 .license                = HAL_LICENSE_APACHE_2_0,
653                 .module_name            = "HAL_MODULE_DEVICE_TOUCHSCREEN",
654                 .backend_module_name    = "device-touchscreen",
655                 .library_name           = "/hal/lib/libhal-backend-device-touchscreen.so",
656                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-touchscreen.so",
657                 .symbol_name            = "hal_backend_device_touchscreen_data",
658                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_TOUCHSCREEN]),
659                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_TOUCHSCREEN],
660                 .hal_api                = true,
661         },
662         [HAL_MODULE_DEVICE_LED] = {
663                 .group                  = HAL_GROUP_SYSTEM,
664                 .module                 = HAL_MODULE_DEVICE_LED,
665                 .license                = HAL_LICENSE_APACHE_2_0,
666                 .module_name            = "HAL_MODULE_DEVICE_LED",
667                 .backend_module_name    = "device-led",
668                 .library_name           = "/hal/lib/libhal-backend-device-led.so",
669                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-led.so",
670                 .symbol_name            = "hal_backend_device_led_data",
671                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_LED]),
672                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_LED],
673                 .hal_api                = true,
674         },
675         [HAL_MODULE_DEVICE_BOARD] = {
676                 .group                  = HAL_GROUP_SYSTEM,
677                 .module                 = HAL_MODULE_DEVICE_BOARD,
678                 .license                = HAL_LICENSE_APACHE_2_0,
679                 .module_name            = "HAL_MODULE_DEVICE_BOARD",
680                 .backend_module_name    = "device-board",
681                 .library_name           = "/hal/lib/libhal-backend-device-board.so",
682                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-board.so",
683                 .symbol_name            = "hal_backend_device_board_data",
684                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_BOARD]),
685                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_BOARD],
686                 .hal_api                = true,
687         },
688         [HAL_MODULE_DEVICE_EXTERNAL_CONNECTION] = {
689                 .group                  = HAL_GROUP_SYSTEM,
690                 .module                 = HAL_MODULE_DEVICE_EXTERNAL_CONNECTION,
691                 .license                = HAL_LICENSE_APACHE_2_0,
692                 .module_name            = "HAL_MODULE_DEVICE_EXTERNAL_CONNECTION",
693                 .backend_module_name    = "device-external-connection",
694                 .library_name           = "/hal/lib/libhal-backend-device-external-connection.so",
695                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-external-connection.so",
696                 .symbol_name            = "hal_backend_device_external_connection_data",
697                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_EXTERNAL_CONNECTION]),
698                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_EXTERNAL_CONNECTION],
699                 .hal_api                = true,
700         },
701         [HAL_MODULE_DEVICE_THERMAL] = {
702                 .group                  = HAL_GROUP_SYSTEM,
703                 .module                 = HAL_MODULE_DEVICE_THERMAL,
704                 .license                = HAL_LICENSE_APACHE_2_0,
705                 .module_name            = "HAL_MODULE_DEVICE_THERMAL",
706                 .backend_module_name    = "device-thermal",
707                 .library_name           = "/hal/lib/libhal-backend-device-thermal.so",
708                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-thermal.so",
709                 .symbol_name            = "hal_backend_device_thermal_data",
710                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_THERMAL]),
711                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_THERMAL],
712                 .hal_api                = true,
713         },
714         [HAL_MODULE_DEVICE_USB_GADGET] = {
715                 .group                  = HAL_GROUP_SYSTEM,
716                 .module                 = HAL_MODULE_DEVICE_USB_GADGET,
717                 .license                = HAL_LICENSE_APACHE_2_0,
718                 .module_name            = "HAL_MODULE_DEVICE_USB_GADGET",
719                 .backend_module_name    = "device-usb-gadget",
720                 .library_name           = "/hal/lib/libhal-backend-device-usb-gadget.so",
721                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-usb-gadget.so",
722                 .symbol_name            = "hal_backend_device_usb_gadget_data",
723                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_USB_GADGET]),
724                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_USB_GADGET],
725                 .hal_api                = true,
726         },
727         [HAL_MODULE_DEVICE_HAPTIC] = {
728                 .group                  = HAL_GROUP_SYSTEM,
729                 .module                 = HAL_MODULE_DEVICE_HAPTIC,
730                 .license                = HAL_LICENSE_APACHE_2_0,
731                 .module_name            = "HAL_MODULE_DEVICE_HAPTIC",
732                 .backend_module_name    = "device-haptic",
733                 .library_name           = "/hal/lib/libhal-backend-device-haptic.so",
734                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-haptic.so",
735                 .symbol_name            = "hal_backend_device_haptic_data",
736                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_HAPTIC]),
737                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_HAPTIC],
738                 .hal_api                = true,
739         },
740         [HAL_MODULE_DEVICE_MEMORY] = {
741                 .group                  = HAL_GROUP_SYSTEM,
742                 .module                 = HAL_MODULE_DEVICE_MEMORY,
743                 .license                = HAL_LICENSE_APACHE_2_0,
744                 .module_name            = "HAL_MODULE_DEVICE_MEMORY",
745                 .backend_module_name    = "device-memory",
746                 .library_name           = "/hal/lib/libhal-backend-device-memory.so",
747                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-memory.so",
748                 .symbol_name            = "hal_backend_device_memory_data",
749                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_MEMORY]),
750                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_MEMORY],
751                 .hal_api                = true,
752         },
753         [HAL_MODULE_DEVICE_INPUT] = {
754                 .group                  = HAL_GROUP_SYSTEM,
755                 .module                 = HAL_MODULE_DEVICE_INPUT,
756                 .license                = HAL_LICENSE_APACHE_2_0,
757                 .module_name            = "HAL_MODULE_DEVICE_INPUT",
758                 .backend_module_name    = "device-input",
759                 .library_name           = "/hal/lib/libhal-backend-device-input.so",
760                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-input.so",
761                 .symbol_name            = "hal_backend_device_input_data",
762                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_INPUT]),
763                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_INPUT],
764                 .hal_api                = true,
765         },
766         [HAL_MODULE_DEVICE_POWER] = {
767                 .group                  = HAL_GROUP_SYSTEM,
768                 .module                 = HAL_MODULE_DEVICE_POWER,
769                 .license                = HAL_LICENSE_APACHE_2_0,
770                 .module_name            = "HAL_MODULE_DEVICE_POWER",
771                 .backend_module_name    = "device-power",
772                 .library_name           = "/hal/lib/libhal-backend-device-power.so",
773                 .library_name_64bit     = "/hal/lib64/libhal-backend-device-power.so",
774                 .symbol_name            = "hal_backend_device_power_data",
775                 .num_abi_versions       = ARRAY_SIZE(abi_version_match_data[HAL_MODULE_DEVICE_POWER]),
776                 .abi_versions           = abi_version_match_data[HAL_MODULE_DEVICE_POWER],
777                 .hal_api                = true,
778         },
779 };
780
781 #endif /* __HAL_API_LIST_H__ */