camera:arm_crop select wrong zone,fix it
[firefly-linux-kernel-4.4.55.git] / pack-kernel.sh
index 83462cecc1f308cd838877b647ef103a830f85c8..a586e517a055c8f724d4a8e024408592835f12ec 100755 (executable)
@@ -1,57 +1,10 @@
 #!/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/vpu_mem.c
-
-drivers/staging/rk29/ipp/rk29-ipp.c
-sound/soc/codecs/rt5625.c
-)
-
-DIRS=(
-drivers/staging/rk29/vivante/
-)
-
-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*
-
-drivers/staging/rk29/vivante/*.c
-drivers/staging/rk29/vivante/*.h
-
-arch/arm/configs/rk29_sdk_yaffs2_defconfig
-
-arch/arm/mach-rk29/board-malata.c
-arch/arm/mach-rk29/board-rk29malata-key.c
-arch/arm/configs/rk29_malata_defconfig
-
-arch/arm/mach-rk29/board-rk29-winaccord.c
-arch/arm/configs/rk29_Winaccord_defconfig
-
-arch/arm/mach-rk29/board-rk29-a22*
-arch/arm/configs/rk29_a22_defconfig
-
-arch/arm/mach-rk29/board-rk29-fih*
-arch/arm/configs/rk29_FIH_defconfig
-
-arch/arm/mach-rk29/board-rk29-newton*
-arch/arm/configs/rk29_newton_defconfig
-)
-
 # ---------------------------------------------------------------------------
 usage() {
-       echo usage: $0 kerneldir defconfig
-       echo example: $0 . rk29_sdk_defconfig
+       echo "usage: $0 [rk2928|rk30|rk3066b|rk3188]"
+       echo "example: $0 rk3066b"
        exit
 }
 
@@ -63,16 +16,125 @@ done
 # ---------------------------------------------------------------------------
 
 # ---------------------------------------------------------------------------
-kerndir=${1-.}
-kerndir=$(cd $kerndir; pwd)    # get absolute path
+kerndir=$(cd .; pwd)   # get absolute path
 [ -d $kerndir ] || usage
 
-defconfig=${2-rk29_sdk_defconfig}
-if [ "$defconfig" = ".config" ]; then
-       [ -f $kerndir/.config ] || usage
+arch=${1}
+FILES=()
+DIRS=()
+EXCLUDES=()
+
+if [ "$arch" == "rk30" ]; then
+
+EXCLUDES=(
+arch/arm/mach-rk30/*rk3066b*
+arch/arm/mach-rk30/include/mach/*rk3066b*
+
+arch/arm/mach-rk3188/*.c
+arch/arm/mach-rk3188/*.h
+arch/arm/mach-rk3188/Makefile*
+arch/arm/mach-rk3188/include
+arch/arm/configs/rk3188_*
+
+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-rk30/board-rk30-phone-*
+arch/arm/configs/rk30_phone_*
+
+arch/arm/configs/rk30_phonepad_c8003*
+)
+
+defconfig=rk3066_sdk_defconfig
+
+elif [ "$arch" == "rk2928" ]; then
+
+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*
+
+arch/arm/mach-rk3188/*.c
+arch/arm/mach-rk3188/*.h
+arch/arm/mach-rk3188/Makefile*
+arch/arm/mach-rk3188/include
+arch/arm/configs/rk3188_*
+
+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
+)
+
+defconfig=rk2928_sdk_defconfig
+
+elif [ "$arch" == "rk3066b" -o "$arch" == "rk3188" ]; then
+
+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*
+)
+
+if [ "$arch" == "rk3066b" ]; then
+       defconfig=rk3168_tb_defconfig
 else
-       [ -f $kerndir/arch/arm/configs/$defconfig ] || usage
+       defconfig=rk3188_tb_defconfig
 fi
+
+else
+       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-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/configs/rk29_*
+arch/arm/configs/*_fpga_*
+)
 # ---------------------------------------------------------------------------
 
 # make .uu
@@ -85,18 +147,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
 
-#zwp
-mv sound/soc/codecs/rt5625.c sound/soc/codecs/rt5625.c.bak
-mv sound/soc/codecs/rt5625.c.enc sound/soc/codecs/rt5625.c
-####
-
-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
@@ -115,15 +174,13 @@ for d in ${DIRS[@]}; do
        done
 done
 
-#zwp
-mv sound/soc/codecs/rt5625.c sound/soc/codecs/rt5625.c.enc
-mv sound/soc/codecs/rt5625.c.bak sound/soc/codecs/rt5625.c
-####
-
 make distclean >/dev/null 2>&1
 
 popd >/dev/null
 
+# fix local version
+echo "+" > $kerndir/.scmversion
+
 # tar kernel
 pushd $kerndir/../ >/dev/null
 package=$(basename $kerndir).tar
@@ -135,16 +192,17 @@ done
 for file in ${EXCLUDES[@]}; do
        echo "$file" >> $ex
 done
-echo sound/soc/codecs/rt5625.c >>$ex
-echo sound/soc/codecs/rt5625.c.enc >>$ex
+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 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
 popd >/dev/null
 
-echo done
-
+rm -f $kerndir/.scmversion
 
+echo done