Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+68 -59
-1
drivers/char/ipmi/ipmi_dmi.c
··· 12 12 #include <linux/dmi.h> 13 13 #include <linux/platform_device.h> 14 14 #include <linux/property.h> 15 - #include "ipmi_si_sm.h" 16 15 #include "ipmi_dmi.h" 17 16 #include "ipmi_plat_data.h" 18 17
+1
drivers/char/ipmi/ipmi_dmi.h
··· 2 2 /* 3 3 * DMI defines for use by IPMI 4 4 */ 5 + #include "ipmi_si.h" 5 6 6 7 #ifdef CONFIG_IPMI_DMI_DECODE 7 8 int ipmi_dmi_get_slave_addr(enum si_type si_type, unsigned int space,
+55 -2
drivers/char/ipmi/ipmi_si.h
··· 6 6 * etc) to the base ipmi system interface code. 7 7 */ 8 8 9 + #ifndef __IPMI_SI_H__ 10 + #define __IPMI_SI_H__ 11 + 12 + #include <linux/ipmi.h> 9 13 #include <linux/interrupt.h> 10 14 #include <linux/platform_device.h> 11 - #include "ipmi_si_sm.h" 15 + 16 + #define SI_DEVICE_NAME "ipmi_si" 12 17 13 18 #define DEFAULT_REGSPACING 1 14 19 #define DEFAULT_REGSIZE 1 15 20 16 - #define DEVICE_NAME "ipmi_si" 21 + enum si_type { 22 + SI_TYPE_INVALID, SI_KCS, SI_SMIC, SI_BT 23 + }; 24 + 25 + enum ipmi_addr_space { 26 + IPMI_IO_ADDR_SPACE, IPMI_MEM_ADDR_SPACE 27 + }; 28 + 29 + /* 30 + * The structure for doing I/O in the state machine. The state 31 + * machine doesn't have the actual I/O routines, they are done through 32 + * this interface. 33 + */ 34 + struct si_sm_io { 35 + unsigned char (*inputb)(const struct si_sm_io *io, unsigned int offset); 36 + void (*outputb)(const struct si_sm_io *io, 37 + unsigned int offset, 38 + unsigned char b); 39 + 40 + /* 41 + * Generic info used by the actual handling routines, the 42 + * state machine shouldn't touch these. 43 + */ 44 + void __iomem *addr; 45 + unsigned int regspacing; 46 + unsigned int regsize; 47 + unsigned int regshift; 48 + enum ipmi_addr_space addr_space; 49 + unsigned long addr_data; 50 + enum ipmi_addr_src addr_source; /* ACPI, PCI, SMBIOS, hardcode, etc. */ 51 + void (*addr_source_cleanup)(struct si_sm_io *io); 52 + void *addr_source_data; 53 + union ipmi_smi_info_union addr_info; 54 + 55 + int (*io_setup)(struct si_sm_io *info); 56 + void (*io_cleanup)(struct si_sm_io *info); 57 + unsigned int io_size; 58 + 59 + int irq; 60 + int (*irq_setup)(struct si_sm_io *io); 61 + void *irq_handler_data; 62 + void (*irq_cleanup)(struct si_sm_io *io); 63 + 64 + u8 slave_addr; 65 + enum si_type si_type; 66 + struct device *dev; 67 + }; 17 68 18 69 int ipmi_si_add_smi(struct si_sm_io *io); 19 70 irqreturn_t ipmi_si_irq_handler(int irq, void *data); ··· 101 50 102 51 int ipmi_si_port_setup(struct si_sm_io *io); 103 52 int ipmi_si_mem_setup(struct si_sm_io *io); 53 + 54 + #endif /* __IPMI_SI_H__ */
+3 -2
drivers/char/ipmi/ipmi_si_intf.c
··· 40 40 #include <linux/ipmi.h> 41 41 #include <linux/ipmi_smi.h> 42 42 #include "ipmi_si.h" 43 + #include "ipmi_si_sm.h" 43 44 #include <linux/string.h> 44 45 #include <linux/ctype.h> 45 46 ··· 1267 1266 rv = request_irq(io->irq, 1268 1267 ipmi_si_irq_handler, 1269 1268 IRQF_SHARED, 1270 - DEVICE_NAME, 1269 + SI_DEVICE_NAME, 1271 1270 io->irq_handler_data); 1272 1271 if (rv) { 1273 1272 dev_warn(io->dev, "%s unable to claim interrupt %d," 1274 1273 " running polled\n", 1275 - DEVICE_NAME, io->irq); 1274 + SI_DEVICE_NAME, io->irq); 1276 1275 io->irq = 0; 1277 1276 } else { 1278 1277 io->irq_cleanup = std_irq_cleanup;
+1 -1
drivers/char/ipmi/ipmi_si_mem_io.c
··· 118 118 */ 119 119 for (idx = 0; idx < io->io_size; idx++) { 120 120 if (request_mem_region(addr + idx * io->regspacing, 121 - io->regsize, DEVICE_NAME) == NULL) { 121 + io->regsize, SI_DEVICE_NAME) == NULL) { 122 122 /* Undo allocations */ 123 123 mem_region_cleanup(io, idx); 124 124 return -EIO;
+1 -1
drivers/char/ipmi/ipmi_si_pci.c
··· 150 150 MODULE_DEVICE_TABLE(pci, ipmi_pci_devices); 151 151 152 152 static struct pci_driver ipmi_pci_driver = { 153 - .name = DEVICE_NAME, 153 + .name = SI_DEVICE_NAME, 154 154 .id_table = ipmi_pci_devices, 155 155 .probe = ipmi_pci_probe, 156 156 .remove = ipmi_pci_remove,
+1 -1
drivers/char/ipmi/ipmi_si_platform.c
··· 457 457 458 458 struct platform_driver ipmi_platform_driver = { 459 459 .driver = { 460 - .name = DEVICE_NAME, 460 + .name = SI_DEVICE_NAME, 461 461 .of_match_table = of_ipmi_match, 462 462 .acpi_match_table = ACPI_PTR(acpi_ipmi_match), 463 463 },
+1 -1
drivers/char/ipmi/ipmi_si_port_io.c
··· 99 99 */ 100 100 for (idx = 0; idx < io->io_size; idx++) { 101 101 if (request_region(addr + idx * io->regspacing, 102 - io->regsize, DEVICE_NAME) == NULL) { 102 + io->regsize, SI_DEVICE_NAME) == NULL) { 103 103 /* Undo allocations */ 104 104 while (idx--) 105 105 release_region(addr + idx * io->regspacing,
+5 -49
drivers/char/ipmi/ipmi_si_sm.h
··· 14 14 * Copyright 2002 MontaVista Software Inc. 15 15 */ 16 16 17 - #include <linux/ipmi.h> 17 + #ifndef __IPMI_SI_SM_H__ 18 + #define __IPMI_SI_SM_H__ 19 + 20 + #include "ipmi_si.h" 18 21 19 22 /* 20 23 * This is defined by the state machines themselves, it is an opaque 21 24 * data type for them to use. 22 25 */ 23 26 struct si_sm_data; 24 - 25 - enum si_type { 26 - SI_TYPE_INVALID, SI_KCS, SI_SMIC, SI_BT 27 - }; 28 - 29 - enum ipmi_addr_space { 30 - IPMI_IO_ADDR_SPACE, IPMI_MEM_ADDR_SPACE 31 - }; 32 - 33 - /* 34 - * The structure for doing I/O in the state machine. The state 35 - * machine doesn't have the actual I/O routines, they are done through 36 - * this interface. 37 - */ 38 - struct si_sm_io { 39 - unsigned char (*inputb)(const struct si_sm_io *io, unsigned int offset); 40 - void (*outputb)(const struct si_sm_io *io, 41 - unsigned int offset, 42 - unsigned char b); 43 - 44 - /* 45 - * Generic info used by the actual handling routines, the 46 - * state machine shouldn't touch these. 47 - */ 48 - void __iomem *addr; 49 - unsigned int regspacing; 50 - unsigned int regsize; 51 - unsigned int regshift; 52 - enum ipmi_addr_space addr_space; 53 - unsigned long addr_data; 54 - enum ipmi_addr_src addr_source; /* ACPI, PCI, SMBIOS, hardcode, etc. */ 55 - void (*addr_source_cleanup)(struct si_sm_io *io); 56 - void *addr_source_data; 57 - union ipmi_smi_info_union addr_info; 58 - 59 - int (*io_setup)(struct si_sm_io *info); 60 - void (*io_cleanup)(struct si_sm_io *info); 61 - unsigned int io_size; 62 - 63 - int irq; 64 - int (*irq_setup)(struct si_sm_io *io); 65 - void *irq_handler_data; 66 - void (*irq_cleanup)(struct si_sm_io *io); 67 - 68 - u8 slave_addr; 69 - enum si_type si_type; 70 - struct device *dev; 71 - }; 72 27 73 28 /* Results of SMI events. */ 74 29 enum si_sm_result { ··· 101 146 extern const struct si_sm_handlers smic_smi_handlers; 102 147 extern const struct si_sm_handlers bt_smi_handlers; 103 148 149 + #endif /* __IPMI_SI_SM_H__ */
-1
drivers/char/ipmi/ipmi_ssif.c
··· 52 52 #include <linux/acpi.h> 53 53 #include <linux/ctype.h> 54 54 #include <linux/time64.h> 55 - #include "ipmi_si_sm.h" 56 55 #include "ipmi_dmi.h" 57 56 58 57 #define DEVICE_NAME "ipmi_ssif"