/* SPDX-License-Identifier: GPL-2.0+ */ /* * Generic code to add IPMI platform devices. */ #include <linux/ipmi.h> enum ipmi_plat_interface_type { IPMI_PLAT_IF_SI, IPMI_PLAT_IF_SSIF }; struct ipmi_plat_data { enum ipmi_plat_interface_type iftype; unsigned int type; /* si_type for si, SI_INVALID for others */ unsigned int space; /* addr_space for si, intf# for ssif. */ unsigned long addr; unsigned int regspacing; unsigned int regsize; unsigned int regshift; unsigned int irq; unsigned int slave_addr; enum ipmi_addr_src addr_source; }; struct platform_device *ipmi_platform_add(const char *name, unsigned int inst, struct ipmi_plat_data *p)