diff options
author | Corey Minyard <cminyard@mvista.com> | 2017-09-13 05:37:02 +0300 |
---|---|---|
committer | Corey Minyard <cminyard@mvista.com> | 2017-09-28 00:03:45 +0300 |
commit | bb398a4cb09a0ed96cf0fc2e90012cf6bf13a824 (patch) | |
tree | d51217564b1fa5cd871dde7657a768d8e900c281 /drivers/char/ipmi/ipmi_si_sm.h | |
parent | e1eeb7f8620733fe9f6640eef48d449b925b3c23 (diff) | |
download | linux-bb398a4cb09a0ed96cf0fc2e90012cf6bf13a824.tar.xz |
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.h | 1 |
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); |