scsi: mpi3mr: add explicit dependency on CONFIG_SCSI_SAS_ATTRS

Message ID 20221017140533.CC46F6043B@lion.mk-sys.cz
State New
Headers
Series scsi: mpi3mr: add explicit dependency on CONFIG_SCSI_SAS_ATTRS |

Commit Message

Michal Kubecek Oct. 17, 2022, 2:05 p.m. UTC
  Starting with commit 42fc9fee116f ("scsi: mpi3mr: Add helper functions to
manage device's port"), kernel configured with CONFIG_SCSI_MPI3MR=m and
CONFIG_SCSI_SAS_ATTRS=n fails to build because modpost cannot find symbols
used in mpi3mr_transport.c:

  ERROR: modpost: "sas_port_alloc_num" [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
  ERROR: modpost: "sas_remove_host" [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
  ERROR: modpost: "sas_phy_alloc" [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
  ERROR: modpost: "sas_phy_free" [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
  ...

Add an explicit dependency of CONFIG_SCSI_MPI3MR on CONFIG_SCSI_SAS_ATTRS
to prevent inconsistent configs.

Fixes: 42fc9fee116f ("scsi: mpi3mr: Add helper functions to manage device's port")
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
---
 drivers/scsi/mpi3mr/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

James Bottomley Oct. 17, 2022, 2:13 p.m. UTC | #1
On Mon, 2022-10-17 at 16:05 +0200, Michal Kubecek wrote:
> Starting with commit 42fc9fee116f ("scsi: mpi3mr: Add helper
> functions to
> manage device's port"), kernel configured with CONFIG_SCSI_MPI3MR=m
> and
> CONFIG_SCSI_SAS_ATTRS=n fails to build because modpost cannot find
> symbols
> used in mpi3mr_transport.c:
> 
>   ERROR: modpost: "sas_port_alloc_num"
> [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
>   ERROR: modpost: "sas_remove_host" [drivers/scsi/mpi3mr/mpi3mr.ko]
> undefined!
>   ERROR: modpost: "sas_phy_alloc" [drivers/scsi/mpi3mr/mpi3mr.ko]
> undefined!
>   ERROR: modpost: "sas_phy_free" [drivers/scsi/mpi3mr/mpi3mr.ko]
> undefined!
>   ...
> 
> Add an explicit dependency of CONFIG_SCSI_MPI3MR on
> CONFIG_SCSI_SAS_ATTRS
> to prevent inconsistent configs.
> 
> Fixes: 42fc9fee116f ("scsi: mpi3mr: Add helper functions to manage
> device's port")
> Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
> ---
>  drivers/scsi/mpi3mr/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/mpi3mr/Kconfig
> b/drivers/scsi/mpi3mr/Kconfig
> index 8997531940c2..8ada8e8d25ac 100644
> --- a/drivers/scsi/mpi3mr/Kconfig
> +++ b/drivers/scsi/mpi3mr/Kconfig
> @@ -2,7 +2,7 @@
>  
>  config SCSI_MPI3MR
>  	tristate "Broadcom MPI3 Storage Controller Device Driver"
> -	depends on PCI && SCSI
> +	depends on PCI && SCSI && SCSI_SAS_ATTRS

This should probably be select not depends.

All transport attributes are designed to be selected.  The reason is to
avoid people having to figure out what attributes they have to set in
Kconfig before they see the HBAs they're interested in.

James
  
Michal Kubecek Oct. 17, 2022, 2:44 p.m. UTC | #2
On Mon, Oct 17, 2022 at 10:13:58AM -0400, James Bottomley wrote:
> On Mon, 2022-10-17 at 16:05 +0200, Michal Kubecek wrote:
> > Starting with commit 42fc9fee116f ("scsi: mpi3mr: Add helper
> > functions to
> > manage device's port"), kernel configured with CONFIG_SCSI_MPI3MR=m
> > and
> > CONFIG_SCSI_SAS_ATTRS=n fails to build because modpost cannot find
> > symbols
> > used in mpi3mr_transport.c:
> > 
> >   ERROR: modpost: "sas_port_alloc_num"
> > [drivers/scsi/mpi3mr/mpi3mr.ko] undefined!
> >   ERROR: modpost: "sas_remove_host" [drivers/scsi/mpi3mr/mpi3mr.ko]
> > undefined!
> >   ERROR: modpost: "sas_phy_alloc" [drivers/scsi/mpi3mr/mpi3mr.ko]
> > undefined!
> >   ERROR: modpost: "sas_phy_free" [drivers/scsi/mpi3mr/mpi3mr.ko]
> > undefined!
> >   ...
> > 
> > Add an explicit dependency of CONFIG_SCSI_MPI3MR on
> > CONFIG_SCSI_SAS_ATTRS
> > to prevent inconsistent configs.
> > 
> > Fixes: 42fc9fee116f ("scsi: mpi3mr: Add helper functions to manage
> > device's port")
> > Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
> > ---
> >  drivers/scsi/mpi3mr/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/scsi/mpi3mr/Kconfig
> > b/drivers/scsi/mpi3mr/Kconfig
> > index 8997531940c2..8ada8e8d25ac 100644
> > --- a/drivers/scsi/mpi3mr/Kconfig
> > +++ b/drivers/scsi/mpi3mr/Kconfig
> > @@ -2,7 +2,7 @@
> >  
> >  config SCSI_MPI3MR
> >  	tristate "Broadcom MPI3 Storage Controller Device Driver"
> > -	depends on PCI && SCSI
> > +	depends on PCI && SCSI && SCSI_SAS_ATTRS
> 
> This should probably be select not depends.
> 
> All transport attributes are designed to be selected.  The reason is to
> avoid people having to figure out what attributes they have to set in
> Kconfig before they see the HBAs they're interested in.

OK, I'll send v2 with select in a moment.

Michal
  

Patch

diff --git a/drivers/scsi/mpi3mr/Kconfig b/drivers/scsi/mpi3mr/Kconfig
index 8997531940c2..8ada8e8d25ac 100644
--- a/drivers/scsi/mpi3mr/Kconfig
+++ b/drivers/scsi/mpi3mr/Kconfig
@@ -2,7 +2,7 @@ 
 
 config SCSI_MPI3MR
 	tristate "Broadcom MPI3 Storage Controller Device Driver"
-	depends on PCI && SCSI
+	depends on PCI && SCSI && SCSI_SAS_ATTRS
 	select BLK_DEV_BSGLIB
 	help
 	MPI3 based Storage & RAID Controllers Driver.