aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/ipmi/ipmi_si_sm.h
diff options
context:
space:
mode:
authorGravatar Corey Minyard <cminyard@mvista.com> 2017-09-12 21:37:02 -0500
committerGravatar Corey Minyard <cminyard@mvista.com> 2017-09-27 16:03:45 -0500
commitbb398a4cb09a0ed96cf0fc2e90012cf6bf13a824 (patch)
treed51217564b1fa5cd871dde7657a768d8e900c281 /drivers/char/ipmi/ipmi_si_sm.h
parentipmi_si: Move io setup into io structure (diff)
downloadlinux-bb398a4cb09a0ed96cf0fc2e90012cf6bf13a824.tar.gz
linux-bb398a4cb09a0ed96cf0fc2e90012cf6bf13a824.tar.bz2
linux-bb398a4cb09a0ed96cf0fc2e90012cf6bf13a824.zip
ipmi_si: Change ipmi_si_add_smi() to take just I/O info
Instead of allocating the smi_info structure, filling in the I/O info, and passing it to ipmi_si_add_smi(), just pass the I/O info in the io structure and let ipmi_si_add_smi() allocate the smi_info structure. This required redoing the way the remove functions for some device interfaces worked, a new function named ipmi_si_remove_by_dev() allows the device to be passed in and detected instead of using driver data, which couldn't be filled out easily othersize. After this the platform handling should be decoupled from the smi_info structure and that handling can be pulled out to its own files. 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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/ipmi/ipmi_si_sm.h b/drivers/char/ipmi/ipmi_si_sm.h
index 9df77c664908..fbf5bfccde2e 100644
--- a/drivers/char/ipmi/ipmi_si_sm.h
+++ b/drivers/char/ipmi/ipmi_si_sm.h
@@ -70,6 +70,7 @@ struct si_sm_io {
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);