diff --git a/qla2x00t/qla2x00-target/Makefile_in-tree-3.0 b/qla2x00t/qla2x00-target/Makefile_in-tree-3.0
new file mode 100644
index 000000000..9657aee84
--- /dev/null
+++ b/qla2x00t/qla2x00-target/Makefile_in-tree-3.0
@@ -0,0 +1,5 @@
+ccflags-y += -Idrivers/scsi/qla2xxx
+
+qla2x00tgt-y := qla2x00t.o
+
+obj-$(CONFIG_SCST_QLA_TGT_ADDON) += qla2x00tgt.o
diff --git a/scripts/generate-kernel-patch b/scripts/generate-kernel-patch
index d7a23c4a0..59bd22cd7 100755
--- a/scripts/generate-kernel-patch
+++ b/scripts/generate-kernel-patch
@@ -23,6 +23,8 @@
# Function definitions #
########################
+source $(dirname $0)/kernel-version
+
function usage {
echo "Usage: $0 [-d] [-h] [-m] [-n] [-p
] [-s] [-u] "
echo "where: "
@@ -45,8 +47,8 @@ function add_patch {
exit 1
fi
- sed -e "s:^--- [^ ]*:--- orig/linux-${kernel_version}/$2:" \
- -e "s:^+++ [^ ]*:+++ linux-${kernel_version}/$2:" \
+ sed -e "s:^--- [^ ]*:--- orig/linux-${kver}/$2:" \
+ -e "s:^+++ [^ ]*:+++ linux-${kver}/$2:" \
< "$1"
}
@@ -67,9 +69,9 @@ function add_file {
# -- skip *.mod.c.
if [ "$1" = "${1%.mod.c}" -a "$1" ]; then
cat <"${tmp_Kconfig}"
add_file "${tmp_Kconfig}" "drivers/scst/Kconfig"
-tmp_Makefile="${tmpdir}/Makefile.scst-${kernel_version}"
-cat "scst/kernel/in-tree/Makefile.scst-${kernel_version}" | \
+tmp_Makefile="${tmpdir}/Makefile.scst-${kver}"
+cat "scst/kernel/in-tree/Makefile.scst-${kver}" | \
if [ "${generating_upstream_patch}" = "true" ]; then
grep -v 'scst_proc'
else
@@ -371,7 +368,7 @@ done
# Directory drivers/scst/dev_handlers/
-add_file "scst/kernel/in-tree/Makefile.dev_handlers-${kernel_version}" \
+add_file "scst/kernel/in-tree/Makefile.dev_handlers-${kver}" \
"drivers/scst/dev_handlers/Makefile" \
| process_patch "scst_11_dev_handlers_makefile.diff"
@@ -460,7 +457,7 @@ if [ "${qla2x00t}" = "true" ]; then
add_file "qla2x00t/qla2x_tgt_def.h" \
"drivers/scsi/qla2xxx/qla2x_tgt_def.h"
- add_file "qla2x00t/qla2x00-target/Makefile_in-tree-${kernel_version}" \
+ add_file "qla2x00t/qla2x00-target/Makefile_in-tree-${kver}" \
"drivers/scst/qla2xxx-target/Makefile"
add_file "qla2x00t/qla2x00-target/Kconfig" \
@@ -558,7 +555,7 @@ fi
add_file "scst_local/in-tree/Kconfig" "drivers/scst/scst_local/Kconfig"
- add_file "scst_local/in-tree/Makefile-${kernel_version}" "drivers/scst/scst_local/Makefile"
+ add_file "scst_local/in-tree/Makefile-${kver}" "drivers/scst/scst_local/Makefile"
add_file "scst_local/scst_local.c" "drivers/scst/scst_local/scst_local.c"
) \
@@ -569,8 +566,8 @@ fi
# Directory drivers/scsi/ibmvstgt
{
- ( cd ibmvstgt && ./generate-in-tree-patches "${kernel_version}" )
- if [ -e "ibmvstgt/in-tree-patches/${kernel_version}" ]; then
+ ( cd ibmvstgt && ./generate-in-tree-patches "${kver}" )
+ if [ -e "ibmvstgt/in-tree-patches/${kver}" ]; then
if [ "${multiple_patches}" = "true" ]; then
cat <] [-d ] [-f] [-h] [-j ] [-p ] [-q] ..."
echo " -c - cache directory for Linux kernel tarballs."
@@ -65,17 +67,6 @@ function usage {
echo " ... - kernel versions to test."
}
-# First three components of the kernel version number.
-function kernel_version {
- echo "$1" | sed -n 's/^\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/p'
-}
-
-# Last component of the kernel version, or the empty string if $1 has only
-# three components.
-function patchlevel {
- echo "$1" | sed -n 's/^\([0-9]*\.[0-9]*\.[0-9]*\)[.-]\(.*\)$/\2/p'
-}
-
# Create a linux-$1 tree in the current directory, where $1 is a kernel
# version number with either three or four components.
function extract_kernel_tree {
@@ -284,16 +275,18 @@ function download_file {
function download_kernel {
local kver="$(kernel_version $1)"
local plevel="$(patchlevel $1)"
+ local series="$1"
+ series="${series:0:3}"
mkdir -p "${kernel_sources}" || return $?
test -w "${kernel_sources}" || return $?
(
cd "${kernel_sources}" || return $?
- download_file "${kernel_mirror}/linux-$(kernel_version $1).tar.bz2" \
+ download_file "${kernel_mirror}/v$series/linux-$kver.tar.bz2" \
|| return $?
if [ "${plevel}" != "" ]; then
download_file "${kernel_mirror}/patch-$1.bz2" \
- || download_file "${kernel_longterm}/v$(kernel_version $1)/patch-$1.bz2" \
+ || download_file "${kernel_longterm}/v$series/longterm/v$kver/patch-$1.bz2" \
|| return $?
fi
)
@@ -547,8 +540,8 @@ fi
# Where to store persistenly downloaded kernel tarballs and kernel patches.
kernel_sources="$HOME/software/downloads"
# URL for downloading kernel tarballs and kernel patches.
-kernel_mirror="ftp://ftp.eu.kernel.org/pub/linux/kernel/v2.6"
-kernel_longterm="http://www.kernel.org/pub/linux/kernel/v2.6/longterm"
+kernel_mirror="ftp://ftp.eu.kernel.org/pub/linux/kernel"
+kernel_longterm="http://www.kernel.org/pub/linux/kernel"
kernel_versions=""
# Directory in which the regression test output files will be stored. Must be
# an absolute path.
diff --git a/scripts/specialize-patch b/scripts/specialize-patch
index 0737325cd..0874c1bf9 100755
--- a/scripts/specialize-patch
+++ b/scripts/specialize-patch
@@ -31,7 +31,8 @@
# the KERNEL_VERSION() macro.
function version_code(kver, array) {
- match(kver, "([0-9]+).([0-9]+).([0-9]+)", array)
+ if (!match(kver, "([0-9]+).([0-9]+).([0-9]+)", array))
+ match(kver, "([0-9]+).([0-9]+)", array)
return 65536*array[1] + 256*array[2] + array[3]
}
@@ -396,7 +397,7 @@ BEGIN {
exit 1
}
LINUX_VERSION_CODE = version_code(kernel_version)
- if (LINUX_VERSION_CODE < 2*65536 || LINUX_VERSION_CODE > 3*65536)
+ if (LINUX_VERSION_CODE < 2*65536 || LINUX_VERSION_CODE > 4*65536)
{
printf "Error: kernel version (%s) is out of range.\n", kernel_version
exit 1
diff --git a/scst/kernel/in-tree/Kconfig.drivers.Linux-3.0.patch b/scst/kernel/in-tree/Kconfig.drivers.Linux-3.0.patch
new file mode 100644
index 000000000..0cdb1a392
--- /dev/null
+++ b/scst/kernel/in-tree/Kconfig.drivers.Linux-3.0.patch
@@ -0,0 +1,13 @@
+diff --git a/drivers/Kconfig b/drivers/Kconfig
+index a2b902f..92e3d67 100644
+--- a/drivers/Kconfig
++++ b/drivers/Kconfig
+@@ -22,6 +22,8 @@ source "drivers/ide/Kconfig"
+
+ source "drivers/scsi/Kconfig"
+
++source "drivers/scst/Kconfig"
++
+ source "drivers/ata/Kconfig"
+
+ source "drivers/md/Kconfig"
diff --git a/scst/kernel/in-tree/Makefile.dev_handlers-3.0 b/scst/kernel/in-tree/Makefile.dev_handlers-3.0
new file mode 100644
index 000000000..f933b36f7
--- /dev/null
+++ b/scst/kernel/in-tree/Makefile.dev_handlers-3.0
@@ -0,0 +1,14 @@
+ccflags-y += -Wno-unused-parameter
+
+obj-m := scst_cdrom.o scst_changer.o scst_disk.o scst_modisk.o scst_tape.o \
+ scst_vdisk.o scst_raid.o scst_processor.o scst_user.o
+
+obj-$(CONFIG_SCST_DISK) += scst_disk.o
+obj-$(CONFIG_SCST_TAPE) += scst_tape.o
+obj-$(CONFIG_SCST_CDROM) += scst_cdrom.o
+obj-$(CONFIG_SCST_MODISK) += scst_modisk.o
+obj-$(CONFIG_SCST_CHANGER) += scst_changer.o
+obj-$(CONFIG_SCST_RAID) += scst_raid.o
+obj-$(CONFIG_SCST_PROCESSOR) += scst_processor.o
+obj-$(CONFIG_SCST_VDISK) += scst_vdisk.o
+obj-$(CONFIG_SCST_USER) += scst_user.o
diff --git a/scst/kernel/in-tree/Makefile.drivers.Linux-3.0.patch b/scst/kernel/in-tree/Makefile.drivers.Linux-3.0.patch
new file mode 100644
index 000000000..c51f861be
--- /dev/null
+++ b/scst/kernel/in-tree/Makefile.drivers.Linux-3.0.patch
@@ -0,0 +1,11 @@
+diff --git a/drivers/Makefile b/drivers/Makefile
+index b423bb1..f780114 100644
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -115,5 +115,6 @@ obj-$(CONFIG_VLYNQ) += vlynq/
+ obj-$(CONFIG_STAGING) += staging/
+ obj-y += platform/
+ obj-y += ieee802154/
++obj-$(CONFIG_SCST) += scst/
+ #common clk code
+ obj-y += clk/
diff --git a/scst/kernel/in-tree/Makefile.scst-3.0 b/scst/kernel/in-tree/Makefile.scst-3.0
new file mode 100644
index 000000000..53af5f388
--- /dev/null
+++ b/scst/kernel/in-tree/Makefile.scst-3.0
@@ -0,0 +1,13 @@
+ccflags-y += -Wno-unused-parameter
+
+scst-y += scst_main.o
+scst-y += scst_pres.o
+scst-y += scst_targ.o
+scst-y += scst_lib.o
+scst-y += scst_sysfs.o
+scst-y += scst_mem.o
+scst-y += scst_tg.o
+scst-y += scst_debug.o
+
+obj-$(CONFIG_SCST) += scst.o dev_handlers/ fcst/ iscsi-scst/ qla2xxx-target/ \
+ srpt/ scst_local/
diff --git a/scst_local/in-tree/Makefile-3.0 b/scst_local/in-tree/Makefile-3.0
new file mode 100644
index 000000000..8cbbbff63
--- /dev/null
+++ b/scst_local/in-tree/Makefile-3.0
@@ -0,0 +1,2 @@
+obj-$(CONFIG_SCST_LOCAL) += scst_local.o
+
diff --git a/srpt/patches/kernel-3.0-pre-cflags.patch b/srpt/patches/kernel-3.0-pre-cflags.patch
new file mode 100644
index 000000000..f73c5e686
--- /dev/null
+++ b/srpt/patches/kernel-3.0-pre-cflags.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index d018956..3c3b936 100644
+--- a/Makefile
++++ b/Makefile
+@@ -357,7 +357,8 @@ CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
+
+ # Use LINUXINCLUDE when you must reference the include/ directory.
+ # Needed to be compatible with the O= option
+-LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include \
++LINUXINCLUDE := $(PRE_CFLAGS) \
++ -I$(srctree)/arch/$(hdr-arch)/include \
+ -Iarch/$(hdr-arch)/include/generated -Iinclude \
+ $(if $(KBUILD_SRC), -I$(srctree)/include) \
+ -include include/generated/autoconf.h