From patchwork Tue Nov 30 00:26:20 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhao, Yakui" X-Patchwork-Id: 365682 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oAU0WRww027254 for ; Tue, 30 Nov 2010 00:32:30 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755784Ab0K3Aca (ORCPT ); Mon, 29 Nov 2010 19:32:30 -0500 Received: from mga02.intel.com ([134.134.136.20]:7352 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754776Ab0K3Ac3 (ORCPT ); Mon, 29 Nov 2010 19:32:29 -0500 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 29 Nov 2010 16:32:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.59,277,1288594800"; d="scan'208";a="682166492" Received: from yakui_zhao.sh.intel.com (HELO localhost.localdomain) ([10.239.36.20]) by orsmga001.jf.intel.com with ESMTP; 29 Nov 2010 16:32:27 -0800 From: yakui.zhao@intel.com To: minyard@acm.org Cc: openipmi-developer@lists.sourceforge.net, lenb@kernel.org, linux-acpi@vger.kernel.org, Zhao Yakui Subject: [RFC PATCH 3/4] IPMI: Add the document description of ipmi_get_smi_info Date: Tue, 30 Nov 2010 08:26:20 +0800 Message-Id: <1291076781-9438-4-git-send-email-yakui.zhao@intel.com> X-Mailer: git-send-email 1.5.4.5 In-Reply-To: <1291076781-9438-3-git-send-email-yakui.zhao@intel.com> References: <1291076781-9438-1-git-send-email-yakui.zhao@intel.com> <1291076781-9438-2-git-send-email-yakui.zhao@intel.com> <1291076781-9438-3-git-send-email-yakui.zhao@intel.com> Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Tue, 30 Nov 2010 00:32:30 +0000 (UTC) diff --git a/Documentation/IPMI.txt b/Documentation/IPMI.txt index 69dd29e..4683424 100644 --- a/Documentation/IPMI.txt +++ b/Documentation/IPMI.txt @@ -533,6 +533,47 @@ completion during sending a panic event. Other Pieces ------------ +Get the detailed info related with the IPMI device +-------- +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). + The function of ipmi_get_smi_info/ipmi_put_smi_info is added to get the +detailed info of IPMI device. The following is the struct definition of +ipmi_smi_info(Now only ACPI info is defined. If the info is required for +other IPMI address type, please add it). +struct ipmi_smi_info{ + enum ipmi_addr_src addr_src; + struct device *dev; + /* + * The addr_info can provide more detailed info of one IPMI device. + * Now only SI_ACPI info is provided. And it depends on the SI_ACPI + * address type. If the info is required for other address type, please + * add it. + */ + union { +#ifdef CONFIG_ACPI + /* the acpi_info element is defined for the SI_ACPI + * address type + */ + struct { + void *acpi_handle; + } acpi_info; +#endif + u8 addr_data[8]; /* This is only to reserve 8 bytes space */ + } addr_info; +}; + It is noted that the dev pointer is included in the above structure +definition. In order to assure that the device is correctly accessed, the +increment/decrement of the reference count is considered. The reference count +is increased in the function of ipmi_get_smi_info while it is decreased in +the function of ipmi_put_smi_info. In such case the ipmi_put_smi_info must be +called after the ipmi_get_smi_info is called successfully. + Watchdog --------