aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/ipmi/ipmi_si_sm.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/ipmi/ipmi_si_sm.h')
-rw-r--r--drivers/char/ipmi/ipmi_si_sm.h54
1 files changed, 5 insertions, 49 deletions
diff --git a/drivers/char/ipmi/ipmi_si_sm.h b/drivers/char/ipmi/ipmi_si_sm.h
index 499db820fadb..c3cdbcab0f77 100644
--- a/drivers/char/ipmi/ipmi_si_sm.h
+++ b/drivers/char/ipmi/ipmi_si_sm.h
@@ -14,7 +14,10 @@
* Copyright 2002 MontaVista Software Inc.
*/
-#include <linux/ipmi.h>
+#ifndef __IPMI_SI_SM_H__
+#define __IPMI_SI_SM_H__
+
+#include "ipmi_si.h"
/*
* This is defined by the state machines themselves, it is an opaque
@@ -22,54 +25,6 @@
*/
struct si_sm_data;
-enum si_type {
- SI_TYPE_INVALID, SI_KCS, SI_SMIC, SI_BT
-};
-
-enum ipmi_addr_space {
- IPMI_IO_ADDR_SPACE, IPMI_MEM_ADDR_SPACE
-};
-
-/*
- * 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
- * this interface.
- */
-struct si_sm_io {
- unsigned char (*inputb)(const struct si_sm_io *io, unsigned int offset);
- void (*outputb)(const struct si_sm_io *io,
- unsigned int offset,
- unsigned char b);
-
- /*
- * Generic info used by the actual handling routines, the
- * state machine shouldn't touch these.
- */
- void __iomem *addr;
- unsigned int regspacing;
- unsigned int regsize;
- unsigned int regshift;
- enum ipmi_addr_space addr_space;
- unsigned 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;
- union ipmi_smi_info_union addr_info;
-
- int (*io_setup)(struct si_sm_io *info);
- void (*io_cleanup)(struct si_sm_io *info);
- unsigned int io_size;
-
- int irq;
- int (*irq_setup)(struct si_sm_io *io);
- void *irq_handler_data;
- void (*irq_cleanup)(struct si_sm_io *io);
-
- u8 slave_addr;
- enum si_type si_type;
- struct device *dev;
-};
-
/* Results of SMI events. */
enum si_sm_result {
SI_SM_CALL_WITHOUT_DELAY, /* Call the driver again immediately */
@@ -146,3 +101,4 @@ extern const struct si_sm_handlers kcs_smi_handlers;
extern const struct si_sm_handlers smic_smi_handlers;
extern const struct si_sm_handlers bt_smi_handlers;
+#endif /* __IPMI_SI_SM_H__ */