1 /*
2 * Arm SCP/MCP Software
3 * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8 #include <i2c_api.h>
9
10 #include <mod_f_i2c.h>
11
12 #include <fwk_id.h>
13 #include <fwk_log.h>
14 #include <fwk_module.h>
15 #include <fwk_status.h>
16
17 static struct mod_f_i2c_api module_api = {
18 .init = i2c_construction,
19 .recv_data = f_i2c_api_recv_data,
20 .send_data = f_i2c_api_send_data,
21 };
22
23 /*
24 * Framework handlers
25 */
26
f_i2c_init(fwk_id_t module_id,unsigned int element_count,const void * data)27 static int f_i2c_init(
28 fwk_id_t module_id,
29 unsigned int element_count,
30 const void *data)
31 {
32 return FWK_SUCCESS;
33 }
34
f_i2c_element_init(fwk_id_t element_id,unsigned int unused,const void * data)35 static int f_i2c_element_init(
36 fwk_id_t element_id,
37 unsigned int unused,
38 const void *data)
39 {
40 return FWK_SUCCESS;
41 }
42
f_i2c_process_bind_request(fwk_id_t requester_id,fwk_id_t target_id,fwk_id_t api_id,const void ** api)43 static int f_i2c_process_bind_request(
44 fwk_id_t requester_id,
45 fwk_id_t target_id,
46 fwk_id_t api_id,
47 const void **api)
48 {
49 *api = &module_api;
50
51 return FWK_SUCCESS;
52 }
53
f_i2c_start(fwk_id_t id)54 static int f_i2c_start(fwk_id_t id)
55 {
56 return FWK_SUCCESS;
57 }
58
59 const struct fwk_module module_f_i2c = {
60 .type = FWK_MODULE_TYPE_DRIVER,
61 .api_count = 1,
62 .init = f_i2c_init,
63 .element_init = f_i2c_element_init,
64 .start = f_i2c_start,
65 .process_bind_request = f_i2c_process_bind_request,
66 };
67