mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
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: Quan Nguyen <quan@os.amperecomputing.com> Message-Id: <20221004093106.1653317-2-quan@os.amperecomputing.com> Signed-off-by: Corey Minyard <cminyard@mvista.com>
This commit is contained in:
committed by
Corey Minyard
parent
9abf2313ad
commit
dd2bc5cc9e
@@ -169,6 +169,16 @@ config ASPEED_BT_IPMI_BMC
|
||||
found on Aspeed SOCs (AST2400 and AST2500). The driver
|
||||
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
|
||||
tristate 'IPMB Interface handler'
|
||||
depends on I2C
|
||||
|
||||
@@ -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_NPCM7XX_KCS_IPMI_BMC) += kcs_bmc_npcm7xx.o
|
||||
obj-$(CONFIG_IPMB_DEVICE_INTERFACE) += ipmb_dev_int.o
|
||||
obj-$(CONFIG_SSIF_IPMI_BMC) += ssif_bmc.o
|
||||
|
||||
873
drivers/char/ipmi/ssif_bmc.c
Normal file
873
drivers/char/ipmi/ssif_bmc.c
Normal file
File diff suppressed because it is too large
Load Diff
18
include/uapi/linux/ipmi_ssif_bmc.h
Normal file
18
include/uapi/linux/ipmi_ssif_bmc.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/* 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 */
|
||||
Reference in New Issue
Block a user