Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
[firefly-linux-kernel-4.4.55.git] / pack-kernel.sh
index e34829076ddbdb5aec8377c7f96c18d0291ea147..c6d52741330b9cff5d17d67322b5349f69e95091 100755 (executable)
 #!/bin/bash
 set -e
 
-FILES=(
-# arch
-arch/arm/mach-rk29/clock.c
-arch/arm/mach-rk29/ddr.c
-arch/arm/mach-rk29/vpu*.c
-arch/arm/mach-rk29/verifyID.c
-
-drivers/staging/rk29/ipp/rk29-ipp.c
-)
-
-DIRS=(
-drivers/staging/rk29/vivante/
-)
+# ---------------------------------------------------------------------------
+usage() {
+       echo "usage: $0 [rk2928|rk30|rk3066b]"
+       echo "example: $0 rk3066b"
+       exit
+}
 
-EXCLUDES=(
-arch/arm/mach-rk2818/*.c
-arch/arm/mach-rk2818/*.h
-arch/arm/mach-rk2818/include/mach
-arch/arm/configs/rk28*
-drivers/*rk28*.c
-sound/*rk28*.c
-sound/*rk28*.h
-include/*rk28*
+while getopts "h" options; do
+  case $options in
+    h ) usage;;
+  esac
+done
+# ---------------------------------------------------------------------------
 
-arch/arm/mach-rk29/ddr_reconfig.c
+# ---------------------------------------------------------------------------
+kerndir=$(cd .; pwd)   # get absolute path
+[ -d $kerndir ] || usage
 
-drivers/staging/rk29/vivante/*.c
-drivers/staging/rk29/vivante/*.h
+arch=${1}
+FILES=()
+DIRS=()
+EXCLUDES=()
 
-arch/arm/mach-rk29/board-rk29sdk.c
-arch/arm/configs/rk29_sdk_defconfig
-arch/arm/configs/rk29_sdk_yaffs2_defconfig
+if [ "$arch" == "rk30" ]; then
 
-arch/arm/mach-rk29/board-malata.c
-arch/arm/mach-rk29/board-rk29malata-key.c
-arch/arm/configs/rk29_malata_defconfig
+EXCLUDES=(
+arch/arm/mach-rk30/*rk3066b*
+arch/arm/mach-rk30/include/mach/*rk3066b*
 
-arch/arm/mach-rk29/board-rk29-winaccord.c
-arch/arm/configs/rk29_Winaccord_defconfig
+arch/arm/mach-rk29*/*.c
+arch/arm/mach-rk29*/*.h
+arch/arm/mach-rk29*/*.S
+arch/arm/mach-rk29*/Makefile*
+arch/arm/mach-rk29*/include
+arch/arm/configs/rk29*
 
-arch/arm/mach-rk29/board-rk29-a22*
-arch/arm/configs/rk29_a22_defconfig
+arch/arm/mach-rk30/board-rk30-phone-*
+arch/arm/configs/rk30_phone_*
 
-arch/arm/mach-rk29/board-rk29-fih*
-arch/arm/configs/rk29_FIH_defconfig
+arch/arm/configs/rk30_phonepad_c8003*
+)
 
-arch/arm/mach-rk29/board-rk29-k97*
-arch/arm/mach-rk29/board-rk29k97*
-arch/arm/configs/rk29_k97_defconfig
+defconfig=rk3066_sdk_defconfig
 
-arch/arm/mach-rk29/board-rk29-newton*
-arch/arm/mach-rk29/board-newton*
-arch/arm/configs/rk29_newton_defconfig
+elif [ "$arch" == "rk2928" ]; then
 
-arch/arm/mach-rk29/board-rk29-p91*
-arch/arm/configs/rk29_p91_defconfig
+EXCLUDES=(
+arch/arm/mach-rk30/*.c
+arch/arm/mach-rk30/*.h
+arch/arm/mach-rk30/*.S
+arch/arm/mach-rk30/*.inc
+arch/arm/mach-rk30/Makefile*
+arch/arm/mach-rk30/include
+arch/arm/configs/rk30*
+
+drivers/video/rockchip/lcdc/rk30*
+drivers/video/rockchip/hdmi/chips/rk30/rk30*
+drivers/video/rockchip/hdmi/chips/rk30/hdcp/rk30*
+
+arch/arm/mach-rk2928/board-rk2928-a720*
+arch/arm/configs/rk2928_a720_defconfig
+
+arch/arm/mach-rk2928/board-rk2928.c
+arch/arm/configs/rk2928_defconfig
+
+arch/arm/mach-rk2928/board-rk2928-phonepad*
+arch/arm/configs/rk2928_phonepad_defconfig
+)
 
-arch/arm/mach-rk29/board-rk29-phonesdk*
-arch/arm/configs/rk29_phonesdk_defconfig
+defconfig=rk2928_sdk_defconfig
 
-arch/arm/mach-rk29/board-rk29-td8801*
-arch/arm/configs/rk29_td8801_v2_defconfig
+elif [ "$arch" == "rk3066b" ]; then
 
-arch/arm/mach-rk29/board-rk29-z5*
-arch/arm/configs/rk29_z5_defconfig
+EXCLUDES=(
+arch/arm/mach-rk30/clock_data.c
+arch/arm/mach-rk30/board-rk30-ds*
+arch/arm/mach-rk30/board-rk30-phone*
+arch/arm/mach-rk30/board-rk30-sdk.c
+arch/arm/mach-rk30/board-rk30-sdk-tps65910.c
+arch/arm/mach-rk30/board-rk30-sdk-twl80032.c
+arch/arm/mach-rk30/board-rk30-sdk-rfkill.c
+arch/arm/mach-rk30/board-rk30-sdk-wm8326.c
+
+arch/arm/configs/rk30_*
+arch/arm/configs/rk3066_*
+
+arch/arm/mach-rk29*/*.c
+arch/arm/mach-rk29*/*.h
+arch/arm/mach-rk29*/*.S
+arch/arm/mach-rk29*/Makefile*
+arch/arm/mach-rk29*/include
+arch/arm/configs/rk29*
 )
 
-# ---------------------------------------------------------------------------
-usage() {
-       echo usage: $0 kerneldir defconfig
-       echo example: $0 . rk29_ddr3sdk_defconfig
-       exit
-}
-
-while getopts "h" options; do
-  case $options in
-    h ) usage;;
-  esac
-done
-# ---------------------------------------------------------------------------
-
-# ---------------------------------------------------------------------------
-kerndir=${1-.}
-kerndir=$(cd $kerndir; pwd)    # get absolute path
-[ -d $kerndir ] || usage
+defconfig=rk3168_tb_defconfig
 
-defconfig=${2-rk29_ddr3sdk_defconfig}
-if [ "$defconfig" = ".config" ]; then
-       [ -f $kerndir/.config ] || usage
 else
-       [ -f $kerndir/arch/arm/configs/$defconfig ] || usage
+       echo "unknown arch" && usage
 fi
+
+[ -f $kerndir/arch/arm/configs/$defconfig ] || usage
+
+COMMON_EXCLUDES=(
+pack-kernel*
+arch/arm/plat-rk/vpu*.c
+drivers/staging/rk29/vivante
+drivers/staging/rk29/ipp/rk29-ipp.c
+drivers/*rk28*.c
+include/*rk28*
+arch/arm/mach-rk3188/*.c
+arch/arm/mach-rk3188/*.h
+arch/arm/mach-rk3188/Makefile*
+arch/arm/mach-rk3188/include
+arch/arm/mach-rk29/*.c
+arch/arm/mach-rk29/*.h
+arch/arm/mach-rk29/*.S
+arch/arm/mach-rk29/Makefile*
+arch/arm/mach-rk29/include
+arch/arm/mach-rk*/*-fpga*
+arch/arm/mach-rk*/*-tb*
+arch/arm/configs/rk3188_*
+arch/arm/configs/rk29_*
+arch/arm/configs/*_fpga_*
+arch/arm/configs/*_tb_*
+)
 # ---------------------------------------------------------------------------
 
 # make .uu
@@ -105,13 +138,15 @@ for file in ${FILES[@]}; do
        [ -f ${file/.[cS]/.uu} ] && rm -f ${file/.[cS]/.uu}
 done
 
-for d in ${DIRS[@]}; do
-       [ -d $d ] && find $d -type f -name '*.uu' -print0 | xargs -0 rm -f
+for dir in ${DIRS[@]}; do
+       [ -d $dir ] && find $dir -type f -name '*.uu' -print0 | xargs -0 rm -f
 done
 
-echo build kernel on $kerndir with $defconfig
+echo build kernel on $kerndir with $defconfig, arch is $arch
 make clean >/dev/null 2>&1
 make $defconfig >/dev/null 2>&1
+
+[ -z "${files}${DIRS}" ] ||
 make -j`grep 'processor' /proc/cpuinfo | wc -l` ${files[@]/.[cS]/.o} ${DIRS[@]}
 
 for file in ${FILES[@]}; do
@@ -148,9 +183,12 @@ done
 for file in ${EXCLUDES[@]}; do
        echo "$file" >> $ex
 done
+for file in ${COMMON_EXCLUDES[@]}; do
+       echo "$file" >> $ex
+done
 echo TAR $(pwd)/$package
-tar cf $package --numeric-owner --exclude-from $ex --exclude=.git --exclude=`basename $0` $(basename $kerndir)
-tar rf $package --numeric-owner --exclude=.git prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
+tar cf $package --numeric-owner --exclude-from $ex --exclude=.git $(basename $kerndir)
+#tar rf $package --numeric-owner --exclude=.git prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
 echo GZIP $(pwd)/$package.gz
 gzip -9 -c $package > $package.gz
 rm $ex
@@ -159,5 +197,3 @@ popd >/dev/null
 rm -f $kerndir/.scmversion
 
 echo done
-
-