26 lines
		
	
	
		
			669 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			669 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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);
 |