mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-14 09:11:27 +00:00
Merge r7442 from trunk
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7695 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
4
qla2x00t/Makefile_in-tree
Normal file
4
qla2x00t/Makefile_in-tree
Normal file
@@ -0,0 +1,4 @@
|
||||
qla2xxx-y := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \
|
||||
qla_dbg.o qla_sup.o qla_attr.o qla_mid.o qla_dfs.o qla_bsg.o qla_nx.o
|
||||
|
||||
obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx.o
|
||||
@@ -7,23 +7,29 @@ if [ "$1" = "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${1#2.6.26}" = "$1" ]; then
|
||||
# Exit silently for other kernel versions than 2.6.26.x.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -e qla2xxx-orig/$1 ]; then
|
||||
./extract-qla2xxx-orig "$1"
|
||||
fi
|
||||
|
||||
mkdir -p in-tree-patches/"${kernel_version}"
|
||||
|
||||
for f in qla2xxx-orig/"${kernel_version}"/*
|
||||
do
|
||||
g="${f#qla2xxx-orig/${kernel_version}/}"
|
||||
f1="$f"
|
||||
for g in Kconfig *.[ch]; do
|
||||
f1="qla2xxx-orig/${kernel_version}/$g"
|
||||
f2="$g"
|
||||
f3="in-tree-patches/${kernel_version}/$g.patch"
|
||||
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
|
||||
if [ -e "$f1" ]; then
|
||||
diff -up "$f1" "$f2" > "$f3"
|
||||
else
|
||||
diff -up /dev/null "$f2" > "$f3"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
for g in Makefile; do
|
||||
f1="qla2xxx-orig/${kernel_version}/$g"
|
||||
f2="${g}_in-tree"
|
||||
f3="in-tree-patches/${kernel_version}/$g.patch"
|
||||
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
|
||||
diff -up "$f1" "$f2" > "$f3"
|
||||
fi
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
kernel_mirror="http://cdn.kernel.org/pub/linux/kernel"
|
||||
kernel_sources="$HOME/software/downloads"
|
||||
|
||||
# Whether or not kernel version $1 is lower than or equal kernel version $2.
|
||||
function kernel_version_le {
|
||||
awk -v "v1=$1" -v "v2=$2" 'BEGIN { n1 = split(v1, v1a, "."); n2 = split(v2, v2a, "."); for (i=1;;i++) { e1 = i <= n1 ? v1a[i] : 0; e2 = i <= n2 ? v2a[i] : 0; if (e1 < e2 || i >= n1 && i >= n2) exit 0; if (e1 > e2) exit 1; }}'
|
||||
}
|
||||
|
||||
# Kernel version number.
|
||||
function kernel_version {
|
||||
if [ "${1#2.}" != "$1" ]; then
|
||||
|
||||
@@ -210,7 +210,6 @@ function generate_kernel_patch {
|
||||
kver="$(kernel_version "$1")"
|
||||
driver_options=(-l)
|
||||
[ "${mpt_scst}" = "true" ] && driver_options+=("-m")
|
||||
[ "${qla2x00t}" = "true" ] && driver_options+=("-q")
|
||||
|
||||
"${scriptsdir}"/generate-kernel-patch "${driver_options[@]}" "$2" "$1" > "${patchfile}"
|
||||
|
||||
@@ -343,19 +342,20 @@ function compile_patched_kernel {
|
||||
return 0
|
||||
}
|
||||
|
||||
# Compile subdirectory $2 of the patched kernel tree linux-$1.
|
||||
# Compile subdirectories $2..$n of the patched kernel tree linux-$1.
|
||||
function compile_kernel {
|
||||
local kver plevel
|
||||
local k=$1
|
||||
kver="$(kernel_version "$1")"
|
||||
plevel="$(patchlevel "$1")"
|
||||
local outputfile="${outputdir}/compilation-$1-output.txt"
|
||||
local subdir="$2"
|
||||
shift
|
||||
|
||||
echo "Compiling the patched kernel ..."
|
||||
if (cd "${outputdir}/linux-$1" \
|
||||
if (cd "${outputdir}/linux-$k" \
|
||||
&& make -s prepare \
|
||||
&& make -s scripts \
|
||||
&& LC_ALL=C make -k M="${subdir}"
|
||||
&& for subdir; do LC_ALL=C make -k M="${subdir}"; done
|
||||
) &> "${outputfile}"
|
||||
then
|
||||
local errors warnings
|
||||
@@ -379,16 +379,16 @@ function run_sparse {
|
||||
kver="$(kernel_version "$1")"
|
||||
plevel="$(patchlevel "$1")"
|
||||
local outputfile="${outputdir}/sparse-$1-output.txt"
|
||||
local subdir="$2"
|
||||
shift
|
||||
shift
|
||||
|
||||
echo "Running sparse on the patched kernel in ${subdir} $* ..."
|
||||
echo "Running sparse on the patched kernel in $* ..."
|
||||
if (cd "${outputdir}/linux-$k" \
|
||||
&& make -s prepare \
|
||||
&& make -s scripts \
|
||||
&& if grep -q '^CONFIG_PPC=y$' .config; then LC_ALL=C make -k M=arch/powerpc/lib; fi \
|
||||
&& LC_ALL=C make -k C=2 CF="-D__CHECK_ENDIAN__ -DCONFIG_SPARSE_RCU_POINTER" M="${subdir}" "$@"
|
||||
&& for subdir; do
|
||||
LC_ALL=C make -k C=2 CF="-D__CHECK_ENDIAN__ -DCONFIG_SPARSE_RCU_POINTER" M="${subdir}"
|
||||
done
|
||||
) &> "${outputfile}"
|
||||
then
|
||||
local errors warnings
|
||||
@@ -410,25 +410,26 @@ function run_sparse {
|
||||
return 0
|
||||
}
|
||||
|
||||
# Run smatch for kernel version $1 on directories $2..$n
|
||||
function run_smatch {
|
||||
local k="$1"
|
||||
local kver plevel
|
||||
kver="$(kernel_version "$1")"
|
||||
plevel="$(patchlevel "$1")"
|
||||
local outputfile="${outputdir}/smatch-$1-output.txt"
|
||||
local subdir="$2"
|
||||
local disable="CONFIG_DYNAMIC_DEBUG"
|
||||
shift
|
||||
shift
|
||||
|
||||
echo "Running smatch on the patched kernel in ${subdir} $* ..."
|
||||
echo "Running smatch on the patched kernel in $* ..."
|
||||
if (cd "${outputdir}/linux-$k" &&
|
||||
for c in $disable; do sed -i.tmp "s/^$c=y\$/$c=n/" .config; done &&
|
||||
make -s oldconfig </dev/null &&
|
||||
make -s prepare &&
|
||||
make -s scripts &&
|
||||
if grep -q '^CONFIG_PPC=y$' .config; then LC_ALL=C make -k M=arch/powerpc/lib; fi &&
|
||||
LC_ALL=C make -k CHECK="smatch -p=kernel" C=2 CF=-D__CHECK_ENDIAN__ M="${subdir}" "$@"
|
||||
for subdir; do
|
||||
LC_ALL=C make -k CHECK="smatch -p=kernel" C=2 CF=-D__CHECK_ENDIAN__ M="${subdir}"
|
||||
done
|
||||
) &> "${outputfile}"
|
||||
then
|
||||
local errors warnings
|
||||
@@ -542,7 +543,7 @@ outputdir="${PWD}/regression-test-output-$(date +%Y-%m-%d_%Hh%Mm%Ss)"
|
||||
# Driver configuration.
|
||||
mpt_scst="false"
|
||||
multiple_patches="false"
|
||||
qla2x00t="false"
|
||||
qla2x00t="true"
|
||||
remove_temporary_files_at_end="false"
|
||||
run_local_compilation="true"
|
||||
quiet_download="false"
|
||||
@@ -668,8 +669,9 @@ do
|
||||
run_checkpatch "$k"
|
||||
fi
|
||||
patch_and_configure_kernel "$k"
|
||||
subdirs=(drivers/scst)
|
||||
if [ "${run_sparse}" = "true" ]; then
|
||||
run_sparse "$k" drivers/scst
|
||||
run_sparse "$k" "${subdirs[@]}"
|
||||
mv "${outputdir}/sparse-$k-output.txt" \
|
||||
"${outputdir}/sparse-$k-scst-output.txt"
|
||||
if [ "${ibmvio}" = "true" ]; then
|
||||
@@ -685,9 +687,12 @@ do
|
||||
fi
|
||||
fi
|
||||
if [ "${run_smatch}" = "true" ]; then
|
||||
run_smatch "$k" drivers/scst
|
||||
run_smatch "$k" "${subdirs[@]}"
|
||||
fi
|
||||
compile_kernel "$k" drivers/scst
|
||||
if [ "${qla2x00t}" = "true" ] && $(kernel_version_le 2.6.37 $k); then
|
||||
subdirs+=(drivers/scsi/qla2xxx)
|
||||
fi
|
||||
compile_kernel "$k" "${subdirs[@]}"
|
||||
if [ "${full_check}" = "true" ]; then
|
||||
run_headers_check "$k"
|
||||
compile_patched_kernel "$k"
|
||||
|
||||
@@ -587,7 +587,7 @@ BEGIN {
|
||||
config_scst_proc_undefined = 0
|
||||
|
||||
# Variable initialization.
|
||||
is_c_source = 0
|
||||
process_file = 0
|
||||
reset_hunk_state_variables()
|
||||
}
|
||||
|
||||
@@ -599,10 +599,11 @@ BEGIN {
|
||||
# Start of new file.
|
||||
dump_lines()
|
||||
reset_hunk_state_variables()
|
||||
is_c_source = match(filename[1], "\\.[ch]$") != 0
|
||||
process_file = match(filename[1], "\\.[ch]$") != 0 &&
|
||||
match(filename[1], "drivers/scsi/qla2xxx/") == 0
|
||||
}
|
||||
|
||||
if (!is_c_source)
|
||||
if (!process_file)
|
||||
{
|
||||
print
|
||||
next
|
||||
|
||||
Reference in New Issue
Block a user