1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 3 /* 4 * Generic code to add IPMI platform devices. 5 */ 6 7 #include <linux/ipmi.h> 8 9 enum ipmi_plat_interface_type { IPMI_PLAT_IF_SI, IPMI_PLAT_IF_SSIF }; 10 11 struct ipmi_plat_data { 12 enum ipmi_plat_interface_type iftype; 13 unsigned int type; /* si_type for si, SI_INVALID for others */ 14 unsigned int space; /* addr_space for si, intf# for ssif. */ 15 unsigned long addr; 16 unsigned int regspacing; 17 unsigned int regsize; 18 unsigned int regshift; 19 unsigned int irq; 20 unsigned int slave_addr; 21 enum ipmi_addr_src addr_source; 22 }; 23 24 struct platform_device *ipmi_platform_add(const char *name, unsigned int inst, 25 struct ipmi_plat_data *p); 26