public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -next] ipmi: ipmb: fix dependencies to eliminate build error
@ 2021-10-12 20:44 Randy Dunlap
  2021-10-12 23:09 ` Corey Minyard
  0 siblings, 1 reply; 2+ messages in thread
From: Randy Dunlap @ 2021-10-12 20:44 UTC (permalink / raw)
  To: linux-kernel
  Cc: Randy Dunlap, Corey Minyard, openipmi-developer, Arnd Bergmann,
	Greg Kroah-Hartman

When CONFIG_I2C=m, CONFIG_I2C_SLAVE=y (bool), and CONFIG_IPMI_IPMB=y,
the build fails with:

ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_remove':
ipmi_ipmb.c:(.text+0x6b): undefined reference to `i2c_slave_unregister'
ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_thread':
ipmi_ipmb.c:(.text+0x2a4): undefined reference to `i2c_transfer'
ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_probe':
ipmi_ipmb.c:(.text+0x646): undefined reference to `i2c_slave_register'
ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_driver_init':
ipmi_ipmb.c:(.init.text+0xa): undefined reference to `i2c_register_driver'
ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_driver_exit':
ipmi_ipmb.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'

This is due to having a tristate depending on a bool symbol.
By adding I2C (tristate) as a dependency, the desired dependencies
are met, causing IPMI_IPMB to be changed from =y to =m:

  -CONFIG_IPMI_IPMB=y
  +CONFIG_IPMI_IPMB=m

Fixes: 63c4eb347164 ("ipmi:ipmb: Add initial support for IPMI over IPMB")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Corey Minyard <minyard@acm.org>
Cc: openipmi-developer@lists.sourceforge.net
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/char/ipmi/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20211012.orig/drivers/char/ipmi/Kconfig
+++ linux-next-20211012/drivers/char/ipmi/Kconfig
@@ -77,7 +77,7 @@ config IPMI_SSIF
 
 config IPMI_IPMB
 	tristate 'IPMI IPMB interface'
-	depends on I2C_SLAVE
+	depends on I2C && I2C_SLAVE
 	help
 	  Provides a driver for a system running right on the IPMB bus.
 	  It supports normal system interface messages to a BMC on the IPMB

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH -next] ipmi: ipmb: fix dependencies to eliminate build error
  2021-10-12 20:44 [PATCH -next] ipmi: ipmb: fix dependencies to eliminate build error Randy Dunlap
@ 2021-10-12 23:09 ` Corey Minyard
  0 siblings, 0 replies; 2+ messages in thread
From: Corey Minyard @ 2021-10-12 23:09 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-kernel, openipmi-developer, Arnd Bergmann,
	Greg Kroah-Hartman

On Tue, Oct 12, 2021 at 01:44:16PM -0700, Randy Dunlap wrote:
> When CONFIG_I2C=m, CONFIG_I2C_SLAVE=y (bool), and CONFIG_IPMI_IPMB=y,
> the build fails with:

Got it, thanks.

-corey

> 
> ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_remove':
> ipmi_ipmb.c:(.text+0x6b): undefined reference to `i2c_slave_unregister'
> ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_thread':
> ipmi_ipmb.c:(.text+0x2a4): undefined reference to `i2c_transfer'
> ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_probe':
> ipmi_ipmb.c:(.text+0x646): undefined reference to `i2c_slave_register'
> ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_driver_init':
> ipmi_ipmb.c:(.init.text+0xa): undefined reference to `i2c_register_driver'
> ld: drivers/char/ipmi/ipmi_ipmb.o: in function `ipmi_ipmb_driver_exit':
> ipmi_ipmb.c:(.exit.text+0x8): undefined reference to `i2c_del_driver'
> 
> This is due to having a tristate depending on a bool symbol.
> By adding I2C (tristate) as a dependency, the desired dependencies
> are met, causing IPMI_IPMB to be changed from =y to =m:
> 
>   -CONFIG_IPMI_IPMB=y
>   +CONFIG_IPMI_IPMB=m
> 
> Fixes: 63c4eb347164 ("ipmi:ipmb: Add initial support for IPMI over IPMB")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Corey Minyard <minyard@acm.org>
> Cc: openipmi-developer@lists.sourceforge.net
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  drivers/char/ipmi/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- linux-next-20211012.orig/drivers/char/ipmi/Kconfig
> +++ linux-next-20211012/drivers/char/ipmi/Kconfig
> @@ -77,7 +77,7 @@ config IPMI_SSIF
>  
>  config IPMI_IPMB
>  	tristate 'IPMI IPMB interface'
> -	depends on I2C_SLAVE
> +	depends on I2C && I2C_SLAVE
>  	help
>  	  Provides a driver for a system running right on the IPMB bus.
>  	  It supports normal system interface messages to a BMC on the IPMB

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-12 23:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-12 20:44 [PATCH -next] ipmi: ipmb: fix dependencies to eliminate build error Randy Dunlap
2021-10-12 23:09 ` Corey Minyard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox