On Tue, 2011-01-18 at 12:12 -0800, Nicholas A. Bellinger wrote: > On Tue, 2011-01-18 at 17:58 +0100, Fubo Chen wrote: > > On Mon, Jan 17, 2011 at 9:51 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > > On Mon, Jan 17, 2011 at 09:00:02PM +0100, Fubo Chen wrote: > > >> target_core_mib.h move from drivers/target to include/target. > > >> Otherwise my driver not build. > > >> > > >> Signed-off-by: Fubo Chen <fubo.chen@xxxxxxxxx> > > > > > > Why does the driver need to poke into the target MIB code directly? > > > > I should ask you why. > > > > > Can you post the driver? > > > > Compiler says: > > > > $ make M=drivers/target modules > > CC [M] drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.o > > In file included from drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.c:15:0: > > include/target/target_core_base.h:11:29: fatal error: > > target_core_mib.h: No such file or directory > > compilation terminated. > > make[2]: *** [drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.o] Error 1 > > make[1]: *** [drivers/target/tcm_mvsas_tgt] Error 2 > > make: *** [_module_drivers/target] Error 2 > > > > for this driver: > > > > --- > > drivers/target/Kbuild | 1 + > > drivers/target/Kconfig | 2 + > > drivers/target/tcm_mvsas_tgt/Kbuild | 3 + > > drivers/target/tcm_mvsas_tgt/Kconfig | 6 + > > drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_base.h | 31 ++ > > .../target/tcm_mvsas_tgt/tcm_mvsas_tgt_configfs.c | 298 ++++++++++++++++++++ > > .../target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.c | 272 ++++++++++++++++++ > > .../target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.h | 39 +++ > > 8 files changed, 652 insertions(+), 0 deletions(-) > > create mode 100644 drivers/target/Kbuild > > create mode 100644 drivers/target/tcm_mvsas_tgt/Kbuild > > create mode 100644 drivers/target/tcm_mvsas_tgt/Kconfig > > create mode 100644 drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_base.h > > create mode 100644 drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_configfs.c > > create mode 100644 drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.c > > create mode 100644 drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.h > > > > diff --git a/drivers/target/Kbuild b/drivers/target/Kbuild > > new file mode 100644 > > index 0000000..a997c81 > > --- /dev/null > > +++ b/drivers/target/Kbuild > > @@ -0,0 +1 @@ > > +obj-$(CONFIG_TCM_MVSAS_TGT) += tcm_mvsas_tgt/ > > diff --git a/drivers/target/Kconfig b/drivers/target/Kconfig > > index 2fac3be..85dcc60 100644 > > --- a/drivers/target/Kconfig > > +++ b/drivers/target/Kconfig > > @@ -29,4 +29,6 @@ config TCM_PSCSI > > Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered > > passthrough access to Linux/SCSI device > > > > +source drivers/target/mvsas_tgt/Kconfig > > + > > endif > > diff --git a/drivers/target/tcm_mvsas_tgt/Kbuild > > b/drivers/target/tcm_mvsas_tgt/Kbuild > > new file mode 100644 > > index 0000000..1c179d7 > > --- /dev/null > > +++ b/drivers/target/tcm_mvsas_tgt/Kbuild > > @@ -0,0 +1,3 @@ > > +tcm_mvsas_tgt-objs := tcm_mvsas_tgt_fabric.o \ > > + tcm_mvsas_tgt_configfs.o > > +obj-$(CONFIG_TCM_MVSAS_TGT) += tcm_mvsas_tgt.o > > I think this fabric module was generated with an older version of > Documentation/target/tcm_mod_builder.py, right..? > > After doing a quick 'tcm_mod_builder.py -m tcm_mvsas_tgt -p SAS' with > mainline code, the newly generated tcm_mvsas_tgt.ko builds as expected.. > > [nab@hera lio-core-2.6.git]$ make > drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt.ko > CHK include/linux/version.h > CHK include/generated/utsrelease.h > CALL scripts/checksyscalls.sh > CC [M] drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_fabric.o > CC [M] drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt_configfs.o > LD [M] drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt.o > MODPOST 2 modules > CC drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt.mod.o > LD [M] drivers/target/tcm_mvsas_tgt/tcm_mvsas_tgt.ko > > The bit missing from the top of your Kbuild is: > > EXTRA_CFLAGS += -I$(srctree)/drivers/target/ -I$(srctree)/include/ -I$(srctree)/drivers/scsi/ -I$(srctree)/include/scsi/ -I$(srctree)/drivers/target/tcm_mvsas_tgt > > FYI, depending upon the age of the tcm_mod_builder.py in question , you > may want to consider re-generating the fabric module skeleton with the > latest code. > Hi again Fubo, If you want to re-generate your driver, please make sure to grab the patch for tcm_mod_builder.py merged into lio-core-2.6.git that uses /Makefile instead of /Kbuild filenames here: target: Convert tcm_mod_builder.py from Kbuild -> Makefile http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=commitdiff;h=3103722a1cf759d475b9ecd9cdb0df523dbf09ab Thanks! --nab -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html