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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html