On Fri, 2007-07-27 at 12:53 +0200, Toralf Förster wrote: > Hello, > > the build with the attached .config failed, make ends with: > ... > CHK include/linux/compile.h > UPD include/linux/compile.h > CC init/version.o > LD init/built-in.o > LD .tmp_vmlinux1 > drivers/built-in.o: In function `sas_queuecommand': > (.text+0x932af): undefined reference to `ata_sas_queuecmd' > drivers/built-in.o: In function `sas_slave_configure': > (.text+0x934a4): undefined reference to `ata_sas_slave_configure' > drivers/built-in.o: In function `sas_target_destroy': > (.text+0x92317): undefined reference to `ata_sas_port_destroy' > drivers/built-in.o: In function `sas_ioctl': > (.text+0x92fa4): undefined reference to `ata_scsi_ioctl' > drivers/built-in.o: In function `sas_slave_destroy': > (.text+0x92fcd): undefined reference to `ata_port_disable' > drivers/built-in.o: In function `sas_slave_alloc': > (.text+0x9307f): undefined reference to `ata_sas_port_init' > drivers/built-in.o: In function `sas_ata_init_host_and_port': > (.text+0x942c6): undefined reference to `ata_host_init' > drivers/built-in.o: In function `sas_ata_init_host_and_port': > (.text+0x942d4): undefined reference to `ata_sas_port_alloc' > drivers/built-in.o: In function `sas_ata_qc_issue': > sas_ata.c:(.text+0x9445d): undefined reference to `ata_tf_to_fis' > drivers/built-in.o: In function `sas_ata_task_done': > sas_ata.c:(.text+0x9473c): undefined reference to `ata_tf_from_fis' > sas_ata.c:(.text+0x9479b): undefined reference to `ata_qc_complete' > drivers/built-in.o:(.data+0xafc0): undefined reference to `ata_port_disable' > drivers/built-in.o:(.data+0xafe8): undefined reference to `ata_noop_dev_select' > drivers/built-in.o:(.data+0xb008): undefined reference to `ata_noop_qc_prep' > drivers/built-in.o:(.data+0xb044): undefined reference to `ata_sas_port_start' > drivers/built-in.o:(.data+0xb048): undefined reference to `ata_sas_port_stop' > make: *** [.tmp_vmlinux1] Error 1 This is a Kconfig cockup. If you have the libsas with ATA support, it needs libata to function. The problem is that if you compile in libsas, you can't build libata as a module (however, vice versa you can). About the only way I can think to code this in current Kconfig is the attached rather ugly code. James diff --git a/drivers/scsi/libsas/Kconfig b/drivers/scsi/libsas/Kconfig index 3a3c1ac..c01a40d 100644 --- a/drivers/scsi/libsas/Kconfig +++ b/drivers/scsi/libsas/Kconfig @@ -32,7 +32,8 @@ config SCSI_SAS_LIBSAS config SCSI_SAS_ATA bool "ATA support for libsas (requires libata)" - depends on SCSI_SAS_LIBSAS && ATA + depends on SCSI_SAS_LIBSAS + depends on ATA = y || ATA = SCSI_SAS_LIBSAS help Builds in ATA support into libsas. Will necessitate the loading of libata along with libsas. - 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