• Randy Dunlap's avatar
    ipmi: ipmb: fix dependencies to eliminate build error · ed83855f
    Randy Dunlap authored
    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: 63c4eb34 ("ipmi:ipmb: Add initial support for IPMI over IPMB")
    Signed-off-by: default avatarRandy 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>
    Message-Id: <20211012204416.23108-1-rdunlap@infradead.org>
    Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
    ed83855f
Kconfig 5.62 KB