xref: /utopia/UTPA2-700.0.x/projects/build/CreateKsym.sh (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi# How to use:
2*53ee8cc1Swenshuai.xi#@sh    CreateKsym.sh
3*53ee8cc1Swenshuai.xi# step:
4*53ee8cc1Swenshuai.xi# 1. build utpa2k.ko first
5*53ee8cc1Swenshuai.xi# 2. run script
6*53ee8cc1Swenshuai.xi# 3. (if necessary) fix symbol which is exported twice
7*53ee8cc1Swenshuai.xi# 4. mv Ksym/Ksym.c to /modules/msos/msos/linux_kernel_V2
8*53ee8cc1Swenshuai.xi# 5. rebuild utpa2k.ko
9*53ee8cc1Swenshuai.xi
10*53ee8cc1Swenshuai.xifunction CreateKsymCFile()
11*53ee8cc1Swenshuai.xi{
12*53ee8cc1Swenshuai.xi    if [ -e Ksym ];then
13*53ee8cc1Swenshuai.xi        rm -rf Ksym
14*53ee8cc1Swenshuai.xi    fi
15*53ee8cc1Swenshuai.xi    rm -f nm_symbol.txt preprocess.txt
16*53ee8cc1Swenshuai.xi    mkdir Ksym
17*53ee8cc1Swenshuai.xi    echo "#include \"MsTypes.h\"" >> Ksym/Ksym.c
18*53ee8cc1Swenshuai.xi    echo "#include \"MsCommon.h\"" >> Ksym/Ksym.c
19*53ee8cc1Swenshuai.xi    echo "#include \"MLog.h\"" >> Ksym/Ksym.c
20*53ee8cc1Swenshuai.xi    echo "#include \"apiACP.h\"" >> Ksym/Ksym.c
21*53ee8cc1Swenshuai.xi    echo "#include \"apiAUDIO.h\"" >> Ksym/Ksym.c
22*53ee8cc1Swenshuai.xi    echo "#include \"apiCEC.h\"" >> Ksym/Ksym.c
23*53ee8cc1Swenshuai.xi    echo "#include \"apiDAC.h\"" >> Ksym/Ksym.c
24*53ee8cc1Swenshuai.xi    echo "#include \"drvDAC.h\"" >> Ksym/Ksym.c
25*53ee8cc1Swenshuai.xi    echo "#include \"apiDMS.h\"" >> Ksym/Ksym.c
26*53ee8cc1Swenshuai.xi    echo "#include \"apiDMX.h\"" >> Ksym/Ksym.c
27*53ee8cc1Swenshuai.xi    echo "#include \"apiDMX_tee.h\"" >> Ksym/Ksym.c
28*53ee8cc1Swenshuai.xi    echo "#include \"apiDMX_tsio.h\"" >> Ksym/Ksym.c
29*53ee8cc1Swenshuai.xi   ## echo "#include \"apiGFX.h\"" >> Ksym/Ksym.c
30*53ee8cc1Swenshuai.xi    echo "#include \"apiGOP.h\"" >> Ksym/Ksym.c
31*53ee8cc1Swenshuai.xi    echo "#include \"apiGOPSC_Ex.h\"" >> Ksym/Ksym.c
32*53ee8cc1Swenshuai.xi    echo "#include \"apiGOP_SC.h\"" >> Ksym/Ksym.c
33*53ee8cc1Swenshuai.xi    echo "#include \"apiGPD.h\"" >> Ksym/Ksym.c
34*53ee8cc1Swenshuai.xi    echo "#include \"apiGPD_v2.h\"" >> Ksym/Ksym.c
35*53ee8cc1Swenshuai.xi    echo "#include \"apiHDMITx.h\"" >> Ksym/Ksym.c
36*53ee8cc1Swenshuai.xi    echo "#include \"apiHDMITx2.h\"" >> Ksym/Ksym.c
37*53ee8cc1Swenshuai.xi    echo "#include \"apiJPEG.h\"" >> Ksym/Ksym.c
38*53ee8cc1Swenshuai.xi    echo "#include \"apiJPEG_v2.h\"" >> Ksym/Ksym.c
39*53ee8cc1Swenshuai.xi    echo "#include \"apiLD.h\"" >> Ksym/Ksym.c
40*53ee8cc1Swenshuai.xi    echo "#include \"drvMBX.h\"" >> Ksym/Ksym.c
41*53ee8cc1Swenshuai.xi    echo "#include \"apiMFE_v2.h\"" >> Ksym/Ksym.c
42*53ee8cc1Swenshuai.xi    echo "#include \"apiMHL.h\"" >> Ksym/Ksym.c
43*53ee8cc1Swenshuai.xi    echo "#include \"apiPNL.h\"" >> Ksym/Ksym.c
44*53ee8cc1Swenshuai.xi    echo "#include \"apiPNL_EX.h\"" >> Ksym/Ksym.c
45*53ee8cc1Swenshuai.xi    echo "#include \"apiSWI2C.h\"" >> Ksym/Ksym.c
46*53ee8cc1Swenshuai.xi    echo "#include \"apiVDEC.h\"" >> Ksym/Ksym.c
47*53ee8cc1Swenshuai.xi    echo "#include \"apiVDEC_EX.h\"" >> Ksym/Ksym.c
48*53ee8cc1Swenshuai.xi    echo "#include \"apiVDEC_EX_v2.h\"" >> Ksym/Ksym.c
49*53ee8cc1Swenshuai.xi    echo "#include \"apiVOIPMFE.h\"" >> Ksym/Ksym.c
50*53ee8cc1Swenshuai.xi    echo "#include \"apiXC.h\"" >> Ksym/Ksym.c
51*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Ace.h\"" >> Ksym/Ksym.c
52*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Ace_EX.h\"" >> Ksym/Ksym.c
53*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Adc.h\"" >> Ksym/Ksym.c
54*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_EX.h\"" >> Ksym/Ksym.c
55*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Adc_EX.h\"" >> Ksym/Ksym.c
56*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Auto.h\"" >> Ksym/Ksym.c
57*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Auto_EX.h\"" >> Ksym/Ksym.c
58*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_DWIN.h\"" >> Ksym/Ksym.c
59*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_PCMonitor.h\"" >> Ksym/Ksym.c
60*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_ModeParse.h\"" >> Ksym/Ksym.c
61*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_DWIN_EX.h\"" >> Ksym/Ksym.c
62*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Dlc.h\"" >> Ksym/Ksym.c
63*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_ModeParse_EX.h\"" >> Ksym/Ksym.c
64*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_PCMonitor_EX.h\"" >> Ksym/Ksym.c
65*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_VMark.h\"" >> Ksym/Ksym.c
66*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_VMark_EX.h\"" >> Ksym/Ksym.c
67*53ee8cc1Swenshuai.xi    echo "#include \"asmCPU.h\"" >> Ksym/Ksym.c
68*53ee8cc1Swenshuai.xi    echo "#include \"drvAESDMA.h\"" >> Ksym/Ksym.c
69*53ee8cc1Swenshuai.xi    echo "#include \"drvCIPHER.h\"" >> Ksym/Ksym.c
70*53ee8cc1Swenshuai.xi    echo "#include \"drvAUDIO.h\"" >> Ksym/Ksym.c
71*53ee8cc1Swenshuai.xi    echo "#include \"drvAVD.h\"" >> Ksym/Ksym.c
72*53ee8cc1Swenshuai.xi    echo "#include \"drvBDMA.h\"" >> Ksym/Ksym.c
73*53ee8cc1Swenshuai.xi    echo "#include \"drvCA.h\"" >> Ksym/Ksym.c
74*53ee8cc1Swenshuai.xi    echo "#include \"drvCA_v2.h\"" >> Ksym/Ksym.c
75*53ee8cc1Swenshuai.xi    echo "#include \"drvCH34.h\"" >> Ksym/Ksym.c
76*53ee8cc1Swenshuai.xi    echo "#include \"drvCIPHER_v2.h\"" >> Ksym/Ksym.c
77*53ee8cc1Swenshuai.xi    echo "#include \"drvCLKM.h\"" >> Ksym/Ksym.c
78*53ee8cc1Swenshuai.xi    echo "#include \"drvCMAPool_v2.h\"" >> Ksym/Ksym.c
79*53ee8cc1Swenshuai.xi    echo "#include \"drvCMDQ.h\"" >> Ksym/Ksym.c
80*53ee8cc1Swenshuai.xi    echo "#include \"drvCPU.h\"" >> Ksym/Ksym.c
81*53ee8cc1Swenshuai.xi    echo "#include \"drvDDC2BI.h\"" >> Ksym/Ksym.c
82*53ee8cc1Swenshuai.xi    echo "#include \"drvDIP.h\"" >> Ksym/Ksym.c
83*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_ATSC.h\"" >> Ksym/Ksym.c
84*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_ATSC_v2.h\"" >> Ksym/Ksym.c
85*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_DTMB.h\"" >> Ksym/Ksym.c
86*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_DTMB_v2.h\"" >> Ksym/Ksym.c
87*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_common.h\"" >> Ksym/Ksym.c
88*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_ISDBT.h\"" >> Ksym/Ksym.c
89*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_ISDBT_v2.h\"" >> Ksym/Ksym.c
90*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_VD_MBX.h\"" >> Ksym/Ksym.c
91*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_ATSC.h\"" >> Ksym/Ksym.c
92*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBC.h\"" >> Ksym/Ksym.c
93*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBC_v2.h\"" >> Ksym/Ksym.c
94*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBS.h\"" >> Ksym/Ksym.c
95*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBS_v2.h\"" >> Ksym/Ksym.c
96*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBT.h\"" >> Ksym/Ksym.c
97*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBT_v2.h\"" >> Ksym/Ksym.c
98*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBT2.h\"" >> Ksym/Ksym.c
99*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_INTERN_DVBT2_v2.h\"" >> Ksym/Ksym.c
100*53ee8cc1Swenshuai.xi    echo "#include \"drvDSCMB.h\"" >> Ksym/Ksym.c
101*53ee8cc1Swenshuai.xi    echo "#include \"drvDSCMB_v2.h\"" >> Ksym/Ksym.c
102*53ee8cc1Swenshuai.xi    echo "#include \"drvEMMFlt.h\"" >> Ksym/Ksym.c
103*53ee8cc1Swenshuai.xi    echo "#include \"drvGPIO.h\"" >> Ksym/Ksym.c
104*53ee8cc1Swenshuai.xi    echo "#include \"drvHDCP.h\"" >> Ksym/Ksym.c
105*53ee8cc1Swenshuai.xi    echo "#include \"drvHVD.h\"" >> Ksym/Ksym.c
106*53ee8cc1Swenshuai.xi    echo "#include \"drvHWI2C.h\"" >> Ksym/Ksym.c
107*53ee8cc1Swenshuai.xi    echo "#include \"drvIPAUTH.h\"" >> Ksym/Ksym.c
108*53ee8cc1Swenshuai.xi    echo "#include \"drvIR.h\"" >> Ksym/Ksym.c
109*53ee8cc1Swenshuai.xi    echo "#include \"drvIRQ.h\"" >> Ksym/Ksym.c
110*53ee8cc1Swenshuai.xi    echo "#include \"drvLDM.h\"" >> Ksym/Ksym.c
111*53ee8cc1Swenshuai.xi    echo "#include \"drvMFC.h\"" >> Ksym/Ksym.c
112*53ee8cc1Swenshuai.xi    ###echo "#include \"drvMIU.h\"" >> Ksym/Ksym.c
113*53ee8cc1Swenshuai.xi    echo "#include \"drvMMIO.h\"" >> Ksym/Ksym.c
114*53ee8cc1Swenshuai.xi    echo "#include \"drvMPIF.h\"" >> Ksym/Ksym.c
115*53ee8cc1Swenshuai.xi    echo "#include \"drvMSPI.h\"" >> Ksym/Ksym.c
116*53ee8cc1Swenshuai.xi    echo "#include \"drvMVD.h\"" >> Ksym/Ksym.c
117*53ee8cc1Swenshuai.xi    echo "#include \"drvMVOP.h\"" >> Ksym/Ksym.c
118*53ee8cc1Swenshuai.xi    echo "#include \"drvMVOP_v2.h\"" >> Ksym/Ksym.c
119*53ee8cc1Swenshuai.xi    echo "#include \"drvNDS.h\"" >> Ksym/Ksym.c
120*53ee8cc1Swenshuai.xi    echo "#include \"drvNSK2.h\"" >> Ksym/Ksym.c
121*53ee8cc1Swenshuai.xi    echo "#include \"drvPARFLASH.h\"" >> Ksym/Ksym.c
122*53ee8cc1Swenshuai.xi    echo "#include \"drvPCMCIA.h\"" >> Ksym/Ksym.c
123*53ee8cc1Swenshuai.xi    echo "#include \"drvPM.h\"" >> Ksym/Ksym.c
124*53ee8cc1Swenshuai.xi    ##lsy++
125*53ee8cc1Swenshuai.xi    ##echo "#include \"drvPQ.h\"" >> Ksym/Ksym.c
126*53ee8cc1Swenshuai.xi    ##echo "#include \"drvPQ_cus.h\"" >> Ksym/Ksym.c
127*53ee8cc1Swenshuai.xi    echo "#include \"drvPVR_IframeLUT.h\"" >> Ksym/Ksym.c
128*53ee8cc1Swenshuai.xi    echo "#include \"drvPWM.h\"" >> Ksym/Ksym.c
129*53ee8cc1Swenshuai.xi    echo "#include \"drvPWS.h\"" >> Ksym/Ksym.c
130*53ee8cc1Swenshuai.xi    echo "#include \"drvRTC.h\"" >> Ksym/Ksym.c
131*53ee8cc1Swenshuai.xi    echo "#include \"drvRVD.h\"" >> Ksym/Ksym.c
132*53ee8cc1Swenshuai.xi    echo "#include \"drvSAR.h\"" >> Ksym/Ksym.c
133*53ee8cc1Swenshuai.xi    echo "#include \"drvSC.h\"" >> Ksym/Ksym.c
134*53ee8cc1Swenshuai.xi    echo "#include \"drvSEAL.h\"" >> Ksym/Ksym.c
135*53ee8cc1Swenshuai.xi    echo "#include \"drvSEM.h\"" >> Ksym/Ksym.c
136*53ee8cc1Swenshuai.xi    echo "#include \"drvSERFLASH.h\"" >> Ksym/Ksym.c
137*53ee8cc1Swenshuai.xi    echo "#include \"drvSMBX.h\"" >> Ksym/Ksym.c
138*53ee8cc1Swenshuai.xi    echo "#include \"drvSYS.h\"" >> Ksym/Ksym.c
139*53ee8cc1Swenshuai.xi    echo "#include \"drvTCF.h\"" >> Ksym/Ksym.c
140*53ee8cc1Swenshuai.xi    echo "#include \"drvTVEncoder.h\"" >> Ksym/Ksym.c
141*53ee8cc1Swenshuai.xi    echo "#include \"drvUART.h\"" >> Ksym/Ksym.c
142*53ee8cc1Swenshuai.xi    echo "#include \"drvURDMA.h\"" >> Ksym/Ksym.c
143*53ee8cc1Swenshuai.xi    echo "#include \"drvVBI.h\"" >> Ksym/Ksym.c
144*53ee8cc1Swenshuai.xi    echo "#include \"drvVIF.h\"" >> Ksym/Ksym.c
145*53ee8cc1Swenshuai.xi    echo "#include \"drvWBLE.h\"" >> Ksym/Ksym.c
146*53ee8cc1Swenshuai.xi    echo "#include \"drvWDT.h\"" >> Ksym/Ksym.c
147*53ee8cc1Swenshuai.xi    echo "#include \"drvXC_HDMI_if.h\"" >> Ksym/Ksym.c
148*53ee8cc1Swenshuai.xi    echo "#include \"drvXC_HDMI_if_EX.h\"" >> Ksym/Ksym.c
149*53ee8cc1Swenshuai.xi    echo "#include \"drv_IR_TX.h\"" >> Ksym/Ksym.c
150*53ee8cc1Swenshuai.xi    echo "#include \"drv_gop_sc.h\"" >> Ksym/Ksym.c
151*53ee8cc1Swenshuai.xi    ###echo "#include \"apiGFX.h\"" >> Ksym/Ksym.c
152*53ee8cc1Swenshuai.xi    echo "#include \"apiVDEC_EX.h\"" >> Ksym/Ksym.c
153*53ee8cc1Swenshuai.xi    echo "#include \"apiXC.h\"" >> Ksym/Ksym.c
154*53ee8cc1Swenshuai.xi    echo "#include \"drvCIPHER.h\"" >> Ksym/Ksym.c
155*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_common.h\"" >> Ksym/Ksym.c
156*53ee8cc1Swenshuai.xi    echo "#include \"drvLDM.h\"" >> Ksym/Ksym.c
157*53ee8cc1Swenshuai.xi    echo "#include \"drvSAR.h\"" >> Ksym/Ksym.c
158*53ee8cc1Swenshuai.xi    echo "#include \"drvTVEncoder.h\"" >> Ksym/Ksym.c
159*53ee8cc1Swenshuai.xi    echo "#include \"MsOS.h\"" >> Ksym/Ksym.c
160*53ee8cc1Swenshuai.xi    echo "#include \"apiAUDIO.h\"" >> Ksym/Ksym.c
161*53ee8cc1Swenshuai.xi    echo "#include \"apiDAC.h\"" >> Ksym/Ksym.c
162*53ee8cc1Swenshuai.xi    echo "#include \"apiDMS.h\"" >> Ksym/Ksym.c
163*53ee8cc1Swenshuai.xi    echo "#include \"apiDMX.h\"" >> Ksym/Ksym.c
164*53ee8cc1Swenshuai.xi    echo "#include \"apiGOP.h\"" >> Ksym/Ksym.c
165*53ee8cc1Swenshuai.xi    echo "#include \"apiPNL.h\"" >> Ksym/Ksym.c
166*53ee8cc1Swenshuai.xi    echo "#include \"apiXC.h\"" >> Ksym/Ksym.c
167*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_DWIN.h\"" >> Ksym/Ksym.c
168*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_Dlc.h\"" >> Ksym/Ksym.c
169*53ee8cc1Swenshuai.xi    echo "#include \"drvDMD_ATSC.h\"" >> Ksym/Ksym.c
170*53ee8cc1Swenshuai.xi    echo "#include \"drvMVOP.h\"" >> Ksym/Ksym.c
171*53ee8cc1Swenshuai.xi    echo "#include \"apiGOP.h\"" >> Ksym/Ksym.c
172*53ee8cc1Swenshuai.xi    echo "#include \"apiXC_DBC.h\"" >> Ksym/Ksym.c
173*53ee8cc1Swenshuai.xi    echo "#include \"apiMBX.h\"" >> Ksym/Ksym.c
174*53ee8cc1Swenshuai.xi    echo "#include \"cusSAR.h\"" >> Ksym/Ksym.c
175*53ee8cc1Swenshuai.xi    arm-none-linux-gnueabi-nm utpa2k.ko | grep " T " | awk '{print $3}' | grep "^M[Dd]rv\|^M[Aa]pi\|^MsOS" | awk '{print "EXPORT_SYMBOL("$1");"}' > nm_symbol.txt
176*53ee8cc1Swenshuai.xi    find $PWD/../../mxlib/include/ -name "*.h" | xargs gcc -fpreprocessed -dD -E > preprocess.txt
177*53ee8cc1Swenshuai.xi    ##lsy++
178*53ee8cc1Swenshuai.xi    ##find $PWD/../../modules/pq -name "drvPQ.h" | xargs gcc -fpreprocessed -dD -E >> preprocess.txt
179*53ee8cc1Swenshuai.xi    ##find $PWD/../../modules/pq -name "drvPQ_cus.h" | xargs gcc -fpreprocessed -dD -E >> preprocess.txt
180*53ee8cc1Swenshuai.xi    grep "^\s*\#if\|^\s*\#ifdef\|^\s*\#else\|^\s*\#elif\|^\s*\#endif\|\s\s*\**M[Dd]rv_.*[;,]$\|\s\s*\**M[Aa]pi_.*[;,]$\|\s\s*MsOS_.*[;,]$" preprocess.txt | \
181*53ee8cc1Swenshuai.xi        sed 's/^[ ]*//g' | \
182*53ee8cc1Swenshuai.xi        grep -v "\#define\|typedef" | \
183*53ee8cc1Swenshuai.xi        grep -v "\\\\" | \
184*53ee8cc1Swenshuai.xi        awk 'BEGIN{FS="("}{if(substr($1,1,1)=="#"){print}else{if(NF>1){for(i=1;i<=(NF-1);i++){if((match($i,"M[Dd]rv_")>0)||(match($i,"M[Aa]pi_")>0)||(match($i,"MsOS_")>0))print $i}}}}' | \
185*53ee8cc1Swenshuai.xi        sed 's/[*]*//g' | \
186*53ee8cc1Swenshuai.xi        awk '{if(substr($1,1,1)=="#"){print}else{print "EXPORT_SYMBOL("$NF");";}}' \
187*53ee8cc1Swenshuai.xi        >> Ksym/Ksym.c
188*53ee8cc1Swenshuai.xi    mv Ksym/Ksym.c Ksym/Ksym_tmp.c
189*53ee8cc1Swenshuai.xi    while read line
190*53ee8cc1Swenshuai.xi    do
191*53ee8cc1Swenshuai.xi        echo $line | grep "^\#ifndef.*_H_$\|^\#ifndef.*_H$\|^\#ifndef.*_H__$" -q
192*53ee8cc1Swenshuai.xi        if [ $? == "0" ] ; then
193*53ee8cc1Swenshuai.xi            echo $line | sed 's/#ifndef/#ifdef/g' >> Ksym/Ksym.c
194*53ee8cc1Swenshuai.xi            continue
195*53ee8cc1Swenshuai.xi        fi
196*53ee8cc1Swenshuai.xi        echo $line | grep "^#" -q
197*53ee8cc1Swenshuai.xi        if [ $? == "0" ] ; then
198*53ee8cc1Swenshuai.xi            echo $line >> Ksym/Ksym.c
199*53ee8cc1Swenshuai.xi            continue
200*53ee8cc1Swenshuai.xi        fi
201*53ee8cc1Swenshuai.xi        grep "$line" nm_symbol.txt -q
202*53ee8cc1Swenshuai.xi        if [ $? == "0" ] ; then
203*53ee8cc1Swenshuai.xi            echo $line >> Ksym/Ksym.c
204*53ee8cc1Swenshuai.xi        fi
205*53ee8cc1Swenshuai.xi    done < Ksym/Ksym_tmp.c
206*53ee8cc1Swenshuai.xi    rm Ksym/Ksym_tmp.c
207*53ee8cc1Swenshuai.xi# exception start
208*53ee8cc1Swenshuai.xi# function
209*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_set_high);" >> Ksym/Ksym.c
210*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_set_low);" >> Ksym/Ksym.c
211*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_set_input);" >> Ksym/Ksym.c
212*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_init);" >> Ksym/Ksym.c
213*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_get_level);" >> Ksym/Ksym.c
214*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(mdrv_gpio_get_inout);" >> Ksym/Ksym.c
215*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(MAsm_CPU_GetTrailOne);" >> Ksym/Ksym.c
216*53ee8cc1Swenshuai.xi    ##echo "EXPORT_SYMBOL(MsAPI_CecTxSendPollingMsg);" >> Ksym/Ksym.c
217*53ee8cc1Swenshuai.xi# global var
218*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_IPanel);" >> Ksym/Ksym.c
219*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_IPanelEx);" >> Ksym/Ksym.c
220*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_ACPMissingCounter);" >> Ksym/Ksym.c
221*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_AVMUTEMissingCounter);" >> Ksym/Ksym.c
222*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_AVIMissingCounter);" >> Ksym/Ksym.c
223*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(g_HdmiPollingStatus);" >> Ksym/Ksym.c
224*53ee8cc1Swenshuai.xi    echo "EXPORT_SYMBOL(MDrv_DAC_SetOutputSwapSel);" >> Ksym/Ksym.c
225*53ee8cc1Swenshuai.xi# exception end
226*53ee8cc1Swenshuai.xi}
227*53ee8cc1Swenshuai.xiCreateKsymCFile
228