ipmi_si: Rework some include files
authorCorey Minyard <cminyard@mvista.com>
Thu, 1 Aug 2019 00:18:25 +0000 (19:18 -0500)
committerCorey Minyard <cminyard@mvista.com>
Fri, 2 Aug 2019 12:25:03 +0000 (07:25 -0500)
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>
drivers/char/ipmi/ipmi_dmi.c
drivers/char/ipmi/ipmi_dmi.h
drivers/char/ipmi/ipmi_si.h
drivers/char/ipmi/ipmi_si_intf.c
drivers/char/ipmi/ipmi_si_mem_io.c
drivers/char/ipmi/ipmi_si_pci.c
drivers/char/ipmi/ipmi_si_platform.c
drivers/char/ipmi/ipmi_si_port_io.c
drivers/char/ipmi/ipmi_si_sm.h
drivers/char/ipmi/ipmi_ssif.c

index f38e651..bbf7029 100644 (file)
@@ -12,7 +12,6 @@
 #include <linux/dmi.h>
 #include <linux/platform_device.h>
 #include <linux/property.h>
-#include "ipmi_si_sm.h"
 #include "ipmi_dmi.h"
 #include "ipmi_plat_data.h"
 
index 2dbec04..e16a9db 100644 (file)
@@ -2,6 +2,7 @@
 /*
  * DMI defines for use by IPMI
  */
+#include "ipmi_si.h"
 
 #ifdef CONFIG_IPMI_DMI_DECODE
 int ipmi_dmi_get_slave_addr(enum si_type si_type, unsigned int space,
index 357a229..bac0ff8 100644 (file)
@@ -6,14 +6,65 @@
  * etc) to the base ipmi system interface code.
  */
 
+#ifndef __IPMI_SI_H__
+#define __IPMI_SI_H__
+
+#include <linux/ipmi.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
-#include "ipmi_si_sm.h"
+
+#define SI_DEVICE_NAME "ipmi_si"
 
 #define DEFAULT_REGSPACING     1
 #define DEFAULT_REGSIZE                1
 
-#define DEVICE_NAME "ipmi_si"
+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;
+};
 
 int ipmi_si_add_smi(struct si_sm_io *io);
 irqreturn_t ipmi_si_irq_handler(int irq, void *data);
@@ -50,3 +101,5 @@ static inline void ipmi_si_parisc_shutdown(void) { }
 
 int ipmi_si_port_setup(struct si_sm_io *io);
 int ipmi_si_mem_setup(struct si_sm_io *io);
+
+#endif /* __IPMI_SI_H__ */
index 488979c..d728682 100644 (file)
@@ -40,6 +40,7 @@
 #include <linux/ipmi.h>
 #include <linux/ipmi_smi.h>
 #include "ipmi_si.h"
+#include "ipmi_si_sm.h"
 #include <linux/string.h>
 #include <linux/ctype.h>
 
@@ -1266,12 +1267,12 @@ int ipmi_std_irq_setup(struct si_sm_io *io)
        rv = request_irq(io->irq,
                         ipmi_si_irq_handler,
                         IRQF_SHARED,
-                        DEVICE_NAME,
+                        SI_DEVICE_NAME,
                         io->irq_handler_data);
        if (rv) {
                dev_warn(io->dev, "%s unable to claim interrupt %d,"
                         " running polled\n",
-                        DEVICE_NAME, io->irq);
+                        SI_DEVICE_NAME, io->irq);
                io->irq = 0;
        } else {
                io->irq_cleanup = std_irq_cleanup;
index 7558361..86b92e9 100644 (file)
@@ -118,7 +118,7 @@ int ipmi_si_mem_setup(struct si_sm_io *io)
         */
        for (idx = 0; idx < io->io_size; idx++) {
                if (request_mem_region(addr + idx * io->regspacing,
-                                      io->regsize, DEVICE_NAME) == NULL) {
+                                      io->regsize, SI_DEVICE_NAME) == NULL) {
                        /* Undo allocations */
                        mem_region_cleanup(io, idx);
                        return -EIO;
index ce93fc7..95bbcfb 100644 (file)
@@ -150,7 +150,7 @@ static const struct pci_device_id ipmi_pci_devices[] = {
 MODULE_DEVICE_TABLE(pci, ipmi_pci_devices);
 
 static struct pci_driver ipmi_pci_driver = {
-       .name =         DEVICE_NAME,
+       .name =         SI_DEVICE_NAME,
        .id_table =     ipmi_pci_devices,
        .probe =        ipmi_pci_probe,
        .remove =       ipmi_pci_remove,
index 22f6c9b..c78127c 100644 (file)
@@ -457,7 +457,7 @@ static const struct platform_device_id si_plat_ids[] = {
 
 struct platform_driver ipmi_platform_driver = {
        .driver = {
-               .name = DEVICE_NAME,
+               .name = SI_DEVICE_NAME,
                .of_match_table = of_ipmi_match,
                .acpi_match_table = ACPI_PTR(acpi_ipmi_match),
        },
index 03924c3..7d66f68 100644 (file)
@@ -99,7 +99,7 @@ int ipmi_si_port_setup(struct si_sm_io *io)
         */
        for (idx = 0; idx < io->io_size; idx++) {
                if (request_region(addr + idx * io->regspacing,
-                                  io->regsize, DEVICE_NAME) == NULL) {
+                                  io->regsize, SI_DEVICE_NAME) == NULL) {
                        /* Undo allocations */
                        while (idx--)
                                release_region(addr + idx * io->regspacing,
index 499db82..c3cdbca 100644 (file)
  * 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
  */
 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__ */
index 305fa50..6e070ef 100644 (file)
@@ -52,7 +52,6 @@
 #include <linux/acpi.h>
 #include <linux/ctype.h>
 #include <linux/time64.h>
-#include "ipmi_si_sm.h"
 #include "ipmi_dmi.h"
 
 #define DEVICE_NAME "ipmi_ssif"