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