mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 18:11:56 +00:00
102308f557
If CONFIG_I2C is m and CONFIG_I2C_SLAVE is y,
building with CONFIG_IPMB_DEVICE_INTERFACE setting to
y will fail:
drivers/char/ipmi/ipmb_dev_int.o: In function `ipmb_remove':
ipmb_dev_int.c: undefined reference to `i2c_slave_unregister'
drivers/char/ipmi/ipmb_dev_int.o: In function `ipmb_write':
ipmb_dev_int.c: undefined reference to `i2c_smbus_write_block_data'
drivers/char/ipmi/ipmb_dev_int.o: In function `ipmb_probe':
ipmb_dev_int.c: undefined reference to `i2c_slave_register'
drivers/char/ipmi/ipmb_dev_int.o: In function `ipmb_driver_init':
ipmb_dev_int.c: undefined reference to `i2c_register_driver'
drivers/char/ipmi/ipmb_dev_int.o: In function `ipmb_driver_exit':
ipmb_dev_int.c: undefined reference to `i2c_del_driver'
Add I2C Kconfig dependency to fix this.
Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: 51bd6f2915
("Add support for IPMB driver")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Message-Id: <20190612031825.24732-1-yuehaibing@huawei.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
143 lines
4.6 KiB
Plaintext
143 lines
4.6 KiB
Plaintext
#
|
|
# IPMI device configuration
|
|
#
|
|
|
|
menuconfig IPMI_HANDLER
|
|
tristate 'IPMI top-level message handler'
|
|
depends on HAS_IOMEM
|
|
select IPMI_DMI_DECODE if DMI
|
|
help
|
|
This enables the central IPMI message handler, required for IPMI
|
|
to work.
|
|
|
|
IPMI is a standard for managing sensors (temperature,
|
|
voltage, etc.) in a system.
|
|
|
|
See <file:Documentation/IPMI.txt> for more details on the driver.
|
|
|
|
If unsure, say N.
|
|
|
|
config IPMI_DMI_DECODE
|
|
select IPMI_PLAT_DATA
|
|
bool
|
|
|
|
config IPMI_PLAT_DATA
|
|
bool
|
|
|
|
if IPMI_HANDLER
|
|
|
|
config IPMI_PANIC_EVENT
|
|
bool 'Generate a panic event to all BMCs on a panic'
|
|
help
|
|
When a panic occurs, this will cause the IPMI message handler to,
|
|
by default, generate an IPMI event describing the panic to each
|
|
interface registered with the message handler. This is always
|
|
available, the module parameter for ipmi_msghandler named
|
|
panic_op can be set to "event" to chose this value, this config
|
|
simply causes the default value to be set to "event".
|
|
|
|
config IPMI_PANIC_STRING
|
|
bool 'Generate OEM events containing the panic string'
|
|
depends on IPMI_PANIC_EVENT
|
|
help
|
|
When a panic occurs, this will cause the IPMI message handler to,
|
|
by default, generate IPMI OEM type f0 events holding the IPMB
|
|
address of the panic generator (byte 4 of the event), a sequence
|
|
number for the string (byte 5 of the event) and part of the
|
|
string (the rest of the event). Bytes 1, 2, and 3 are the normal
|
|
usage for an OEM event. You can fetch these events and use the
|
|
sequence numbers to piece the string together. This config
|
|
parameter sets the default value to generate these events,
|
|
the module parameter for ipmi_msghandler named panic_op can
|
|
be set to "string" to chose this value, this config simply
|
|
causes the default value to be set to "string".
|
|
|
|
config IPMI_DEVICE_INTERFACE
|
|
tristate 'Device interface for IPMI'
|
|
help
|
|
This provides an IOCTL interface to the IPMI message handler so
|
|
userland processes may use IPMI. It supports poll() and select().
|
|
|
|
config IPMI_SI
|
|
tristate 'IPMI System Interface handler'
|
|
select IPMI_PLAT_DATA
|
|
help
|
|
Provides a driver for System Interfaces (KCS, SMIC, BT).
|
|
Currently, only KCS and SMIC are supported. If
|
|
you are using IPMI, you should probably say "y" here.
|
|
|
|
config IPMI_SSIF
|
|
tristate 'IPMI SMBus handler (SSIF)'
|
|
select I2C
|
|
help
|
|
Provides a driver for a SMBus interface to a BMC, meaning that you
|
|
have a driver that must be accessed over an I2C bus instead of a
|
|
standard interface. This module requires I2C support.
|
|
|
|
config IPMI_POWERNV
|
|
depends on PPC_POWERNV
|
|
tristate 'POWERNV (OPAL firmware) IPMI interface'
|
|
help
|
|
Provides a driver for OPAL firmware-based IPMI interfaces.
|
|
|
|
config IPMI_WATCHDOG
|
|
tristate 'IPMI Watchdog Timer'
|
|
help
|
|
This enables the IPMI watchdog timer.
|
|
|
|
config IPMI_POWEROFF
|
|
tristate 'IPMI Poweroff'
|
|
help
|
|
This enables a function to power off the system with IPMI if
|
|
the IPMI management controller is capable of this.
|
|
|
|
endif # IPMI_HANDLER
|
|
|
|
config IPMI_KCS_BMC
|
|
tristate
|
|
|
|
config ASPEED_KCS_IPMI_BMC
|
|
depends on ARCH_ASPEED || COMPILE_TEST
|
|
select IPMI_KCS_BMC
|
|
select REGMAP_MMIO
|
|
tristate "Aspeed KCS IPMI BMC driver"
|
|
help
|
|
Provides a driver for the KCS (Keyboard Controller Style) IPMI
|
|
interface found on Aspeed SOCs (AST2400 and AST2500).
|
|
|
|
The driver implements the BMC side of the KCS contorller, it
|
|
provides the access of KCS IO space for BMC side.
|
|
|
|
config NPCM7XX_KCS_IPMI_BMC
|
|
depends on ARCH_NPCM7XX || COMPILE_TEST
|
|
select IPMI_KCS_BMC
|
|
select REGMAP_MMIO
|
|
tristate "NPCM7xx KCS IPMI BMC driver"
|
|
help
|
|
Provides a driver for the KCS (Keyboard Controller Style) IPMI
|
|
interface found on Nuvoton NPCM7xx SOCs.
|
|
|
|
The driver implements the BMC side of the KCS contorller, it
|
|
provides the access of KCS IO space for BMC side.
|
|
|
|
This support is also available as a module. If so, the module
|
|
will be called kcs_bmc_npcm7xx.
|
|
|
|
config ASPEED_BT_IPMI_BMC
|
|
depends on ARCH_ASPEED || COMPILE_TEST
|
|
depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
|
|
tristate "BT IPMI bmc driver"
|
|
help
|
|
Provides a driver for the BT (Block Transfer) IPMI interface
|
|
found on Aspeed SOCs (AST2400 and AST2500). The driver
|
|
implements the BMC side of the BT interface.
|
|
|
|
config IPMB_DEVICE_INTERFACE
|
|
tristate 'IPMB Interface handler'
|
|
depends on I2C
|
|
depends on I2C_SLAVE
|
|
help
|
|
Provides a driver for a device (Satellite MC) to
|
|
receive requests and send responses back to the BMC via
|
|
the IPMB interface. This module requires I2C support.
|