Commit dd2bc5cc authored by Quan Nguyen's avatar Quan Nguyen Committed by Corey Minyard

ipmi: ssif_bmc: Add SSIF BMC driver

The SMBus system interface (SSIF) IPMI BMC driver can be used to perform
in-band IPMI communication with their host in management (BMC) side.

Thanks Dan for the copy_from_user() fix in the link below.

Link: https://lore.kernel.org/linux-arm-kernel/20220310114119.13736-4-quan@os.amperecomputing.com/Signed-off-by: default avatarQuan Nguyen <quan@os.amperecomputing.com>
Message-Id: <20221004093106.1653317-2-quan@os.amperecomputing.com>
Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
parent 9abf2313
...@@ -169,6 +169,16 @@ config ASPEED_BT_IPMI_BMC ...@@ -169,6 +169,16 @@ config ASPEED_BT_IPMI_BMC
found on Aspeed SOCs (AST2400 and AST2500). The driver found on Aspeed SOCs (AST2400 and AST2500). The driver
implements the BMC side of the BT interface. implements the BMC side of the BT interface.
config SSIF_IPMI_BMC
tristate "SSIF IPMI BMC driver"
depends on I2C && I2C_SLAVE
help
This enables the IPMI SMBus system interface (SSIF) at the
management (BMC) side.
The driver implements the BMC side of the SMBus system
interface (SSIF).
config IPMB_DEVICE_INTERFACE config IPMB_DEVICE_INTERFACE
tristate 'IPMB Interface handler' tristate 'IPMB Interface handler'
depends on I2C depends on I2C
......
...@@ -30,3 +30,4 @@ obj-$(CONFIG_ASPEED_BT_IPMI_BMC) += bt-bmc.o ...@@ -30,3 +30,4 @@ obj-$(CONFIG_ASPEED_BT_IPMI_BMC) += bt-bmc.o
obj-$(CONFIG_ASPEED_KCS_IPMI_BMC) += kcs_bmc_aspeed.o obj-$(CONFIG_ASPEED_KCS_IPMI_BMC) += kcs_bmc_aspeed.o
obj-$(CONFIG_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o obj-$(CONFIG_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o
obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o
obj-$(CONFIG_SSIF_IPMI_BMC) += ssif_bmc.o
This diff is collapsed.
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note*/
/*
* Copyright (c) 2022, Ampere Computing LLC.
*/
#ifndef _UAPI_LINUX_IPMI_SSIF_BMC_H
#define _UAPI_LINUX_IPMI_SSIF_BMC_H
#include <linux/types.h>
/* Max length of ipmi ssif message included netfn and cmd field */
#define IPMI_SSIF_PAYLOAD_MAX 254
struct ipmi_ssif_msg {
unsigned int len;
__u8 payload[IPMI_SSIF_PAYLOAD_MAX];
};
#endif /* _UAPI_LINUX_IPMI_SSIF_BMC_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment