13cd83bacSCorey Minyard /* SPDX-License-Identifier: GPL-2.0+ */ 23cd83bacSCorey Minyard 33cd83bacSCorey Minyard /* 43cd83bacSCorey Minyard * Generic code to add IPMI platform devices. 53cd83bacSCorey Minyard */ 63cd83bacSCorey Minyard 73cd83bacSCorey Minyard #include <linux/ipmi.h> 83cd83bacSCorey Minyard 93cd83bacSCorey Minyard struct ipmi_plat_data { 103cd83bacSCorey Minyard unsigned int type; /* si_type for si, SI_INVALID for others */ 113cd83bacSCorey Minyard unsigned int space; /* addr_space for si, intf# for ssif. */ 123cd83bacSCorey Minyard unsigned long addr; 133cd83bacSCorey Minyard unsigned int regspacing; 143cd83bacSCorey Minyard unsigned int regsize; 153cd83bacSCorey Minyard unsigned int regshift; 163cd83bacSCorey Minyard unsigned int irq; 173cd83bacSCorey Minyard unsigned int slave_addr; 183cd83bacSCorey Minyard enum ipmi_addr_src addr_source; 193cd83bacSCorey Minyard }; 203cd83bacSCorey Minyard 213cd83bacSCorey Minyard struct platform_device *ipmi_platform_add(const char *name, unsigned int inst, 223cd83bacSCorey Minyard struct ipmi_plat_data *p); 23