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