The current status of the QLogic target driver in the SCST project is as

follows:
- Building the QLogic target driver is possible by following the instructions
 in qla2x00t/qla2x00-target/README.
- Some but not all of the qla2x00-target code is included in the output of
 scripts/generate-kernel-patch. This is unfortunate because it is the output
 of this script that is posted to the LKML each time SCST is submitted for
 review.
- Most of the qla2x00-target code is checked during the nightly build by
 checkpatch. None of the qla2x00-target code is checked during the nightly
 build by sparse.

The patch below makes sure that all of the qla2x00-target code is included in
the generate-kernel-patch output and also that all of the qla2x00-target code
is checked during the nightly build by both checkpatch and sparse. This has
been realized by including the diff of the linux-2.6.26.8/drivers/scsi/qla2xxx
source files and the source files in qla2x00t/*[ch] as individual patches under
qla2x00t/in-tree-patches. These patches are generated from downloaded
linux-2.6.26.8 sources and the sources in the SCST SVN repository.

The next step is to fix the checkpatch and sparse warnings triggered by the
qla2x00-target code and to port the latest qla2xxx patches to the SCST
qla2x00t implementation.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2009-10-08 16:53:17 +00:00
parent ac7f3b45b9
commit 6e2c69c4c4
2 changed files with 89 additions and 3 deletions

View File

@@ -6,8 +6,82 @@ obj-$(CONFIG_SCSI_QLA_FC) += qla2xxx.o
clean:
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
Module.symvers Module.markers modules.order
rm -f in-tree-patches/*.patch
rm -rf qla2xxx-orig
rm -rf .tmp_versions
extraclean: clean
.PHONY: clean extraclean
DOWNLOAD_DIR=$(HOME)/software/downloads
QLA2XXX_ORIG = \
Kconfig \
Makefile \
qla_attr.c \
qla_dbg.c \
qla_dbg.h \
qla_def.h \
qla_devtbl.h \
qla_dfs.c \
qla_fw.h \
qla_gbl.h \
qla_gs.c \
qla_init.c \
qla_inline.h \
qla_iocb.c \
qla_isr.c \
qla_mbx.c \
qla_mid.c \
qla_os.c \
qla_settings.h \
qla_sup.c \
qla_version.h
GENERATED_PATCHES = \
in-tree-patches/qla2xxx-Kconfig-2.6.26.patch \
in-tree-patches/qla2xxx-qla_def.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_gs.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_mbx.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_version.h-2.6.26.patch \
in-tree-patches/qla2xxx-Makefile-2.6.26.patch \
in-tree-patches/qla2xxx-qla_devtbl.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_init.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_mid.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_attr.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_dfs.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_inline.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_os.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_dbg.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_fw.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_iocb.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_settings.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_dbg.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_gbl.h-2.6.26.patch \
in-tree-patches/qla2xxx-qla_isr.c-2.6.26.patch \
in-tree-patches/qla2xxx-qla_sup.c-2.6.26.patch
$(DOWNLOAD_DIR)/linux-%:
cd $(DOWNLOAD_DIR) \
&& wget -q -nc ftp://ftp.eu.kernel.org/pub/linux/kernel/v2.6/$(@F)
$(DOWNLOAD_DIR)/patch-%:
cd $(DOWNLOAD_DIR) \
&& wget -q -nc ftp://ftp.eu.kernel.org/pub/linux/kernel/v2.6/$(@F)
qla2xxx-orig/%: $(DOWNLOAD_DIR)/linux-2.6.26.tar.bz2 \
$(DOWNLOAD_DIR)/patch-2.6.26.8.bz2
rm -rf linux-2.6.26
tar -xjf $(DOWNLOAD_DIR)/linux-2.6.26.tar.bz2
cd linux-2.6.26 \
&& bzip2 -cd < $(DOWNLOAD_DIR)/patch-2.6.26.8.bz2 | patch -p1 -f -s
touch linux-2.6.26/drivers/scsi/qla2xxx/*
mkdir -p qla2xxx-orig
mv linux-2.6.26/drivers/scsi/qla2xxx/* qla2xxx-orig
rm -rf linux-2.6.26
in-tree-patches/qla2xxx-%-2.6.26.patch: % qla2xxx-orig/%
f="$$(echo "$@" | sed -e 's:^in-tree-patches/qla2xxx-::' -e 's:-2.6.26.patch$$::')"; diff -up "qla2xxx-orig/$$f" "$$f" >"$@"; true
patches: $(GENERATED_PATCHES)
.PHONY: clean extraclean patches

View File

@@ -339,14 +339,26 @@ add_file "iscsi-scst/README_in-tree" "Documentation/scst/README.iscsi" \
if [ "${qla2x00t}" = "true" ]; then
make -C qla2x00t -s patches
for f in $(ls qla2x00t/in-tree-patches/qla2xxx-*-${kernel_version}.patch)
do
g="${f#qla2x00t/in-tree-patches/qla2xxx-}"
g="${g%-${kernel_version}.patch}"
add_patch "${f}" "drivers/scsi/qla2xxx/${g}"
done
add_file "qla2x00t/qla2x00-target/Makefile_in-tree" \
"drivers/scst/qla2xxx-target/Makefile"
add_file "qla2x00t/qla2x00-target/Kconfig" \
"drivers/scst/qla2xxx-target/Kconfig"
# add_file "qla2x00t/qla2x_tgt_def.h" \
# "drivers/scst/qla2x00-target/qla2x_tgt_def.h"
add_file "qla2x00t/qla2x_tgt.h" \
"drivers/scsi/qla2xxx/qla2x_tgt.h"
add_file "qla2x00t/qla2x_tgt_def.h" \
"drivers/scsi/qla2xxx/qla2x_tgt_def.h"
for f in $(ls qla2x00t/qla2x00-target/*.[ch])
do