[RAMEN9610-20413][9610] wlbt: SCSC Driver version 10.6.1.0
[GitHub/MotorolaMobilityLLC/kernel-slsi.git] / drivers / misc / samsung / kic / slsi_kic_sap_wifi.c
1 /****************************************************************************
2 *
3 * Copyright (c) 2014 - 2016 Samsung Electronics Co., Ltd. All rights reserved
4 *
5 ****************************************************************************/
6
7 #include "slsi_kic_internal.h"
8
9 int slsi_kic_wifi_ops_register(void *priv, struct slsi_kic_wifi_ops *wifi_ops)
10 {
11 struct slsi_kic_pdata *kic_inst = slsi_kic_core_get_context();
12
13 if (!kic_inst)
14 return -EFAULT;
15
16 mutex_lock(&kic_inst->wifi_ops_tuple.ops_mutex);
17 memcpy(&kic_inst->wifi_ops_tuple.wifi_ops, wifi_ops, sizeof(struct slsi_kic_wifi_ops));
18 kic_inst->wifi_ops_tuple.priv = priv;
19 mutex_unlock(&kic_inst->wifi_ops_tuple.ops_mutex);
20 return 0;
21 }
22 EXPORT_SYMBOL(slsi_kic_wifi_ops_register);
23
24 void slsi_kic_wifi_ops_unregister(struct slsi_kic_wifi_ops *wifi_ops)
25 {
26 struct slsi_kic_pdata *kic_inst = slsi_kic_core_get_context();
27
28 OS_UNUSED_PARAMETER(wifi_ops);
29
30 if (!kic_inst)
31 return;
32
33 mutex_lock(&kic_inst->wifi_ops_tuple.ops_mutex);
34 memset(&kic_inst->wifi_ops_tuple.wifi_ops, 0, sizeof(struct slsi_kic_wifi_ops));
35 kic_inst->wifi_ops_tuple.priv = NULL;
36 mutex_unlock(&kic_inst->wifi_ops_tuple.ops_mutex);
37 }
38 EXPORT_SYMBOL(slsi_kic_wifi_ops_unregister);