summaryrefslogtreecommitdiff
path: root/drivers/char/ipmi/ipmi_si_sm.h
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2017-09-12 22:41:56 +0300
committerCorey Minyard <cminyard@mvista.com>2017-09-28 00:03:45 +0300
commit910840f24bb7f9ea80fce4073445329becfdcb58 (patch)
tree36c218ad6a71ce767902d8a3d92652ea9e034e41 /drivers/char/ipmi/ipmi_si_sm.h
parent1e89a499e55f353115b1427c5bcb9f9244a20200 (diff)
downloadlinux-910840f24bb7f9ea80fce4073445329becfdcb58.tar.xz
ipmi_si: Move some platform data into the io structure
That's where it belongs, and we are getting ready for moving the platform handling out of the main ipmi_si_intf.c file. Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to 'drivers/char/ipmi/ipmi_si_sm.h')
-rw-r--r--drivers/char/ipmi/ipmi_si_sm.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_sm.h b/drivers/char/ipmi/ipmi_si_sm.h
index a705027c0493..ffbf67f630a9 100644
--- a/drivers/char/ipmi/ipmi_si_sm.h
+++ b/drivers/char/ipmi/ipmi_si_sm.h
@@ -34,12 +34,18 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <linux/ipmi.h>
+
/*
* This is defined by the state machines themselves, it is an opaque
* data type for them to use.
*/
struct si_sm_data;
+enum si_type {
+ SI_KCS, SI_SMIC, SI_BT
+};
+
/*
* The structure for doing I/O in the state machine. The state
* machine doesn't have the actual I/O routines, they are done through
@@ -61,6 +67,14 @@ struct si_sm_io {
int regshift;
int addr_type;
long addr_data;
+ enum ipmi_addr_src addr_source; /* ACPI, PCI, SMBIOS, hardcode, etc. */
+ void (*addr_source_cleanup)(struct si_sm_io *io);
+ void *addr_source_data;
+
+ int irq;
+ u8 slave_addr;
+ enum si_type si_type;
+ struct device *dev;
};
/* Results of SMI events. */