01 Nov, 2011

1 commit

  • The pretty much brings in the kitchen sink along
    with it, so it should be avoided wherever reasonably possible in
    terms of being included from other commonly used
    files, as it results in a measureable increase on compile times.

    The worst culprit was probably device.h since it is used everywhere.
    This file also had an implicit dependency/usage of mutex.h which was
    masked by module.h, and is also fixed here at the same time.

    There are over a dozen other headers that simply declare the
    struct instead of pulling in the whole file, so follow their lead
    and simply make it a few more.

    Most of the implicit dependencies on module.h being present by
    these headers pulling it in have been now weeded out, so we can
    finally make this change with hopefully minimal breakage.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

31 Mar, 2011

1 commit


14 Dec, 2010

1 commit

  • The IPMI smi_watcher will be used to catch the IPMI interface as they
    come or go. In order to communicate with the correct IPMI device, it
    should be confirmed whether it is what we wanted especially on the
    system with multiple IPMI devices. But the new_smi callback function
    of smi_watcher provides very limited info(only the interface number
    and dev pointer) and there is no detailed info about the low level
    interface. For example: which mechansim registers the IPMI
    interface(ACPI, PCI, DMI and so on).

    This is to add one interface that can get more info of low-level IPMI
    device. For example: the ACPI device handle will be returned for the
    pnp_acpi IPMI device.

    Signed-off-by: Zhao Yakui
    Signed-off-by: Corey Minyard
    Signed-off-by: Len Brown

    Zhao Yakui
     

22 Apr, 2009

1 commit

  • Enable userspace to receive messages that a BMC transmits using an OEM
    medium. This is used by the HP iLO2.

    Based on code originally written by Patrick Schoeller.

    Signed-off-by: dann frazier
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    dann frazier
     

29 Apr, 2008

3 commits

  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Lots of style fixes for the base IPMI driver. No functional changes.
    Basically fixes everything reported by checkpatch and fixes the comment
    style.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The "run_to_completion" mode was somewhat broken. Locks need to be avoided in
    run_to_completion mode, and it shouldn't be used by normal users, just
    internally for panic situations.

    This patch removes locks in run_to_completion mode and removes the user call
    for setting the mode. The only user was the poweroff code, but it was easily
    converted to use the polling interface.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

19 Oct, 2007

1 commit

  • Currently the IPMI watchdog timer sets the watchdog timeout on a panic, but it
    doesn't actually poll the interface to make sure the message goes out.

    Add an interface for polling the IPMI driver, and add code to the IPMI
    watchdog timer to poll the interface when the timer is set from a panic.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

08 Dec, 2006

1 commit

  • Some commands and operations on a BMC can cause the BMC to "go away" for a
    while. This can cause the automatic flag processing and other things of that
    nature to timeout and generate annoying logs, or possibly cause other bad
    things to happen when in firmware update mode.

    Add detection of those commands (cold reset, warm reset, and any firmware
    command) and turns off automatic processing for 30 seconds. It also add a
    manual override either way.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

01 Oct, 2006

1 commit

  • This patch adds the ability to register for a command per-channel in the
    IPMI driver.

    If your BMC supports multiple channels, incoming messages can be useful to
    have the ability to register to receive commands on a specific channel
    instead the current behaviour of all channels.

    Signed-off-by: David Barksdale
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

28 Jun, 2006

1 commit


25 Apr, 2006

1 commit


27 Mar, 2006

1 commit

  • Add full driver model support for the IPMI driver. It links in the proper
    bus and device support.

    It adds an "ipmi" driver interface that has each BMC discovered by the
    driver (as a device). These BMCs appear in the devices/platform directory.
    If there are multiple interfaces to the same BMC, the driver should
    discover this and will only have one BMC entry. The BMC entry will have
    pointers to each interface device that connects to it.

    The device information (statistics and config information) has not yet been
    ported over to the driver model from proc, that will come later.

    This work was based on work by Yani Ioannou. I basically rewrote it using
    that code as a guide, but he still deserves credit :).

    [bunk@stusta.de: make ipmi_find_bmc_guid() static]
    Signed-off-by: Corey Minyard
    Signed-off-by: Yani Ioannou
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

07 Nov, 2005

1 commit

  • This patch is rather large, but it really can't be done in smaller chunks
    easily and I believe it is an important change. This has been out and tested
    for a while in the latest IPMI driver release. There are no functional
    changes, just changes as necessary to convert the locking over (and a few
    minor style updates).

    The IPMI driver uses read/write locks to ensure that things exist while they
    are in use. This is bad from a number of points of view. This patch removes
    the rwlocks and uses refcounts and RCU lists to manage what the locks did.

    Signed-off-by: Corey Minyard
    Cc: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

08 Sep, 2005

3 commits

  • The "null message handler" in the IPMI driver is used in startup and panic
    situations to handle messages. It was only designed to work with messages
    from the local management controller, but in some cases it was used to get
    messages from remote managmenet controllers, and the system would then
    panic. This patch makes the "null message handler" in the IPMI driver more
    general so it works with any kind of message.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The IPMI driver include file needs to include compiler.h so it has definitions
    for __user and such.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • IPMI allows multiple IPMB channels on a single interface, and each channel
    might have a different IPMB address. However, the driver has only one IPMB
    address that it uses for everything. This patch adds new IOCTLS and a new
    internal interface for setting per-channel IPMB addresses and LUNs. New
    systems are coming out with support for multiple IPMB channels, and they are
    broken without this patch.

    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

24 Jun, 2005

1 commit

  • This patch to adds "power cycle" functionality to the IPMI power off module
    ipmi_poweroff. It also contains changes to support procfs control of the
    feature.

    The power cycle action is considered an optional chassis control in the IPMI
    specification. However, it is definitely useful when the hardware supports
    it. A power cycle is usually required in order to reset a firmware in a bad
    state. This action is critical to allow remote management of servers.

    The implementation adds power cycle as optional to the ipmi_poweroff module.
    It can be modified dynamically through the proc entry mentioned above. During
    a power down and enabled, the power cycle command is sent to the BMC firmware.
    If it fails either due to non-support or some error, it will retry to send
    the command as power off.

    Signed-off-by: Christopher A. Poblete
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds