1#!/bin/bash 2 3# Author: Xianjun Jiao 4# SPDX-FileCopyrightText: 2019 UGent 5# SPDX-License-Identifier: AGPL-3.0-or-later 6 7if [ "$#" -ne 2 ]; then 8 echo "You must enter exactly 2 arguments: \$XILINX_DIR \$ARCH(32 or 64)" 9 exit 1 10fi 11 12WORKDIR=$PWD 13OPENWIFI_DIR=$(pwd)/../../ 14XILINX_DIR=$1 15ARCH_OPTION=$2 16 17set -x 18 19if [ -f "$OPENWIFI_DIR/LICENSE" ]; then 20 echo "\$OPENWIFI_DIR is found!" 21else 22 echo "\$OPENWIFI_DIR is not correct. Please check!" 23 exit 1 24fi 25 26if [ -d "$XILINX_DIR/SDK" ]; then 27 echo "\$XILINX_DIR is found!" 28else 29 echo "\$XILINX_DIR is not correct. Please check!" 30 exit 1 31fi 32 33if [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then 34 echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!" 35 exit 1 36else 37 echo "\$ARCH_OPTION is valid!" 38fi 39 40source $XILINX_DIR/SDK/2018.3/settings64.sh 41if [ "$ARCH_OPTION" == "64" ]; then 42 KDIR=$OPENWIFI_DIR/adi-linux-64/ 43 export ARCH=arm64 44 export CROSS_COMPILE=aarch64-linux-gnu- 45else 46 KDIR=$OPENWIFI_DIR/adi-linux/ 47 export ARCH=arm 48 export CROSS_COMPILE=arm-linux-gnueabihf- 49fi 50 51SUBMODULE=xilinx_dma 52 53cp $KDIR/drivers/dma/xilinx/xilinx_dma.c $KDIR/drivers/dma/xilinx/xilinx_dma.c.bak 54cp xilinx_dma.c $KDIR/drivers/dma/xilinx -rf 55cd $KDIR 56make $KDIR/drivers/dma/xilinx/$SUBMODULE.ko 57cp $KDIR/drivers/dma/xilinx/$SUBMODULE.ko $WORKDIR -rf 58# cp $KDIR/drivers/dma/xilinx/xilinx_dma.c.bak $KDIR/drivers/dma/xilinx/xilinx_dma.c 59cd $WORKDIR 60ls $SUBMODULE.ko 61