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 | |