diff options
author | Corey Minyard | 2019-07-31 19:18:25 -0500 |
---|---|---|
committer | Corey Minyard | 2019-08-02 07:25:03 -0500 |
commit | 104fb25f60077e4696145bcea51ca56f0959d7e3 (patch) | |
tree | 5ce57ae72112aa1f598ec98b8a59940403c72cec /drivers/char/ipmi/ipmi_si_sm.h | |
parent | cbb19cb1eef050b193c823502bf920097c0f0459 (diff) |
ipmi_si: Rework some include files
ipmi_si_sm.h was getting included in lots of places it didn't
belong. Rework things a bit to remove all the dependencies,
mostly just moving things between include files that were in
the wrong place and removing bogus includes.
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.h | 54 |
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__ */ |