blob: 53438be36ad544fc951e463adfd3c416ba5accb2 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* Copyright Statement:
2*
3* This software/firmware and related documentation ("MediaTek Software") are
4* protected under relevant copyright laws. The information contained herein is
5* confidential and proprietary to MediaTek Inc. and/or its licensors. Without
6* the prior written permission of MediaTek inc. and/or its licensors, any
7* reproduction, modification, use or disclosure of MediaTek Software, and
8* information contained herein, in whole or in part, shall be strictly
9* prohibited.
10*
11* MediaTek Inc. (C) 2014. All rights reserved.
12*
13* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
14* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
15* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
16* ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
17* WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
19* NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
20* RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
21* INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
22* TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
23* RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
24* OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
25* SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
26* RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
27* STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
28* ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
29* RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
30* MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
31* CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
32*
33* The following software/firmware and/or related documentation ("MediaTek
34* Software") have been modified by MediaTek Inc. All revisions are subject to
35* any receiver's applicable license agreements with MediaTek Inc.
36*/
37
38/*
39*ANT radio driver kernel module insmod file for wmt dynamic loader
40*/
41#include <stdlib.h>
42#include <stdio.h>
43#include <fcntl.h>
44#include <errno.h>
45#include <unistd.h>
46#include <cutils/misc.h>
47
48//For directory operation
49#include <dirent.h>
50
51#define ANT_MODULES_PATH "/system/lib/modules/mtk_stp_ant.ko"
52extern int load_ant_module(int chip_id);
53extern int init_module(void *, unsigned long, const char *);
54
55//insmod
56static int insmod(const char *filename, const char *args)
57{
58 void *module;
59 unsigned int size;
60 int ret = -1;
61 int retry = 10;
62
63 printf("filename(%s)\n",filename);
64
65 module = load_file(filename, &size);
66 if (!module)
67 {
68 printf("load file fail\n");
69 return -1;
70 }
71
72 while(retry-- > 0){
73 ret = init_module(module, size, args);
74
75 if(ret < 0)
76 {
77 printf("insmod module fail(%d)\n",ret);
78 usleep(10000);
79 }
80 else
81 break;
82
83 }
84
85 free(module);
86
87 return ret;
88}
89
90
91int load_ant_module(int chip_id)
92{
93 int ret = -1;
94 ret = insmod(ANT_MODULES_PATH, "");
95 if(ret)
96 {
97 printf("insert mtk_ant_drv.ko fail(%d)\n",ret);
98 }
99 else
100 {
101 printf("insert mtk_ant_drv.ko ok\n");
102 }
103 return ret;
104}
105