[GIT PULL] IPMI updates for 4.15

From: Corey Minyard
Date: Wed Nov 15 2017 - 15:17:33 EST


Linus,

Please do the pull below for the IPMI code. This is signed with
my new key, which is now signed by my old key.

NOTE: As Jessica sent in the module request, there was a conflict
between the module code and this code, some IPMI driver code
was split into a different file that the module tree modified. I
merged in the module tree to fix the conflict. Hopefully I did
this all correctly and the merge is smooth for you, and I believe
you need to merge the module code first.

Thanks,

-corey

---

The following changes since commit ece1996a21eeb344b49200e627c6660111009c10:

 module: Do not paper over type mismatches in module_param_call() (2017-10-31 15:30:47 +0100)

are available in the git repository at:

 https://github.com/cminyard/linux-ipmi.git tags/ipmi-for-4.15

for you to fetch changes up to 6297fabd93f93182245383ba7de56bef829a796b:

 Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux into for-next (2017-11-02 11:19:15 -0500)

----------------------------------------------------------------
IPMI updates for 4.15

This is signed by my new key (919BFF81), which is now signed by my
old key.

This is a fairly large rework of the IPMI code, along with a bunch
of smaller fixes. The major changes have been in the next tree for
a couple of months, so they should be good to do in.

- Some users had IPMI systems where the GUID of the IPMI controller
 could change. So rescanning of the GUID was added. The naming of
 some sysfs things was dependent on the GUID, however, so this
 resulted in the sysfs interface code in IPMI changing to remove that
 dependency and name the IPMI BMCs like other sysfs devices.

- The ipmi_si_intf.c code was fairly bloated with all the different
 discovery methods (PCI, ACPI, SMBIOS, OF, platform, module parameters,
 hot add). The structure of how the interfaces were added was redone
 to make them more modular, then the individual methods were pulled
 out into their own files.

----------------------------------------------------------------
Arvind Yadav (1):
ÂÂÂÂÂ ipmi: pr_err() strings should end with newlines

Bhumika Goyal (1):
ÂÂÂÂÂ IPMI: make ipmi_poweroff_handler const

Colin Ian King (3):
ÂÂÂÂÂ char: ipmi: make function ipmi_get_info_from_resources static
ÂÂÂÂÂ ipmi: remove redundant initialization of bmc
ÂÂÂÂÂ ipmi_si: fix memory leak on new_smi

Corey Minyard (39):
ÂÂÂÂÂ ipmi: fix unsigned long underflow
ÂÂÂÂÂ ipmi: Make IPMI panic strings always available
ÂÂÂÂÂ ipmi: Fix getting the GUID data
ÂÂÂÂÂ ipmi: Move bmc find routing to below bmc device type
ÂÂÂÂÂ ipmi: Check that the device type is BMC when scanning device
ÂÂÂÂÂ ipmi: Fix issues with BMC refcounts
ÂÂÂÂÂ ipmi: Prefer ACPI system interfaces over SMBIOS ones
ÂÂÂÂÂ ipmi: Rework BMC registration
ÂÂÂÂÂ ipmi: Fix printing the BMC guid
ÂÂÂÂÂ ipmi: Get the device id through a function
ÂÂÂÂÂ ipmi: Don't use BMC product/dev ids in the BMC name
ÂÂÂÂÂ ipmi: Remove the device id from ipmi_register_smi()
ÂÂÂÂÂ ipmi: Always fetch the guid through ipmi_get_device_id()
ÂÂÂÂÂ ipmi: Dynamically fetch GUID periodically
ÂÂÂÂÂ ipmi: Use a temporary BMC for an interface
ÂÂÂÂÂ ipmi: Rework device id and guid handling to catch changing BMCs
ÂÂÂÂÂ ipmi: Retry BMC registration on a failure
ÂÂÂÂÂ ipmi: Move lun and address out of channel struct
ÂÂÂÂÂ ipmi: Rescan channel list on BMC changes
ÂÂÂÂÂ ipmi: Convert IPMI GUID over to Linux guid_t
ÂÂÂÂÂ ipmi_si: Rename function to add smi, make it global
ÂÂÂÂÂ ipmi_si: Move some platform data into the io structure
ÂÂÂÂÂ ipmi_si: Move irq setup handling into the io struct
ÂÂÂÂÂ ipmi_si: Move io setup into io structure
ÂÂÂÂÂ ipmi_si: Change ipmi_si_add_smi() to take just I/O info
ÂÂÂÂÂ ipmi_si: Move the hotmod handling to another file.
ÂÂÂÂÂ ipmi_si: Move hardcode handling to a separate file.
ÂÂÂÂÂ ipmi_si: Move platform device handling to another file
ÂÂÂÂÂ ipmi_si: Move PCI setup to another file
ÂÂÂÂÂ ipmi_si: Move PARISC handling to another file
ÂÂÂÂÂ ipmi_si: Get rid of unused spacing and port fields
ÂÂÂÂÂ ipmi_si: Move port and mem I/O handling to their own files
ÂÂÂÂÂ ipmi_si: remove ipmi_smi_alloc() function
ÂÂÂÂÂ ipmi_si: Add device attrs for the things in proc
ÂÂÂÂÂ ipmi_ssif: Add device attrs for the things in proc
ÂÂÂÂÂ ipmi: Make the IPMI proc interface configurable
ÂÂÂÂÂ ipmi: Make the DMI probe into a generic platform probe
ÂÂÂÂÂ ipmi: Clean up some print operations
ÂÂÂÂÂ Merge branch 'modules-next' of git://git.kernel.org/.../jeyu/linux into for-next

Hanjun Guo (1):
ÂÂÂÂÂ char: ipmi: eliminate misleading print info when being probed via ACPI

Jeremy Kerr (3):
ÂÂÂÂÂ ipmi: Add a reference from BMC devices to their interfaces
ÂÂÂÂÂ ipmi: Make ipmi_demangle_device_id more generic
ÂÂÂÂÂ ipmi: allow dynamic BMC version information

Markus Elfring (1):
ÂÂÂÂÂ ipmi_si: Delete an error message for a failed memory allocation in try_smi_init()

ÂDocumentation/IPMI.txtÂÂÂÂÂÂÂÂÂÂÂÂÂÂ |ÂÂÂ 4 +-
Âdrivers/char/ipmi/KconfigÂÂÂÂÂÂÂÂÂÂÂ |ÂÂ 35 +-
Âdrivers/char/ipmi/MakefileÂÂÂÂÂÂÂÂÂÂ |ÂÂ 10 +-
Âdrivers/char/ipmi/ipmi_dmi.cÂÂÂÂÂÂÂÂ |ÂÂ 76 +-
Âdrivers/char/ipmi/ipmi_dmi.hÂÂÂÂÂÂÂÂ |ÂÂÂ 8 +-
Âdrivers/char/ipmi/ipmi_msghandler.c | 1275 ++++++++++++-----
Âdrivers/char/ipmi/ipmi_powernv.cÂÂÂÂ |ÂÂÂ 4 +-
Âdrivers/char/ipmi/ipmi_poweroff.cÂÂÂ |ÂÂÂ 2 +-
Âdrivers/char/ipmi/ipmi_si.hÂÂÂÂÂÂÂÂÂ |ÂÂ 49 +
Âdrivers/char/ipmi/ipmi_si_hardcode.c |Â 146 ++
Âdrivers/char/ipmi/ipmi_si_hotmod.cÂÂ |Â 242 ++++
Âdrivers/char/ipmi/ipmi_si_intf.cÂÂÂÂ | 2478 +++++++---------------------------
Âdrivers/char/ipmi/ipmi_si_mem_io.cÂÂ |Â 144 ++
Âdrivers/char/ipmi/ipmi_si_parisc.cÂÂ |ÂÂ 58 +
Âdrivers/char/ipmi/ipmi_si_pci.cÂÂÂÂÂ |Â 166 +++
Âdrivers/char/ipmi/ipmi_si_platform.c |Â 593 ++++++++
Âdrivers/char/ipmi/ipmi_si_port_io.c | 112 ++
Âdrivers/char/ipmi/ipmi_si_sm.hÂÂÂÂÂÂ |ÂÂ 23 +
Âdrivers/char/ipmi/ipmi_ssif.cÂÂÂÂÂÂÂ |Â 112 +-
Âdrivers/char/ipmi/ipmi_watchdog.cÂÂÂ |ÂÂ 11 +-
Âinclude/linux/ipmi.hÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ |ÂÂÂ 8 +-
Âinclude/linux/ipmi_smi.hÂÂÂÂÂÂÂÂÂÂÂÂ |ÂÂ 27 +-
Â22 files changed, 3186 insertions(+), 2397 deletions(-)
Âcreate mode 100644 drivers/char/ipmi/ipmi_si.h
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_hardcode.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_hotmod.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_mem_io.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_parisc.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_pci.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_platform.c
Âcreate mode 100644 drivers/char/ipmi/ipmi_si_port_io.c