[-next] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS
diff mbox series

Message ID 20190710133930.26591-1-geert@linux-m68k.org
State Accepted
Commit b45305d777f2f9209dae5a3b8249ca03166a4df3
Headers show
Series
  • [-next] rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS
Related show

Commit Message

Geert Uytterhoeven July 10, 2019, 1:39 p.m. UTC
If LIBCRC32C and DMA_VIRT_OPS are not enabled:

    drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink':
    siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops'
    drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update':
    siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c'

Fix the first issue by adding a select of DMA_VIRT_OPS.
Fix the second issue by replacing the unneeded dependency on
CRYPTO_CRC32 by a dependency on LIBCRC32C.

Reported-by: noreply@ellerman.id.au (first issue)
Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/infiniband/sw/siw/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jason Gunthorpe July 10, 2019, 2:46 p.m. UTC | #1
On Wed, Jul 10, 2019 at 03:39:30PM +0200, Geert Uytterhoeven wrote:
> If LIBCRC32C and DMA_VIRT_OPS are not enabled:
> 
>     drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink':
>     siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops'
>     drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update':
>     siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c'
> 
> Fix the first issue by adding a select of DMA_VIRT_OPS.
> Fix the second issue by replacing the unneeded dependency on
> CRYPTO_CRC32 by a dependency on LIBCRC32C.
> 
> Reported-by: noreply@ellerman.id.au (first issue)
> Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
>  drivers/infiniband/sw/siw/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/sw/siw/Kconfig b/drivers/infiniband/sw/siw/Kconfig
> index 94f684174ce3556e..b622fc62f2cd6d46 100644
> +++ b/drivers/infiniband/sw/siw/Kconfig
> @@ -1,6 +1,7 @@
>  config RDMA_SIW
>  	tristate "Software RDMA over TCP/IP (iWARP) driver"
> -	depends on INET && INFINIBAND && CRYPTO_CRC32
> +	depends on INET && INFINIBAND && LIBCRC32C

Is this the best practice? 

siw is using both the libcrc32c API and the
'crypto_alloc_shash("crc32c", 0, 0);' version. Is it right to get that
transitively through LIBCRC32C?

Jason
Geert Uytterhoeven July 11, 2019, 7:58 a.m. UTC | #2
Hi Jason,

On Wed, Jul 10, 2019 at 4:46 PM Jason Gunthorpe <jgg@ziepe.ca> wrote:
> On Wed, Jul 10, 2019 at 03:39:30PM +0200, Geert Uytterhoeven wrote:
> > If LIBCRC32C and DMA_VIRT_OPS are not enabled:
> >
> >     drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink':
> >     siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops'
> >     drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update':
> >     siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c'
> >
> > Fix the first issue by adding a select of DMA_VIRT_OPS.
> > Fix the second issue by replacing the unneeded dependency on
> > CRYPTO_CRC32 by a dependency on LIBCRC32C.
> >
> > Reported-by: noreply@ellerman.id.au (first issue)
> > Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment")
> > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> >  drivers/infiniband/sw/siw/Kconfig | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/infiniband/sw/siw/Kconfig b/drivers/infiniband/sw/siw/Kconfig
> > index 94f684174ce3556e..b622fc62f2cd6d46 100644
> > +++ b/drivers/infiniband/sw/siw/Kconfig
> > @@ -1,6 +1,7 @@
> >  config RDMA_SIW
> >       tristate "Software RDMA over TCP/IP (iWARP) driver"
> > -     depends on INET && INFINIBAND && CRYPTO_CRC32
> > +     depends on INET && INFINIBAND && LIBCRC32C
>
> Is this the best practice?
>
> siw is using both the libcrc32c API and the
> 'crypto_alloc_shash("crc32c", 0, 0);' version. Is it right to get that
> transitively through LIBCRC32C?

Yes, I think so.

Gr{oetje,eeting}s,

                        Geert
Jason Gunthorpe July 11, 2019, 2:47 p.m. UTC | #3
On Wed, Jul 10, 2019 at 03:39:30PM +0200, Geert Uytterhoeven wrote:
> If LIBCRC32C and DMA_VIRT_OPS are not enabled:
> 
>     drivers/infiniband/sw/siw/siw_main.o: In function `siw_newlink':
>     siw_main.c:(.text+0x35c): undefined reference to `dma_virt_ops'
>     drivers/infiniband/sw/siw/siw_qp_rx.o: In function `siw_csum_update':
>     siw_qp_rx.c:(.text+0x16): undefined reference to `crc32c'
> 
> Fix the first issue by adding a select of DMA_VIRT_OPS.
> Fix the second issue by replacing the unneeded dependency on
> CRYPTO_CRC32 by a dependency on LIBCRC32C.
> 
> Reported-by: noreply@ellerman.id.au (first issue)
> Fixes: c0cf5bdde46c664d ("rdma/siw: addition to kernel build environment")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
>  drivers/infiniband/sw/siw/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Applied to for-next, thanks

Jason

Patch
diff mbox series

diff --git a/drivers/infiniband/sw/siw/Kconfig b/drivers/infiniband/sw/siw/Kconfig
index 94f684174ce3556e..b622fc62f2cd6d46 100644
--- a/drivers/infiniband/sw/siw/Kconfig
+++ b/drivers/infiniband/sw/siw/Kconfig
@@ -1,6 +1,7 @@ 
 config RDMA_SIW
 	tristate "Software RDMA over TCP/IP (iWARP) driver"
-	depends on INET && INFINIBAND && CRYPTO_CRC32
+	depends on INET && INFINIBAND && LIBCRC32C
+	select DMA_VIRT_OPS
 	help
 	This driver implements the iWARP RDMA transport over
 	the Linux TCP/IP network stack. It enables a system with a