Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1611019 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2017-03-28 16:30 +0200 |
| Last post | 2017-03-30 04:50 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] scsi: hisi_sas: fix SATA dependency Arnd Bergmann <arnd@arndb.de> - 2017-03-28 16:30 +0200
Re: [PATCH] scsi: hisi_sas: fix SATA dependency John Garry <john.garry@huawei.com> - 2017-03-28 19:00 +0200
Re: [PATCH] scsi: hisi_sas: fix SATA dependency "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-03-30 04:50 +0200
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-03-28 16:30 +0200 |
| Subject | [PATCH] scsi: hisi_sas: fix SATA dependency |
| Message-ID | <tq0id-ss-3@gated-at.bofh.it> |
Removing the 'select SCSI_SAS_LIBSAS' statement in Kconfig resulted
in a link failure in configurations that have hisi_sas built-in
but libsas as a loadable module:
drivers/scsi/built-in.o: In function `hisi_sas_scan_finished':
hisi_sas_main.c:(.text+0x37ce9): undefined reference to `sas_drain_work'
drivers/scsi/built-in.o: In function `hisi_sas_slave_configure':
hisi_sas_main.c:(.text+0x37d17): undefined reference to `sas_slave_configure'
hisi_sas_main.c:(.text+0x37d40): undefined reference to `sas_change_queue_depth'
drivers/scsi/built-in.o: In function `hisi_sas_remove':
All other libsas users have the 'select' statement, so we should do the
same here for consistency. For all I can tell, the patch that added
the sata softreset does not actually introduce a dependency on SCSI_SAS_ATA
but instead adds calls into libata itself, so we can express that with
a more specific dependency.
We cannot have 'select SCSI_SAS_LIBSAS; depends on SCSI_SAS_ATA' as that
would cause a dependency loop.
Fixes: 7c594f0407de ("scsi: hisi_sas: add softreset function for SATA disk")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/scsi/hisi_sas/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/hisi_sas/Kconfig b/drivers/scsi/hisi_sas/Kconfig
index ded2c201071d..374a329b91fc 100644
--- a/drivers/scsi/hisi_sas/Kconfig
+++ b/drivers/scsi/hisi_sas/Kconfig
@@ -2,7 +2,8 @@ config SCSI_HISI_SAS
tristate "HiSilicon SAS"
depends on HAS_DMA && HAS_IOMEM
depends on ARM64 || COMPILE_TEST
- depends on SCSI_SAS_ATA
+ select SCSI_SAS_LIBSAS
select BLK_DEV_INTEGRITY
+ depends on ATA
help
This driver supports HiSilicon's SAS HBA
--
2.9.0
[toc] | [next] | [standalone]
| From | John Garry <john.garry@huawei.com> |
|---|---|
| Date | 2017-03-28 19:00 +0200 |
| Message-ID | <tq2Do-22K-29@gated-at.bofh.it> |
| In reply to | #1611019 |
On 28/03/2017 15:22, Arnd Bergmann wrote:
> Removing the 'select SCSI_SAS_LIBSAS' statement in Kconfig resulted
> in a link failure in configurations that have hisi_sas built-in
> but libsas as a loadable module:
>
> drivers/scsi/built-in.o: In function `hisi_sas_scan_finished':
> hisi_sas_main.c:(.text+0x37ce9): undefined reference to `sas_drain_work'
> drivers/scsi/built-in.o: In function `hisi_sas_slave_configure':
> hisi_sas_main.c:(.text+0x37d17): undefined reference to `sas_slave_configure'
> hisi_sas_main.c:(.text+0x37d40): undefined reference to `sas_change_queue_depth'
> drivers/scsi/built-in.o: In function `hisi_sas_remove':
>
> All other libsas users have the 'select' statement, so we should do the
> same here for consistency. For all I can tell, the patch that added
> the sata softreset does not actually introduce a dependency on SCSI_SAS_ATA
> but instead adds calls into libata itself, so we can express that with
> a more specific dependency.
>
> We cannot have 'select SCSI_SAS_LIBSAS; depends on SCSI_SAS_ATA' as that
> would cause a dependency loop.
>
Hi Arnd,
Thanks for the fix. So we missed that SCSI_SAS_ATA is a bool and not a
tristate, like SCSI_SAS_LIBSAS. Just adding the dependency on ATA is better.
> Fixes: 7c594f0407de ("scsi: hisi_sas: add softreset function for SATA disk")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: John Garry <john.garry@huawei.com>
> ---
> drivers/scsi/hisi_sas/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/hisi_sas/Kconfig b/drivers/scsi/hisi_sas/Kconfig
> index ded2c201071d..374a329b91fc 100644
> --- a/drivers/scsi/hisi_sas/Kconfig
> +++ b/drivers/scsi/hisi_sas/Kconfig
> @@ -2,7 +2,8 @@ config SCSI_HISI_SAS
> tristate "HiSilicon SAS"
> depends on HAS_DMA && HAS_IOMEM
> depends on ARM64 || COMPILE_TEST
> - depends on SCSI_SAS_ATA
> + select SCSI_SAS_LIBSAS
> select BLK_DEV_INTEGRITY
> + depends on ATA
> help
> This driver supports HiSilicon's SAS HBA
>
[toc] | [prev] | [next] | [standalone]
| From | "Martin K. Petersen" <martin.petersen@oracle.com> |
|---|---|
| Date | 2017-03-30 04:50 +0200 |
| Message-ID | <tqyjT-824-3@gated-at.bofh.it> |
| In reply to | #1611019 |
Arnd Bergmann <arnd@arndb.de> writes: > Removing the 'select SCSI_SAS_LIBSAS' statement in Kconfig resulted > in a link failure in configurations that have hisi_sas built-in > but libsas as a loadable module: Applied to 4.12/scsi-queue. Thanks! -- Martin K. Petersen Oracle Linux Engineering
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web