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