Commit 8de1037a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-6.1-1' of https://github.com/cminyard/linux-ipmi

Pull IPMI updates from Corey Minyard:
 "Fix a bunch of little problems in IPMI

  This is mostly just doc, config, and little tweaks. Nothing big, which
  is why there was nothing for 6.0. There is one crash fix, but it's not
  something that I think anyone is using yet"

* tag 'for-linus-6.1-1' of https://github.com/cminyard/linux-ipmi:
  ipmi: Remove unused struct watcher_entry
  ipmi: kcs: aspeed: Update port address comments
  ipmi: Add __init/__exit annotations to module init/exit funcs
  ipmi:ipmb: Don't call ipmi_unregister_smi() on a register failure
  ipmi:ipmb: Fix a vague comment and a typo
  dt-binding: ipmi: add fallback to npcm845 compatible
  ipmi: Fix comment typo
  char: ipmi: modify NPCM KCS configuration
  dt-bindings: ipmi: Add npcm845 compatible
parents c6cc4f72 05763c99
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
* Nuvoton NPCM7xx KCS (Keyboard Controller Style) IPMI interface
* Nuvoton NPCM KCS (Keyboard Controller Style) IPMI interface

The Nuvoton SOCs (NPCM7xx) are commonly used as BMCs
The Nuvoton SOCs (NPCM) are commonly used as BMCs
(Baseboard Management Controllers) and the KCS interface can be
used to perform in-band IPMI communication with their host.

Required properties:
- compatible : should be one of
    "nuvoton,npcm750-kcs-bmc"
    "nuvoton,npcm845-kcs-bmc", "nuvoton,npcm750-kcs-bmc"
- interrupts : interrupt generated by the controller
- kcs_chan : The KCS channel number in the controller

+3 −3
Original line number Diff line number Diff line
@@ -119,13 +119,13 @@ config ASPEED_KCS_IPMI_BMC
	  provides the access of KCS IO space for BMC side.

config NPCM7XX_KCS_IPMI_BMC
	depends on ARCH_NPCM7XX || COMPILE_TEST
	depends on ARCH_NPCM || COMPILE_TEST
	select IPMI_KCS_BMC
	select REGMAP_MMIO
	tristate "NPCM7xx KCS IPMI BMC driver"
	tristate "NPCM KCS IPMI BMC driver"
	help
	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
	  interface found on Nuvoton NPCM7xx SOCs.
	  interface found on Nuvoton NPCM SOCs.

	  The driver implements the BMC side of the KCS contorller, it
	  provides the access of KCS IO space for BMC side.
+10 −6
Original line number Diff line number Diff line
@@ -219,7 +219,7 @@ static void ipmi_ipmb_send_response(struct ipmi_ipmb_dev *iidev,
	if ((msg->data[0] >> 2) & 1) {
		/*
		 * It's a response being sent, we need to return a
		 * response response.  Fake a send msg command
		 * response to the response.  Fake a send msg command
		 * response with channel 0.  This will always be ipmb
		 * direct.
		 */
@@ -424,10 +424,8 @@ static void ipmi_ipmb_request_events(void *send_info)
	/* We don't fetch events here. */
}

static void ipmi_ipmb_remove(struct i2c_client *client)
static void ipmi_ipmb_cleanup(struct ipmi_ipmb_dev *iidev)
{
	struct ipmi_ipmb_dev *iidev = i2c_get_clientdata(client);

	if (iidev->slave) {
		i2c_slave_unregister(iidev->slave);
		if (iidev->slave != iidev->client)
@@ -436,7 +434,13 @@ static void ipmi_ipmb_remove(struct i2c_client *client)
	iidev->slave = NULL;
	iidev->client = NULL;
	ipmi_ipmb_stop_thread(iidev);
}

static void ipmi_ipmb_remove(struct i2c_client *client)
{
	struct ipmi_ipmb_dev *iidev = i2c_get_clientdata(client);

	ipmi_ipmb_cleanup(iidev);
	ipmi_unregister_smi(iidev->intf);
}

@@ -542,7 +546,7 @@ static int ipmi_ipmb_probe(struct i2c_client *client)
out_err:
	if (slave && slave != client)
		i2c_unregister_device(slave);
	ipmi_ipmb_remove(client);
	ipmi_ipmb_cleanup(iidev);
	return rv;
}

+1 −7
Original line number Diff line number Diff line
@@ -736,12 +736,6 @@ static void intf_free(struct kref *ref)
	kfree(intf);
}

struct watcher_entry {
	int              intf_num;
	struct ipmi_smi  *intf;
	struct list_head link;
};

int ipmi_smi_watcher_register(struct ipmi_smi_watcher *watcher)
{
	struct ipmi_smi *intf;
@@ -4357,7 +4351,7 @@ static int handle_oem_get_msg_cmd(struct ipmi_smi *intf,

			/*
			 * The message starts at byte 4 which follows the
			 * the Channel Byte in the "GET MESSAGE" command
			 * Channel Byte in the "GET MESSAGE" command
			 */
			recv_msg->msg.data_len = msg->rsp_size - 4;
			memcpy(recv_msg->msg_data, &msg->rsp[4],
+2 −2
Original line number Diff line number Diff line
@@ -2098,7 +2098,7 @@ static struct platform_driver ipmi_driver = {
	.id_table       = ssif_plat_ids
};

static int init_ipmi_ssif(void)
static int __init init_ipmi_ssif(void)
{
	int i;
	int rv;
@@ -2140,7 +2140,7 @@ static int init_ipmi_ssif(void)
}
module_init(init_ipmi_ssif);

static void cleanup_ipmi_ssif(void)
static void __exit cleanup_ipmi_ssif(void)
{
	if (!initialized)
		return;
Loading