| /* 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); |