linux/drcvers/acpi/acpi_ipmi.c
<<
tionv2./spa > v2./Serm./Serm12" > v2.6.32.12Serm./Simg src="../.static/gfx/right.png" alt=">>">SeSerm12" SeSrm12 class="lxr_search">Serm< v2 action="+search" method="post" onsubmit="return do_search(this);">Serm./Sinput typt.=hidden" namt.=navtarget" ment.=">Serm./Sinput typt.=text" namt.=search" id.=search">Serm./Sbuttiontypt.=submit">Search v2.6.Serm12" SeSrm12 class="lxr_prefs".6.32.12href="+prefs?return=drivers/acpi/acpi_ipmi.c"Serm./Prefs > a>SeSerm12" opt3 > div" opt3 > v2 action="ajax+*" method="post" onsubmit="return false;">SeSinput typt.=hidden" namt.=ajax_lookup" id.=ajax_lookup" ment.=">Sopt3 > v2.6Sopt3 >div class="headingbottim">div id.=search_results" class="search_results" " opt3 > div" >div id.=content"> >div id.=file_contents".
3  1>
a>Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L2" id.=L2" class="line" namt.=L2">3  2>
a>Srm12 class="comment"> *  acpi_ipmi.c - ACPI IPMI opregionSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L3" id.=L3" class="line" namt.=L3">3  3>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L4" id.=L4" class="line" namt.=L4">3  4>
a>Srm12 class="comment"> *  Copyright (C) 2010 Intel CorporationSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L5" id.=L5" class="line" namt.=L5">3  5>
a>Srm12 class="comment"> *  Copyright (C) 2010 Zhao Yakui <yakui.zhao@intel.com>Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L6" id.=L6" class="line" namt.=L6">3  6>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L7" id.=L7" class="line" namt.=L7">3  7>
a>Srm12 class="comment"> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L8" id.=L8" class="line" namt.=L8">3  8>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L9" id.=L9" class="line" namt.=L9">3  9>
a>Srm12 class="comment"> *  This program is free software; you c12 redistribute it and/or modifySerm12"
<12href="drivers/acpi/acpi_ipmi.c#L10" id.=L10" class="line" namt.=L10">3 .28.a>Srm12 class="comment"> *  it under the terms of the GNU General Public License as published bySerm12"
<12href="drivers/acpi/acpi_ipmi.c#L11" id.=L11" class="line" namt.=L11">3 11>
a>Srm12 class="comment"> *  the Free Software Foundation; either verstion2 of the License, or (atSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L12" id.=L12" class="line" namt.=L12">3 12>
a>Srm12 class="comment"> *  your >
tion) any later verstio.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L13" id.=L13" class="line" namt.=L13">3 13>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L14" id.=L14" class="line" namt.=L14">3 14>
a>Srm12 class="comment"> *  This program is distributed in the hope that it will be useful, butSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L15" id.=L15" class="line" namt.=L15">3 15>
a>Srm12 class="comment"> *  WITHOUT ANY WARRANTY; without even the implied warranty ofSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L16" id.=L16" class="line" namt.=L16">3 16>
a>Srm12 class="comment"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L17" id.=L17" class="line" namt.=L17">3 17>
a>Srm12 class="comment"> *  General Public License for more details.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L18" id.=L18" class="line" namt.=L18">3 18>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L19" id.=L19" class="line" namt.=L19">3 19>
a>Srm12 class="comment"> *  You should have received a copy of the GNU General Public License alongSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L20" id.=L20" class="line" namt.=L20">3 228.a>Srm12 class="comment"> *  with this program; if not, write to the Free Software Foundation, Inc.,Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L21" id.=L21" class="line" namt.=L21">3 21>
a>Srm12 class="comment"> *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L22" id.=L22" class="line" namt.=L22">3 22>
a>Srm12 class="comment"> *Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L23" id.=L23" class="line" namt.=L23">3 23>
a>Srm12 class="comment"> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L24" id.=L24" class="line" namt.=L24">3 24>
a>Srm12 class="comment"> */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L25" id.=L25" class="line" namt.=L25">3 25>
a>
<12href="drivers/acpi/acpi_ipmi.c#L26" id.=L26" class="line" namt.=L26">3 26>
a>#include <<12href="include/linux/kernel.h" class="fref">linux/kernel.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L27" id.=L27" class="line" namt.=L27">3 27>
a>#include <<12href="include/linux/module.h" class="fref">linux/module.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L28" id.=L28" class="line" namt.=L28">3 28>
a>#include <<12href="include/linux/init.h" class="fref">linux/init.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L29" id.=L29" class="line" namt.=L29">3 29>
a>#include <<12href="include/linux/typts.h" class="fref">linux/typts.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L30" id.=L30" class="line" namt.=L30">3 30>
a>#include <<12href="include/linux/delay.h" class="fref">linux/delay.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L31" id.=L31" class="line" namt.=L31">3 31>
a>#include <<12href="include/linux/proc_fs.h" class="fref">linux/proc_fs.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L32" id.=L32" class="line" namt.=L32">3 32>
a>#include <<12href="include/linux/seq_file.h" class="fref">linux/seq_file.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L33" id.=L33" class="line" namt.=L33">3 33>
a>#include <<12href="include/linux/interrupt.h" class="fref">linux/interrupt.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L34" id.=L34" class="line" namt.=L34">3 34>
a>#include <<12href="include/linux/list.h" class="fref">linux/list.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L35" id.=L35" class="line" namt.=L35">3 35>
a>#include <<12href="include/linux/spinlock.h" class="fref">linux/spinlock.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L36" id.=L36" class="line" namt.=L36">3 36>
a>#include <<12href="include/linux/io.h" class="fref">linux/io.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L37" id.=L37" class="line" namt.=L37">3 37>
a>#include <<12href="include/acpi/acpi_bus.h" class="fref">acpi/acpi_bus.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L38" id.=L38" class="line" namt.=L38">3 38>
a>#include <<12href="include/acpi/acpi_drivers.h" class="fref">acpi/acpi_drivers.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L39" id.=L39" class="line" namt.=L39">3 39>
a>#include <<12href="include/linux/ipmi.h" class="fref">linux/ipmi.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L40" id.=L40" class="line" namt.=L40">3 40>
a>#include <<12href="include/linux/device.h" class="fref">linux/device.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L41" id.=L41" class="line" namt.=L41">3 41>
a>#include <<12href="include/linux/pnp.h" class="fref">linux/pnp.h>
a>>
<12href="drivers/acpi/acpi_ipmi.c#L42" id.=L42" class="line" namt.=L42">3 42>
a>
<12href="drivers/acpi/acpi_ipmi.c#L43" id.=L43" class="line" namt.=L43">3 43>
a>S12href="+code=MODULE_AUTHOR" class="sref">MODULE_AUTHOR>
a>(Srm12 class="string">"Zhao Yakui"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L44" id.=L44" class="line" namt.=L44">3 44>
a>S12href="+code=MODULE_DESCRIPTION" class="sref">MODULE_DESCRIPTION>
a>(Srm12 class="string">"ACPI IPMI Opregion driver"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L45" id.=L45" class="line" namt.=L45">3 45>
a>S12href="+code=MODULE_LICENSE" class="sref">MODULE_LICENSE>
a>(Srm12 class="string">"GPL"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L46" id.=L46" class="line" namt.=L46">3 46>
a>
<12href="drivers/acpi/acpi_ipmi.c#L47" id.=L47" class="line" namt.=L47">3 47>
a>#define S12href="+code=IPMI_FLAGS_HANDLER_INSTALL" class="sref">IPMI_FLAGS_HANDLER_INSTALL>
a>opt3  0
<12href="drivers/acpi/acpi_ipmi.c#L48" id.=L48" class="line" namt.=L48">3 48>
a>
<12href="drivers/acpi/acpi_ipmi.c#L49" id.=L49" class="line" namt.=L49">3 49>
a>#define S12href="+code=ACPI_IPMI_OK" class="sref">ACPI_IPMI_OK>
a>opt3                0
<12href="drivers/acpi/acpi_ipmi.c#L50" id.=L50" class="line" namt.=L50">3 50>
a>#define S12href="+code=ACPI_IPMI_TIMEOUT" class="sref">ACPI_IPMI_TIMEOUT>
a>opt3           0x10
<12href="drivers/acpi/acpi_ipmi.c#L51" id.=L51" class="line" namt.=L51">3 51>
a>#define S12href="+code=ACPI_IPMI_UNKNOWN" class="sref">ACPI_IPMI_UNKNOWN>
a>opt3           0x07
<12href="drivers/acpi/acpi_ipmi.c#L52" id.=L52" class="line" namt.=L52">3 52>
a>Srm12 class="comment">/* the IPMI timeout is 5s */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L53" id.=L53" class="line" namt.=L53">3 53>
a>#define S12href="+code=IPMI_TIMEOUT" class="sref">IPMI_TIMEOUT>
a>opt3                (5 * S12href="+code=HZ" class="sref">HZ>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L54" id.=L54" class="line" namt.=L54">3 54>
a>
<12href="drivers/acpi/acpi_ipmi.c#L55" id.=L55" class="line" namt.=L55">3 55>
a>struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o{
<12href="drivers/acpi/acpi_ipmi.c#L56" id.=L56" class="line" namt.=L56">3 56>
a>opt3    Srm12 class="comment">/* the device list attached to driver_data.ipmi_devices */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L57" id.=L57" class="line" namt.=L57">3 57>
a>opt3    struct S12href="+code=list_head" class="sref">list_head>
a>oS12href="+code=head" class="sref">head>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L58" id.=L58" class="line" namt.=L58">3 58>
a>opt3    Srm12 class="comment">/* the IPMI request message list */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L59" id.=L59" class="line" namt.=L59">3 59>
a>opt3    struct S12href="+code=list_head" class="sref">list_head>
a>oS12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L60" id.=L60" class="line" namt.=L60">3 60>
a>opt3    struct S12href="+code=mutex" class="sref">mutex>
a>opt3S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L61" id.=L61" class="line" namt.=L61">3 61>
a>opt3    S12href="+code=acpi_handle" class="sref">acpi_handle>
a>oS12href="+code=handle" class="sref">handle>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L62" id.=L62" class="line" namt.=L62">3 62>
a>opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L63" id.=L63" class="line" namt.=L63">3 63>
a>opt3    S12href="+code=ipmi_user_t" class="sref">ipmi_user_t>
a>opt3 S12href="+code=user_interface" class="sref">user_interface>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L64" id.=L64" class="line" namt.=L64">3 64>
a>opt3    int S12href="+code=ipmi_ifnum" class="sref">ipmi_ifnum>
a>; Srm12 class="comment">/* IPMI interface number */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L65" id.=L65" class="line" namt.=L65">3 65>
a>opt3    long S12href="+code=curr_msgid" class="sref">curr_msgid>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L66" id.=L66" class="line" namt.=L66">3 66>
a>opt3    unsigned long S12href="+code=flags" class="sref">flags>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L67" id.=L67" class="line" namt.=L67">3 67>
a>opt3    struct S12href="+code=ipmi_smi_info" class="sref">ipmi_smi_info>
a>oS12href="+code=smi_data" class="sref">smi_data>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L68" id.=L68" class="line" namt.=L68">3 68>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L69" id.=L69" class="line" namt.=L69">3 69>
a>
<12href="drivers/acpi/acpi_ipmi.c#L70" id.=L70" class="line" namt.=L70">3 70>
a>struct S12href="+code=ipmi_driver_data" class="sref">ipmi_driver_data>
a>o{
<12href="drivers/acpi/acpi_ipmi.c#L71" id.=L71" class="line" namt.=L71">3 71>
a>opt3    struct S12href="+code=list_head" class="sref">list_head>
a>opt3    S12href="+code=ipmi_devices" class="sref">ipmi_devices>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L72" id.=L72" class="line" namt.=L72">3 72>
a>opt3    struct S12href="+code=ipmi_smi_watcher" class="sref">ipmi_smi_watcher>
a>oS12href="+code=bmc_events" class="sref">bmc_events>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L73" id.=L73" class="line" namt.=L73">3 73>
a>opt3    struct S12href="+code=ipmi_user_hndl" class="sref">ipmi_user_hndl>
a>optS12href="+code=ipmi_hndlrs" class="sref">ipmi_hndlrs>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L74" id.=L74" class="line" namt.=L74">3 74>
a>opt3    struct S12href="+code=mutex" class="sref">mutex>
a>opt3opt3    S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L75" id.=L75" class="line" namt.=L75">3 75>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L76" id.=L76" class="line" namt.=L76">3 76>
a>
<12href="drivers/acpi/acpi_ipmi.c#L77" id.=L77" class="line" namt.=L77">3 77>
a>struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o{
<12href="drivers/acpi/acpi_ipmi.c#L78" id.=L78" class="line" namt.=L78">3 78>
a>opt3    struct S12href="+code=list_head" class="sref">list_head>
a>oS12href="+code=head" class="sref">head>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L79" id.=L79" class="line" namt.=L79">3 79>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L80" id.=L80" class="line" namt.=L80">3 828.a>Srm12 class="comment">         * General speaking the addr typt should be SI_ADDR_TYPE. AndSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L81" id.=L81" class="line" namt.=L81">3 81>
a>Srm12 class="comment">         * the addr channel should be BMC.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L82" id.=L82" class="line" namt.=L82">3 82>
a>Srm12 class="comment">         * In fact it c12 also be IPMB typt. But we will have toSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L83" id.=L83" class="line" namt.=L83">3 83>
a>Srm12 class="comment">         * parse it from the Netf2 command buffer. It is so complex>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L84" id.=L84" class="line" namt.=L84">3 84>
a>Srm12 class="comment">         * that it is skipped.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L85" id.=L85" class="line" namt.=L85">3 85>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L86" id.=L86" class="line" namt.=L86">3 86>
a>opt3    struct S12href="+code=ipmi_addr" class="sref">ipmi_addr>
a>oS12href="+code=addr" class="sref">addr>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L87" id.=L87" class="line" namt.=L87">3 87>
a>opt3    long S12href="+code=tx_msgid" class="sref">tx_msgid>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L88" id.=L88" class="line" namt.=L88">3 88>
a>opt3    Srm12 class="comment">/* it is used to track whether the IPMI message is finished */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L89" id.=L89" class="line" namt.=L89">3 89>
a>opt3    struct S12href="+code=completion" class="sref">completion>
a>oS12href="+code=tx_complete" class="sref">tx_complete>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L90" id.=L90" class="line" namt.=L90">3 90>
a>opt3    struct S12href="+code=kernel_ipmi_msg" class="sref">kernel_ipmi_msg>
a>oS12href="+code=tx_message" class="sref">tx_message>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L91" id.=L91" class="line" namt.=L91">3 91>
a>opt3    int     S12href="+code=msg_done" class="sref">msg_done>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L92" id.=L92" class="line" namt.=L92">3 92>
a>opt3    Srm12 class="comment">/* tx data . And copy it from ACPI object buffer */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L93" id.=L93" class="line" namt.=L93">3 93>
a>opt3    S12href="+code=u8" class="sref">u8>
a>opt3  S12href="+code=tx_data" class="sref">tx_data>
a>[64];
<12href="drivers/acpi/acpi_ipmi.c#L94" id.=L94" class="line" namt.=L94">3 94>
a>opt3    int t3  S12href="+code=tx_len" class="sref">tx_len>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L95" id.=L95" class="line" namt.=L95">3 95>
a>opt3    S12href="+code=u8" class="sref">u8>
a>opt3  S12href="+code=rx_data" class="sref">rx_data>
a>[64];
<12href="drivers/acpi/acpi_ipmi.c#L96" id.=L96" class="line" namt.=L96">3 96>
a>opt3    int t3  S12href="+code=rx_len" class="sref">rx_len>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L97" id.=L97" class="line" namt.=L97">3 97>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=device" class="sref">device>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L98" id.=L98" class="line" namt.=L98">3 98>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L99" id.=L99" class="line" namt.=L99">3 99>
a>
<12href="drivers/acpi/acpi_ipmi.c#L100" id.=L100" class="line" namt.=L100">3100>
a>Srm12 class="comment">/* IPMI request/response buffer per ACPI 4.0, sec 5.5.2.4.3.2 */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L101" id.=L101" class="line" namt.=L101">3101>
a>struct S12href="+code=acpi_ipmi_buffer" class="sref">acpi_ipmi_buffer>
a>o{
<12href="drivers/acpi/acpi_ipmi.c#L102" id.=L102" class="line" namt.=L102">3102>
a>opt3    S12href="+code=u8" class="sref">u8>
a>oS12href="+code=status" class="sref">status>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L103" id.=L103" class="line" namt.=L103">3103>
a>opt3    S12href="+code=u8" class="sref">u8>
a>oS12href="+code=length" class="sref">length>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L104" id.=L104" class="line" namt.=L104">3104>
a>opt3    S12href="+code=u8" class="sref">u8>
a>oS12href="+code=data" class="sref">data>
a>[64];
<12href="drivers/acpi/acpi_ipmi.c#L105" id.=L105" class="line" namt.=L105">3105>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L106" id.=L106" class="line" namt.=L106">3106>
a>
<12href="drivers/acpi/acpi_ipmi.c#L107" id.=L107" class="line" namt.=L107">3107>
a>static void S12href="+code=ipmi_register_bmc" class="sref">ipmi_register_bmc>
a>(int S12href="+code=iface" class="sref">iface>
a>, struct S12href="+code=device" class="sref">device>
a>o*S12href="+code=dev" class="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L108" id.=L108" class="line" namt.=L108">3108>
a>static void S12href="+code=ipmi_bmc_gone" class="sref">ipmi_bmc_gone>
a>(int S12href="+code=iface" class="sref">iface>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L109" id.=L109" class="line" namt.=L109">3109>
a>static void S12href="+code=ipmi_msg_handler" class="sref">ipmi_msg_handler>
a>(struct S12href="+code=ipmi_recv_msg" class="sref">ipmi_recv_msg>
a>o*S12href="+code=msg" class="sref">msg>
a>, void *S12href="+code=user_msg_data" class="sref">user_msg_data>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L110" id.=L110" class="line" namt.=L110">3110>
a>static void S12href="+code=acpi_add_ipmi_device" class="sref">acpi_add_ipmi_device>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L111" id.=L111" class="line" namt.=L111">3111>
a>static void S12href="+code=acpi_remove_ipmi_device" class="sref">acpi_remove_ipmi_device>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L112" id.=L112" class="line" namt.=L112">3112>
a>
<12href="drivers/acpi/acpi_ipmi.c#L113" id.=L113" class="line" namt.=L113">3113>
a>static struct S12href="+code=ipmi_driver_data" class="sref">ipmi_driver_data>
a>oS12href="+code=driver_data" class="sref">driver_data>
a>o=o{
<12href="drivers/acpi/acpi_ipmi.c#L114" id.=L114" class="line" namt.=L114">3114>
a>opt3    .S12href="+code=ipmi_devices" class="sref">ipmi_devices>
a>o=oS12href="+code=LIST_HEAD_INIT" class="sref">LIST_HEAD_INIT>
a>(S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_devices" class="sref">ipmi_devices>
a>),
<12href="drivers/acpi/acpi_ipmi.c#L115" id.=L115" class="line" namt.=L115">3115>
a>opt3    .S12href="+code=bmc_events" class="sref">bmc_events>
a>o=o{
<12href="drivers/acpi/acpi_ipmi.c#L116" id.=L116" class="line" namt.=L116">3116>
a>opt3    opt3    .S12href="+code=owner" class="sref">owner>
a>o=oS12href="+code=THIS_MODULE" class="sref">THIS_MODULE>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L117" id.=L117" class="line" namt.=L117">3117>
a>opt3    opt3    .S12href="+code=new_smi" class="sref">new_smi>
a>o=oS12href="+code=ipmi_register_bmc" class="sref">ipmi_register_bmc>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L118" id.=L118" class="line" namt.=L118">3118>
a>opt3    opt3    .S12href="+code=smi_gone" class="sref">smi_gone>
a>o=oS12href="+code=ipmi_bmc_gone" class="sref">ipmi_bmc_gone>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L119" id.=L119" class="line" namt.=L119">3119>
a>opt3    },
<12href="drivers/acpi/acpi_ipmi.c#L120" id.=L120" class="line" namt.=L120">3120>
a>opt3    .S12href="+code=ipmi_hndlrs" class="sref">ipmi_hndlrs>
a>o=o{
<12href="drivers/acpi/acpi_ipmi.c#L121" id.=L121" class="line" namt.=L121">3121>
a>opt3    opt3    .S12href="+code=ipmi_recv_hndl" class="sref">ipmi_recv_hndl>
a>o=oS12href="+code=ipmi_msg_handler" class="sref">ipmi_msg_handler>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L122" id.=L122" class="line" namt.=L122">3122>
a>opt3    },
<12href="drivers/acpi/acpi_ipmi.c#L123" id.=L123" class="line" namt.=L123">3123>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L124" id.=L124" class="line" namt.=L124">3124>
a>
<12href="drivers/acpi/acpi_ipmi.c#L125" id.=L125" class="line" namt.=L125">3125>
a>static struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=acpi_alloc_ipmi_msg" class="sref">acpi_alloc_ipmi_msg>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi" class="sref">ipmi>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L126" id.=L126" class="line" namt.=L126">3126>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L127" id.=L127" class="line" namt.=L127">3127>
a>opt3    struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L128" id.=L128" class="line" namt.=L128">3128>
a>opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L129" id.=L129" class="line" namt.=L129">3129>
a>
<12href="drivers/acpi/acpi_ipmi.c#L130" id.=L130" class="line" namt.=L130">3130>
a>opt3    S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>o=oS12href="+code=kzalloc" class="sref">kzalloc>
a>(sizeof(struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>), S12href="+code=GFP_KERNEL" class="sref">GFP_KERNEL>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L131" id.=L131" class="line" namt.=L131">3131>
a>opt3    if (!S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>) o{
<12href="drivers/acpi/acpi_ipmi.c#L132" id.=L132" class="line" namt.=L132">3132>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"Can't allocate memory for ipmi_msg\n"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L133" id.=L133" class="line" namt.=L133">3133>
a>opt3    opt3    return S12href="+code=NULL" class="sref">NULL>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L134" id.=L134" class="line" namt.=L134">3134>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L135" id.=L135" class="line" namt.=L135">3135>
a>opt3    S12href="+code=init_completion" class="sref">init_completion>
a>(&S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>->S12href="+code=tx_complete" class="sref">tx_complete>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L136" id.=L136" class="line" namt.=L136">3136>
a>opt3    S12href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD>
a>(&S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>->S12href="+code=head" class="sref">head>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L137" id.=L137" class="line" namt.=L137">3137>
a>opt3    S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>->S12href="+code=device" class="sref">device>
a>o=oS12href="+code=ipmi" class="sref">ipmi>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L138" id.=L138" class="line" namt.=L138">3138>
a>opt3    return S12href="+code=ipmi_msg" class="sref">ipmi_msg>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L139" id.=L139" class="line" namt.=L139">3139>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L140" id.=L140" class="line" namt.=L140">3140>
a>
<12href="drivers/acpi/acpi_ipmi.c#L141" id.=L141" class="line" namt.=L141">3141>
a>#define opt3    S12href="+code=IPMI_OP_RGN_NETFN" class="sref">IPMI_OP_RGN_NETFN>
a>(S12href="+code=offset" class="sref">offset>
a>) oooooo((S12href="+code=offset" class="sref">offset>
a> >> 8) & 0xff)
<12href="drivers/acpi/acpi_ipmi.c#L142" id.=L142" class="line" namt.=L142">3142>
a>#define opt3    S12href="+code=IPMI_OP_RGN_CMD" class="sref">IPMI_OP_RGN_CMD>
a>(S12href="+code=offset" class="sref">offset>
a>) oooooooo(S12href="+code=offset" class="sref">offset>
a> & 0xff)
<12href="drivers/acpi/acpi_ipmi.c#L143" id.=L143" class="line" namt.=L143">3143>
a>static void S12href="+code=acpi_  v2at_ipmi_msg" class="sref">acpi_  v2at_ipmi_msg>
a>(struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=tx_msg" class="sref">tx_msg>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L144" id.=L144" class="line" namt.=L144">3144>
a>opt3    opt3    opt3    opt3    S12href="+code=acpi_physical_address" class="sref">acpi_physical_address>
a>oS12href="+code=address" class="sref">address>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L145" id.=L145" class="line" namt.=L145">3145>
a>opt3    opt3    opt3    opt3    S12href="+code=acpi_integer" class="sref">acpi_integer>
a>o*S12href="+code= ment" class="sref"> ment>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L146" id.=L146" class="line" namt.=L146">3146>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L147" id.=L147" class="line" namt.=L147">3147>
a>opt3    struct S12href="+code=kernel_ipmi_msg" class="sref">kernel_ipmi_msg>
a>o*S12href="+code=msg" class="sref">msg>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L148" id.=L148" class="line" namt.=L148">3148>
a>opt3    struct S12href="+code=acpi_ipmi_buffer" class="sref">acpi_ipmi_buffer>
a>o*S12href="+code=buffer" class="sref">buffer>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L149" id.=L149" class="line" namt.=L149">3149>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=device" class="sref">device>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L150" id.=L150" class="line" namt.=L150">3150>
a>
<12href="drivers/acpi/acpi_ipmi.c#L151" id.=L151" class="line" namt.=L151">3151>
a>opt3    S12href="+code=msg" class="sref">msg>
a>o=o&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_message" class="sref">tx_message>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L152" id.=L152" class="line" namt.=L152">3152>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L153" id.=L153" class="line" namt.=L153">3153>
a>Srm12 class="comment">         * IPMI network function and command are encoded in the address>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L154" id.=L154" class="line" namt.=L154">3154>
a>Srm12 class="comment">         * within the IPMI OpRegion; see ACPI 4.0, sec 5.5.2.4.3.>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L155" id.=L155" class="line" namt.=L155">3155>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L156" id.=L156" class="line" namt.=L156">3156>
a>opt3    S12href="+code=msg" class="sref">msg>
a>->S12href="+code=netf2" class="sref">netf2>
a>o=oS12href="+code=IPMI_OP_RGN_NETFN" class="sref">IPMI_OP_RGN_NETFN>
a>(S12href="+code=address" class="sref">address>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L157" id.=L157" class="line" namt.=L157">3157>
a>opt3    S12href="+code=msg" class="sref">msg>
a>->S12href="+code=cmd" class="sref">cmd>
a>o=oS12href="+code=IPMI_OP_RGN_CMD" class="sref">IPMI_OP_RGN_CMD>
a>(S12href="+code=address" class="sref">address>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L158" id.=L158" class="line" namt.=L158">3158>
a>opt3    S12href="+code=msg" class="sref">msg>
a>->S12href="+code=data" class="sref">data>
a>o=oS12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_data" class="sref">tx_data>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L159" id.=L159" class="line" namt.=L159">3159>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L160" id.=L160" class="line" namt.=L160">31628.a>Srm12 class="comment">         *  ment is the paramtter passed by the IPMI opregion rm1ce handler.>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L161" id.=L161" class="line" namt.=L161">3161>
a>Srm12 class="comment">         * It points to the IPMI request message buffer>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L162" id.=L162" class="line" namt.=L162">3162>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L163" id.=L163" class="line" namt.=L163">3163>
a>opt3    S12href="+code=buffer" class="sref">buffer>
a>o=o(struct S12href="+code=acpi_ipmi_buffer" class="sref">acpi_ipmi_buffer>
a>o*)S12href="+code= ment" class="sref"> ment>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L164" id.=L164" class="line" namt.=L164">3164>
a>opt3    Srm12 class="comment">/* copy the tx message data */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L165" id.=L165" class="line" namt.=L165">3165>
a>opt3    S12href="+code=msg" class="sref">msg>
a>->S12href="+code=data_len" class="sref">data_len>
a>o=oS12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=length" class="sref">length>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L166" id.=L166" class="line" namt.=L166">3166>
a>opt3    S12href="+code=memcpy" class="sref">memcpy>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_data" class="sref">tx_data>
a>, S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=data" class="sref">data>
a>, S12href="+code=msg" class="sref">msg>
a>->S12href="+code=data_len" class="sref">data_len>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L167" id.=L167" class="line" namt.=L167">3167>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L168" id.=L168" class="line" namt.=L168">3168>
a>Srm12 class="comment">         * now the default typt is SYSTEM_INTERFACE and channel typt is BMC.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L169" id.=L169" class="line" namt.=L169">3169>
a>Srm12 class="comment">         * If the netf2 is APP_REQUEST and the cmd is SEND_MESSAGE,Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L170" id.=L170" class="line" namt.=L170">31728.a>Srm12 class="comment">         * the addr typt should be changed to IPMB. Then we will have to parseSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L171" id.=L171" class="line" namt.=L171">3171>
a>Srm12 class="comment">         * the IPMI request message buffer to get the IPMB address.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L172" id.=L172" class="line" namt.=L172">3172>
a>Srm12 class="comment">         * If so, please fix me.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L173" id.=L173" class="line" namt.=L173">3173>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L174" id.=L174" class="line" namt.=L174">3174>
a>opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=addr" class="sref">addr>
a>.S12href="+code=addr_typt" class="sref">addr_typt>
a>o=oS12href="+code=IPMI_SYSTEM_INTERFACE_ADDR_TYPE" class="sref">IPMI_SYSTEM_INTERFACE_ADDR_TYPE>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L175" id.=L175" class="line" namt.=L175">3175>
a>opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=addr" class="sref">addr>
a>.S12href="+code=channel" class="sref">channel>
a>o=oS12href="+code=IPMI_BMC_CHANNEL" class="sref">IPMI_BMC_CHANNEL>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L176" id.=L176" class="line" namt.=L176">3176>
a>opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=addr" class="sref">addr>
a>.S12href="+code=data" class="sref">data>
a>[0]o=o0;
<12href="drivers/acpi/acpi_ipmi.c#L177" id.=L177" class="line" namt.=L177">3177>
a>
<12href="drivers/acpi/acpi_ipmi.c#L178" id.=L178" class="line" namt.=L178">3178>
a>opt3    Srm12 class="comment">/* Get the msgid */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L179" id.=L179" class="line" namt.=L179">3179>
a>opt3    S12href="+code=device" class="sref">device>
a>o=oS12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=device" class="sref">device>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L180" id.=L180" class="line" namt.=L180">3180>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=device" class="sref">device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L181" id.=L181" class="line" namt.=L181">3181>
a>opt3    S12href="+code=device" class="sref">device>
a>->S12href="+code=curr_msgid" class="sref">curr_msgid>
a>++;
<12href="drivers/acpi/acpi_ipmi.c#L182" id.=L182" class="line" namt.=L182">3182>
a>opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_msgid" class="sref">tx_msgid>
a>o=oS12href="+code=device" class="sref">device>
a>->S12href="+code=curr_msgid" class="sref">curr_msgid>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L183" id.=L183" class="line" namt.=L183">3183>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=device" class="sref">device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L184" id.=L184" class="line" namt.=L184">3184>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L185" id.=L185" class="line" namt.=L185">3185>
a>
<12href="drivers/acpi/acpi_ipmi.c#L186" id.=L186" class="line" namt.=L186">3186>
a>static void S12href="+code=acpi_  v2at_ipmi_response" class="sref">acpi_  v2at_ipmi_response>
a>(struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=msg" class="sref">msg>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L187" id.=L187" class="line" namt.=L187">3187>
a>opt3    opt3    S12href="+code=acpi_integer" class="sref">acpi_integer>
a>o*S12href="+code= ment" class="sref"> ment>
a>, int S12href="+code=rem_time" class="sref">rem_time>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L188" id.=L188" class="line" namt.=L188">3188>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L189" id.=L189" class="line" namt.=L189">3189>
a>opt3    struct S12href="+code=acpi_ipmi_buffer" class="sref">acpi_ipmi_buffer>
a>o*S12href="+code=buffer" class="sref">buffer>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L190" id.=L190" class="line" namt.=L190">3190>
a>
<12href="drivers/acpi/acpi_ipmi.c#L191" id.=L191" class="line" namt.=L191">3191>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L192" id.=L192" class="line" namt.=L192">3192>
a>Srm12 class="comment">         *  ment is also used as output paramtter. It represents the response>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L193" id.=L193" class="line" namt.=L193">3193>
a>Srm12 class="comment">         * IPMI message returned by IPMI command.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L194" id.=L194" class="line" namt.=L194">3194>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L195" id.=L195" class="line" namt.=L195">3195>
a>opt3    S12href="+code=buffer" class="sref">buffer>
a>o=o(struct S12href="+code=acpi_ipmi_buffer" class="sref">acpi_ipmi_buffer>
a>o*)S12href="+code= ment" class="sref"> ment>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L196" id.=L196" class="line" namt.=L196">3196>
a>opt3    if (!S12href="+code=rem_time" class="sref">rem_time>
a>o&& !S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg_done" class="sref">msg_done>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L197" id.=L197" class="line" namt.=L197">3197>
a>opt3    opt3    S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=status" class="sref">status>
a>o=oS12href="+code=ACPI_IPMI_TIMEOUT" class="sref">ACPI_IPMI_TIMEOUT>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L198" id.=L198" class="line" namt.=L198">3198>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L199" id.=L199" class="line" namt.=L199">3199>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L200" id.=L200" class="line" namt.=L200">3200>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L201" id.=L201" class="line" namt.=L201">3201>
a>Srm12 class="comment">         * If the flag of msg_done is not set or the recv length is zero, itSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L202" id.=L202" class="line" namt.=L202">3202>
a>Srm12 class="comment">         * means that the IPMI command is not executed correctly.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L203" id.=L203" class="line" namt.=L203">3203>
a>Srm12 class="comment">         * The status code will be ACPI_IPMI_UNKNOWN.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L204" id.=L204" class="line" namt.=L204">3204>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L205" id.=L205" class="line" namt.=L205">3205>
a>opt3    if (!S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg_done" class="sref">msg_done>
a> || !S12href="+code=msg" class="sref">msg>
a>->S12href="+code=rx_len" class="sref">rx_len>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L206" id.=L206" class="line" namt.=L206">3206>
a>opt3    opt3    S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=status" class="sref">status>
a>o=oS12href="+code=ACPI_IPMI_UNKNOWN" class="sref">ACPI_IPMI_UNKNOWN>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L207" id.=L207" class="line" namt.=L207">3207>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L208" id.=L208" class="line" namt.=L208">3208>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L209" id.=L209" class="line" namt.=L209">3209>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L210" id.=L210" class="line" namt.=L210">32128.a>Srm12 class="comment">         * If the IPMI response message is obtained correctly, the status codeSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L211" id.=L211" class="line" namt.=L211">3211>
a>Srm12 class="comment">         * will be ACPI_IPMI_OK>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L212" id.=L212" class="line" namt.=L212">3212>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L213" id.=L213" class="line" namt.=L213">3213>
a>opt3    S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=status" class="sref">status>
a>o=oS12href="+code=ACPI_IPMI_OK" class="sref">ACPI_IPMI_OK>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L214" id.=L214" class="line" namt.=L214">3214>
a>opt3    S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=length" class="sref">length>
a>o=oS12href="+code=msg" class="sref">msg>
a>->S12href="+code=rx_len" class="sref">rx_len>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L215" id.=L215" class="line" namt.=L215">3215>
a>opt3    S12href="+code=memcpy" class="sref">memcpy>
a>(S12href="+code=buffer" class="sref">buffer>
a>->S12href="+code=data" class="sref">data>
a>, S12href="+code=msg" class="sref">msg>
a>->S12href="+code=rx_data" class="sref">rx_data>
a>, S12href="+code=msg" class="sref">msg>
a>->S12href="+code=rx_len" class="sref">rx_len>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L216" id.=L216" class="line" namt.=L216">3216>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L217" id.=L217" class="line" namt.=L217">3217>
a>
<12href="drivers/acpi/acpi_ipmi.c#L218" id.=L218" class="line" namt.=L218">3218>
a>static void S12href="+code=ipmi_flush_tx_msg" class="sref">ipmi_flush_tx_msg>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi" class="sref">ipmi>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L219" id.=L219" class="line" namt.=L219">3219>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L220" id.=L220" class="line" namt.=L220">3220>
a>opt3    struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=tx_msg" class="sref">tx_msg>
a>,o*S12href="+code=temp" class="sref">temp>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L221" id.=L221" class="line" namt.=L221">3221>
a>opt3    int S12href="+code=count" class="sref">count>
a>o=oS12href="+code=HZ" class="sref">HZ>
a> / 10;
<12href="drivers/acpi/acpi_ipmi.c#L222" id.=L222" class="line" namt.=L222">3222>
a>opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L223" id.=L223" class="line" namt.=L223">3223>
a>
<12href="drivers/acpi/acpi_ipmi.c#L224" id.=L224" class="line" namt.=L224">3224>
a>opt3    S12href="+code=list_for_each_entry_safe" class="sref">list_for_each_entry_safe>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>,oS12href="+code=temp" class="sref">temp>
a>,o&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>,oS12href="+code=head" class="sref">head>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L225" id.=L225" class="line" namt.=L225">3225>
a>opt3    opt3    Srm12 class="comment">/* wake up the sleep thread on the Tx msg */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L226" id.=L226" class="line" namt.=L226">3226>
a>opt3    opt3    S12href="+code=complete" class="sref">complete>
a>(&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_complete" class="sref">tx_complete>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L227" id.=L227" class="line" namt.=L227">3227>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L228" id.=L228" class="line" namt.=L228">3228>
a>
<12href="drivers/acpi/acpi_ipmi.c#L229" id.=L229" class="line" namt.=L229">3229>
a>opt3    Srm12 class="comment">/* wait for about3100ms to flush the tx message list */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L230" id.=L230" class="line" namt.=L230">3230>
a>opt3    whileo(S12href="+code=count" class="sref">count>
a>--)o{
<12href="drivers/acpi/acpi_ipmi.c#L231" id.=L231" class="line" namt.=L231">3231>
a>opt3    opt3    if (S12href="+code=list_empty" class="sref">list_empty>
a>(&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>))
<12href="drivers/acpi/acpi_ipmi.c#L232" id.=L232" class="line" namt.=L232">3232>
a>opt3    opt3            break;
<12href="drivers/acpi/acpi_ipmi.c#L233" id.=L233" class="line" namt.=L233">3233>
a>opt3    opt3    S12href="+code=schedule_timeout" class="sref">schedule_timeout>
a>(1);
<12href="drivers/acpi/acpi_ipmi.c#L234" id.=L234" class="line" namt.=L234">3234>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L235" id.=L235" class="line" namt.=L235">3235>
a>opt3    if (!S12href="+code=list_empty" class="sref">list_empty>
a>(&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>))
<12href="drivers/acpi/acpi_ipmi.c#L236" id.=L236" class="line" namt.=L236">3236>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"tx msg list is not NULL\n"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L237" id.=L237" class="line" namt.=L237">3237>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L238" id.=L238" class="line" namt.=L238">3238>
a>
<12href="drivers/acpi/acpi_ipmi.c#L239" id.=L239" class="line" namt.=L239">3239>
a>static void S12href="+code=ipmi_msg_handler" class="sref">ipmi_msg_handler>
a>(struct S12href="+code=ipmi_recv_msg" class="sref">ipmi_recv_msg>
a>o*S12href="+code=msg" class="sref">msg>
a>, void *S12href="+code=user_msg_data" class="sref">user_msg_data>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L240" id.=L240" class="line" namt.=L240">3240>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L241" id.=L241" class="line" namt.=L241">3241>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>o=oS12href="+code=user_msg_data" class="sref">user_msg_data>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L242" id.=L242" class="line" namt.=L242">3242>
a>opt3    int S12href="+code=msg_found" class="sref">msg_found>
a>o=o0;
<12href="drivers/acpi/acpi_ipmi.c#L243" id.=L243" class="line" namt.=L243">3243>
a>opt3    struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=tx_msg" class="sref">tx_msg>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L244" id.=L244" class="line" namt.=L244">3244>
a>opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L245" id.=L245" class="line" namt.=L245">3245>
a>
<12href="drivers/acpi/acpi_ipmi.c#L246" id.=L246" class="line" namt.=L246">3246>
a>opt3    if (S12href="+code=msg" class="sref">msg>
a>->S12href="+code=user" class="sref">user>
a>o!=oS12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L247" id.=L247" class="line" namt.=L247">3247>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"Unexpected response is returned. "Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L248" id.=L248" class="line" namt.=L248">3248>
a>opt3    opt3    opt3    Srm12 class="string">"returned user %p, expected user %p\n"Serm12",
<12href="drivers/acpi/acpi_ipmi.c#L249" id.=L249" class="line" namt.=L249">3249>
a>opt3    opt3    opt3    S12href="+code=msg" class="sref">msg>
a>->S12href="+code=user" class="sref">user>
a>,oS12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L250" id.=L250" class="line" namt.=L250">3250>
a>opt3    opt3    S12href="+code=ipmi_free_recv_msg" class="sref">ipmi_free_recv_msg>
a>(S12href="+code=msg" class="sref">msg>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L251" id.=L251" class="line" namt.=L251">3251>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L252" id.=L252" class="line" namt.=L252">3252>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L253" id.=L253" class="line" namt.=L253">3253>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L254" id.=L254" class="line" namt.=L254">3254>
a>opt3    S12href="+code=list_for_each_entry" class="sref">list_for_each_entry>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>,o&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>,oS12href="+code=head" class="sref">head>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L255" id.=L255" class="line" namt.=L255">3255>
a>opt3    opt3    if (S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msgid" class="sref">msgid>
a>o==oS12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_msgid" class="sref">tx_msgid>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L256" id.=L256" class="line" namt.=L256">3256>
a>opt3    opt3    opt3    S12href="+code=msg_found" class="sref">msg_found>
a>o=o1;
<12href="drivers/acpi/acpi_ipmi.c#L257" id.=L257" class="line" namt.=L257">3257>
a>opt3    opt3            break;
<12href="drivers/acpi/acpi_ipmi.c#L258" id.=L258" class="line" namt.=L258">3258>
a>opt3    opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L259" id.=L259" class="line" namt.=L259">3259>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L260" id.=L260" class="line" namt.=L260">3260>
a>
<12href="drivers/acpi/acpi_ipmi.c#L261" id.=L261" class="line" namt.=L261">3261>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L262" id.=L262" class="line" namt.=L262">3262>
a>opt3    if (!S12href="+code=msg_found" class="sref">msg_found>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L263" id.=L263" class="line" namt.=L263">3263>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"Unexpected response (msg id %ld) is "Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L264" id.=L264" class="line" namt.=L264">3264>
a>opt3    opt3    opt3    Srm12 class="string">"returned.\n"Serm12", S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msgid" class="sref">msgid>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L265" id.=L265" class="line" namt.=L265">3265>
a>opt3    opt3    S12href="+code=ipmi_free_recv_msg" class="sref">ipmi_free_recv_msg>
a>(S12href="+code=msg" class="sref">msg>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L266" id.=L266" class="line" namt.=L266">3266>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L267" id.=L267" class="line" namt.=L267">3267>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L268" id.=L268" class="line" namt.=L268">3268>
a>
<12href="drivers/acpi/acpi_ipmi.c#L269" id.=L269" class="line" namt.=L269">3269>
a>opt3    if (S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg" class="sref">msg>
a>.S12href="+code=data_len" class="sref">data_len>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L270" id.=L270" class="line" namt.=L270">3270>
a>opt3    opt3    Srm12 class="comment">/* copy the response data to Rx_data buffer */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L271" id.=L271" class="line" namt.=L271">3271>
a>opt3    opt3    S12href="+code=memcpy" class="sref">memcpy>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=rx_data" class="sref">rx_data>
a>, S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg_data" class="sref">msg_data>
a>, S12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg" class="sref">msg>
a>.S12href="+code=data_len" class="sref">data_len>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L272" id.=L272" class="line" namt.=L272">3272>
a>opt3    opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=rx_len" class="sref">rx_len>
a>o=oS12href="+code=msg" class="sref">msg>
a>->S12href="+code=msg" class="sref">msg>
a>.S12href="+code=data_len" class="sref">data_len>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L273" id.=L273" class="line" namt.=L273">3273>
a>opt3    opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=msg_done" class="sref">msg_done>
a> =o1;
<12href="drivers/acpi/acpi_ipmi.c#L274" id.=L274" class="line" namt.=L274">3274>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L275" id.=L275" class="line" namt.=L275">3275>
a>opt3    S12href="+code=complete" class="sref">complete>
a>(&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_complete" class="sref">tx_complete>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L276" id.=L276" class="line" namt.=L276">3276>
a>opt3    S12href="+code=ipmi_free_recv_msg" class="sref">ipmi_free_recv_msg>
a>(S12href="+code=msg" class="sref">msg>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L277" id.=L277" class="line" namt.=L277">3277>
a>};
<12href="drivers/acpi/acpi_ipmi.c#L278" id.=L278" class="line" namt.=L278">3278>
a>
<12href="drivers/acpi/acpi_ipmi.c#L279" id.=L279" class="line" namt.=L279">3279>
a>static void S12href="+code=ipmi_register_bmc" class="sref">ipmi_register_bmc>
a>(int S12href="+code=iface" class="sref">iface>
a>, struct S12href="+code=device" class="sref">device>
a>o*S12href="+code=dev" class="sref">dev>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L280" id.=L280" class="line" namt.=L280">3280>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L281" id.=L281" class="line" namt.=L281">3281>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>,o*S12href="+code=temp" class="sref">temp>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L282" id.=L282" class="line" namt.=L282">3282>
a>opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L283" id.=L283" class="line" namt.=L283">3283>
a>opt3    S12href="+code=ipmi_user_t" class="sref">ipmi_user_t>
a>opt3    opt3 S12href="+code=user" class="sref">user>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L284" id.=L284" class="line" namt.=L284">3284>
a>opt3    int S12href="+code=err" class="sref">err>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L285" id.=L285" class="line" namt.=L285">3285>
a>opt3    struct S12href="+code=ipmi_smi_info" class="sref">ipmi_smi_info>
a>oS12href="+code=smi_data" class="sref">smi_data>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L286" id.=L286" class="line" namt.=L286">3286>
a>opt3    S12href="+code=acpi_handle" class="sref">acpi_handle>
a>oS12href="+code=handle" class="sref">handle>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L287" id.=L287" class="line" namt.=L287">3287>
a>
<12href="drivers/acpi/acpi_ipmi.c#L288" id.=L288" class="line" namt.=L288">3288>
a>opt3    S12href="+code=err" class="sref">err>
a>o=oS12href="+code=ipmi_get_smi_info" class="sref">ipmi_get_smi_info>
a>(S12href="+code=iface" class="sref">iface>
a>, &S12href="+code=smi_data" class="sref">smi_data>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L289" id.=L289" class="line" namt.=L289">3289>
a>
<12href="drivers/acpi/acpi_ipmi.c#L290" id.=L290" class="line" namt.=L290">3290>
a>opt3    if (S12href="+code=err" class="sref">err>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L291" id.=L291" class="line" namt.=L291">3291>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L292" id.=L292" class="line" namt.=L292">3292>
a>
<12href="drivers/acpi/acpi_ipmi.c#L293" id.=L293" class="line" namt.=L293">3293>
a>opt3    if (S12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=addr_src" class="sref">addr_src>
a>o!=oS12href="+code=SI_ACPI" class="sref">SI_ACPI>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L294" id.=L294" class="line" namt.=L294">3294>
a>opt3    opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=dev" class="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L295" id.=L295" class="line" namt.=L295">3295>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L296" id.=L296" class="line" namt.=L296">3296>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L297" id.=L297" class="line" namt.=L297">3297>
a>
<12href="drivers/acpi/acpi_ipmi.c#L298" id.=L298" class="line" namt.=L298">3298>
a>opt3    S12href="+code=handle" class="sref">handle>
a>o=oS12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=addr_info" class="sref">addr_info>
a>.S12href="+code=acpi_info" class="sref">acpi_info>
a>.S12href="+code=acpi_handle" class="sref">acpi_handle>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L299" id.=L299" class="line" namt.=L299">3299>
a>
<12href="drivers/acpi/acpi_ipmi.c#L300" id.=L300" class="line" namt.=L300">3300>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L301" id.=L301" class="line" namt.=L301">3301>
a>opt3    S12href="+code=list_for_each_entry" class="sref">list_for_each_entry>
a>(S12href="+code=temp" class="sref">temp>
a>,o&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_devices" class="sref">ipmi_devices>
a>,oS12href="+code=head" class="sref">head>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L302" id.=L302" class="line" namt.=L302">3302>
a>opt3    opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L303" id.=L303" class="line" namt.=L303">3303>
a>Srm12 class="comment">                 * if the corresponding ACPI handle is already addedSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L304" id.=L304" class="line" namt.=L304">3304>
a>Srm12 class="comment">                 * to the device list, don't add it again.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L305" id.=L305" class="line" namt.=L305">3305>
a>Srm12 class="comment">                 */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L306" id.=L306" class="line" namt.=L306">3306>
a>opt3    opt3    if (S12href="+code=temp" class="sref">temp>
a>->S12href="+code=handle" class="sref">handle>
a>o==oS12href="+code=handle" class="sref">handle>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L307" id.=L307" class="line" namt.=L307">3307>
a>opt3    opt3            goto S12href="+code=out" class="sref">out>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L308" id.=L308" class="line" namt.=L308">3308>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L309" id.=L309" class="line" namt.=L309">3309>
a>
<12href="drivers/acpi/acpi_ipmi.c#L310" id.=L310" class="line" namt.=L310">3310>
a>opt3    S12href="+code=ipmi_device" class="sref">ipmi_device>
a>o=oS12href="+code=kzalloc" class="sref">kzalloc>
a>(sizeof(*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>),oS12href="+code=GFP_KERNEL" class="sref">GFP_KERNEL>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L311" id.=L311" class="line" namt.=L311">3311>
a>
<12href="drivers/acpi/acpi_ipmi.c#L312" id.=L312" class="line" namt.=L312">3312>
a>opt3    if (!S12href="+code=ipmi_device" class="sref">ipmi_device>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L313" id.=L313" class="line" namt.=L313">3313>
a>opt3    opt3    goto S12href="+code=out" class="sref">out>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L314" id.=L314" class="line" namt.=L314">3314>
a>
<12href="drivers/acpi/acpi_ipmi.c#L315" id.=L315" class="line" namt.=L315">3315>
a>opt3    S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=to_pnp_dev" class="sref">to_pnp_dev>
a>(S12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=dev" class="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L316" id.=L316" class="line" namt.=L316">3316>
a>opt3    S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=handle" class="sref">handle>
a>o=oS12href="+code=handle" class="sref">handle>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L317" id.=L317" class="line" namt.=L317">3317>
a>opt3    S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L318" id.=L318" class="line" namt.=L318">3318>
a>
<12href="drivers/acpi/acpi_ipmi.c#L319" id.=L319" class="line" namt.=L319">3319>
a>opt3    S12href="+code=err" class="sref">err>
a>o=oS12href="+code=ipmi_create_user" class="sref">ipmi_create_user>
a>(S12href="+code=iface" class="sref">iface>
a>, &S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_hndlrs" class="sref">ipmi_hndlrs>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L320" id.=L320" class="line" namt.=L320">3320>
a>opt3    opt3                            S12href="+code=ipmi_device" class="sref">ipmi_device>
a>,o&S12href="+code=user" class="sref">user>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L321" id.=L321" class="line" namt.=L321">3321>
a>opt3    if (S12href="+code=err" class="sref">err>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L322" id.=L322" class="line" namt.=L322">3322>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"Can't create IPMI user interface\n"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L323" id.=L323" class="line" namt.=L323">3323>
a>opt3    opt3    S12href="+code=kfree" class="sref">kfree>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L324" id.=L324" class="line" namt.=L324">3324>
a>opt3    opt3    goto S12href="+code=out" class="sref">out>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L325" id.=L325" class="line" namt.=L325">3325>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L326" id.=L326" class="line" namt.=L326">3326>
a>opt3    S12href="+code=acpi_add_ipmi_device" class="sref">acpi_add_ipmi_device>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L327" id.=L327" class="line" namt.=L327">3327>
a>opt3    S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>o=oS12href="+code=user" class="sref">user>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L328" id.=L328" class="line" namt.=L328">3328>
a>opt3    S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=ipmi_ifnum" class="sref">ipmi_ifnum>
a>o=oS12href="+code=iface" class="sref">iface>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L329" id.=L329" class="line" namt.=L329">3329>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L330" id.=L330" class="line" namt.=L330">3330>
a>opt3    S12href="+code=memcpy" class="sref">memcpy>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=smi_data" class="sref">smi_data>
a>, &S12href="+code=smi_data" class="sref">smi_data>
a>, sizeof(struct S12href="+code=ipmi_smi_info" class="sref">ipmi_smi_info>
a>));
<12href="drivers/acpi/acpi_ipmi.c#L331" id.=L331" class="line" namt.=L331">3331>
a>opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L332" id.=L332" class="line" namt.=L332">3332>
a>
<12href="drivers/acpi/acpi_ipmi.c#L333" id.=L333" class="line" namt.=L333">3333>
a>S12href="+code=out" class="sref">out>
a>:
<12href="drivers/acpi/acpi_ipmi.c#L334" id.=L334" class="line" namt.=L334">3334>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L335" id.=L335" class="line" namt.=L335">3335>
a>opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=dev" class="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L336" id.=L336" class="line" namt.=L336">3336>
a>opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L337" id.=L337" class="line" namt.=L337">3337>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L338" id.=L338" class="line" namt.=L338">3338>
a>
<12href="drivers/acpi/acpi_ipmi.c#L339" id.=L339" class="line" namt.=L339">3339>
a>static void S12href="+code=ipmi_bmc_gone" class="sref">ipmi_bmc_gone>
a>(int S12href="+code=iface" class="sref">iface>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L340" id.=L340" class="line" namt.=L340">3340>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L341" id.=L341" class="line" namt.=L341">3341>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>,o*S12href="+code=temp" class="sref">temp>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L342" id.=L342" class="line" namt.=L342">3342>
a>
<12href="drivers/acpi/acpi_ipmi.c#L343" id.=L343" class="line" namt.=L343">3343>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L344" id.=L344" class="line" namt.=L344">3344>
a>opt3    S12href="+code=list_for_each_entry_safe" class="sref">list_for_each_entry_safe>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>,oS12href="+code=temp" class="sref">temp>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L345" id.=L345" class="line" namt.=L345">3345>
a>opt3    opt3                    &S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_devices" class="sref">ipmi_devices>
a>,oS12href="+code=head" class="sref">head>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L346" id.=L346" class="line" namt.=L346">3346>
a>opt3    opt3    if (S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=ipmi_ifnum" class="sref">ipmi_ifnum>
a>o!=oS12href="+code=iface" class="sref">iface>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L347" id.=L347" class="line" namt.=L347">3347>
a>opt3    opt3            continue;
<12href="drivers/acpi/acpi_ipmi.c#L348" id.=L348" class="line" namt.=L348">3348>
a>
<12href="drivers/acpi/acpi_ipmi.c#L349" id.=L349" class="line" namt.=L349">3349>
a>opt3    opt3    S12href="+code=acpi_remove_ipmi_device" class="sref">acpi_remove_ipmi_device>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L350" id.=L350" class="line" namt.=L350">3350>
a>opt3    opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=smi_data" class="sref">smi_data>
a>.S12href="+code=dev" class="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L351" id.=L351" class="line" namt.=L351">3351>
a>opt3    opt3    S12href="+code=kfree" class="sref">kfree>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L352" id.=L352" class="line" namt.=L352">3352>
a>opt3    opt3    break;
<12href="drivers/acpi/acpi_ipmi.c#L353" id.=L353" class="line" namt.=L353">3353>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L354" id.=L354" class="line" namt.=L354">3354>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_lock" class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L355" id.=L355" class="line" namt.=L355">3355>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L356" id.=L356" class="line" namt.=L356">3356>
a>Srm12 class="comment">/* --------------------------------------------------------------------------Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L357" id.=L357" class="line" namt.=L357">3357>
a>Srm12 class="comment"> *t3    opt3            Address Space ManagementSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L358" id.=L358" class="line" namt.=L358">3358>
a>Srm12 class="comment"> *t-------------------------------------------------------------------------- */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L359" id.=L359" class="line" namt.=L359">3359>
a>Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L360" id.=L360" class="line" namt.=L360">33628.a>Srm12 class="comment"> * This is the IPMI opregion space handler.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L361" id.=L361" class="line" namt.=L361">3361>
a>Srm12 class="comment"> * @function: indicates the read/write. In fact as the IPMI message is drivenSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L362" id.=L362" class="line" namt.=L362">3362>
a>Srm12 class="comment"> * by command, only write is meaningful.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L363" id.=L363" class="line" namt.=L363">3363>
a>Srm12 class="comment"> * @address: This contains the netfn/command of IPMI request message.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L364" id.=L364" class="line" namt.=L364">3364>
a>Srm12 class="comment"> * @bits   : not used.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L365" id.=L365" class="line" namt.=L365">3365>
a>Srm12 class="comment"> * @ ment  : it is 12 in/out3paramtter. It3points to the IPMI message buffer.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L366" id.=L366" class="line" namt.=L366">3366>
a>Srm12 class="comment"> *t3    opt3 Before the IPMI message is sent, it represents the actual requestSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L367" id.=L367" class="line" namt.=L367">3367>
a>Srm12 class="comment"> *t3    opt3 IPMI message. After the IPMI message is finished, it representsSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L368" id.=L368" class="line" namt.=L368">3368>
a>Srm12 class="comment"> *tttttttttttthe response IPMI message returned by IPMI command.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L369" id.=L369" class="line" namt.=L369">3369>
a>Srm12 class="comment"> * @handler_context: IPMI device context.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L370" id.=L370" class="line" namt.=L370">33728.a>Srm12 class="comment"> */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L371" id.=L371" class="line" namt.=L371">3371>
a>
<12href="drivers/acpi/acpi_ipmi.c#L372" id.=L372" class="line" namt.=L372">3372>
a>static S12href="+code=acpi_status" class="sref">acpi_status>
a>
<12href="drivers/acpi/acpi_ipmi.c#L373" id.=L373" class="line" namt.=L373">3373>
a>S12href="+code=acpi_ipmi_space_handler" class="sref">acpi_ipmi_space_handler>
a>(S12href="+code=u32" class="sref">u32>
a>oS12href="+code=function" class="sref">function>
a>,oS12href="+code=acpi_physical_address" class="sref">acpi_physical_address>
a>oS12href="+code=address" class="sref">address>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L374" id.=L374" class="line" namt.=L374">3374>
a>opt3    opt3    opt3  S12href="+code=u32" class="sref">u32>
a>oS12href="+code=bits" class="sref">bits>
a>,oS12href="+code=acpi_integer" class="sref">acpi_integer>
a>o*S12href="+code= ment" class="sref"> ment>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L375" id.=L375" class="line" namt.=L375">3375>
a>opt3    opt3          void *S12href="+code=handler_context" class="sref">handler_context>
a>,ovoid *S12href="+code=region_context" class="sref">region_context>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L376" id.=L376" class="line" namt.=L376">3376>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L377" id.=L377" class="line" namt.=L377">3377>
a>opt3    struct S12href="+code=acpi_ipmi_msg" class="sref">acpi_ipmi_msg>
a>o*S12href="+code=tx_msg" class="sref">tx_msg>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L378" id.=L378" class="line" namt.=L378">3378>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi_device" class="sref">ipmi_device>
a>o=oS12href="+code=handler_context" class="sref">handler_context>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L379" id.=L379" class="line" namt.=L379">3379>
a>opt3    int S12href="+code=err" class="sref">err>
a>,oS12href="+code=rem_time" class="sref">rem_time>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L380" id.=L380" class="line" namt.=L380">3380>
a>opt3    S12href="+code=acpi_status" class="sref">acpi_status>
a>oS12href="+code=status" class="sref">status>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L381" id.=L381" class="line" namt.=L381">3381>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L382" id.=L382" class="line" namt.=L382">3382>
a>Srm12 class="comment">         * IPMI opregion message.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L383" id.=L383" class="line" namt.=L383">3383>
a>Srm12 class="comment">         * IPMI message is firstly written to the BMC and system softwareSerm12"
<12href="drivers/acpi/acpi_ipmi.c#L384" id.=L384" class="line" namt.=L384">3384>
a>Srm12 class="comment">         * c12 gettthe respsonse. So it is unmeaningful for the read access>
rm12"
<12href="drivers/acpi/acpi_ipmi.c#L385" id.=L385" class="line" namt.=L385">3385>
a>Srm12 class="comment">         * of IPMI opregion.Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L386" id.=L386" class="line" namt.=L386">3386>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L387" id.=L387" class="line" namt.=L387">3387>
a>opt3    if ((S12href="+code=function" class="sref">function>
a> &oS12href="+code=ACPI_IO_MASK" class="sref">ACPI_IO_MASK>
a>)o==oS12href="+code=ACPI_READ" class="sref">ACPI_READ>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L388" id.=L388" class="line" namt.=L388">3388>
a>opt3    opt3    returnoS12href="+code=AE_TYPE" class="sref">AE_TYPE>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L389" id.=L389" class="line" namt.=L389">3389>
a>
<12href="drivers/acpi/acpi_ipmi.c#L390" id.=L390" class="line" namt.=L390">3390>
a>opt3    if (!S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L391" id.=L391" class="line" namt.=L391">3391>
a>opt3    opt3    returnoS12href="+code=AE_NOT_EXIST" class="sref">AE_NOT_EXIST>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L392" id.=L392" class="line" namt.=L392">3392>
a>
<12href="drivers/acpi/acpi_ipmi.c#L393" id.=L393" class="line" namt.=L393">3393>
a>opt3    S12href="+code=tx_msg" class="sref">tx_msg>
a>o=oS12href="+code=acpi_alloc_ipmi_msg" class="sref">acpi_alloc_ipmi_msg>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L394" id.=L394" class="line" namt.=L394">3394>
a>opt3    if (!S12href="+code=tx_msg" class="sref">tx_msg>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L395" id.=L395" class="line" namt.=L395">3395>
a>opt3    opt3    returnoS12href="+code=AE_NO_MEMORY" class="sref">AE_NO_MEMORY>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L396" id.=L396" class="line" namt.=L396">3396>
a>
<12href="drivers/acpi/acpi_ipmi.c#L397" id.=L397" class="line" namt.=L397">3397>
a>opt3    S12href="+code=acpi_format_ipmi_msg" class="sref">acpi_format_ipmi_msg>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>,oS12href="+code=address" class="sref">address>
a>,oS12href="+code= ment" class="sref"> ment>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L398" id.=L398" class="line" namt.=L398">3398>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L399" id.=L399" class="line" namt.=L399">3399>
a>opt3    S12href="+code=list_add_tail" class="sref">list_add_tail>
a>(&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=head" class="sref">head>
a>,o&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L400" id.=L400" class="line" namt.=L400">3400>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L401" id.=L401" class="line" namt.=L401">3401>
a>opt3    S12href="+code=err" class="sref">err>
a>o=oS12href="+code=ipmi_request_settime" class="sref">ipmi_request_settime>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L402" id.=L402" class="line" namt.=L402">3402>
a>opt3    opt3                            &S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=addr" class="sref">addr>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L403" id.=L403" class="line" namt.=L403">3403>
a>opt3    opt3                            S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_msgid" class="sref">tx_msgid>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L404" id.=L404" class="line" namt.=L404">3404>
a>opt3    opt3    opt3                    &S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_message" class="sref">tx_message>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L405" id.=L405" class="line" namt.=L405">3405>
a>opt3    opt3                            S12href="+code=NULL" class="sref">NULL>
a>,o0,o0,o0);
<12href="drivers/acpi/acpi_ipmi.c#L406" id.=L406" class="line" namt.=L406">3406>
a>opt3    if (S12href="+code=err" class="sref">err>
a>)o{
<12href="drivers/acpi/acpi_ipmi.c#L407" id.=L407" class="line" namt.=L407">3407>
a>opt3    opt3    S12href="+code=status" class="sref">status>
a>o=oS12href="+code=AE_ERROR" class="sref">AE_ERROR>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L408" id.=L408" class="line" namt.=L408">3408>
a>opt3    opt3    goto S12href="+code=end_label" class="sref">end_label>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L409" id.=L409" class="line" namt.=L409">3409>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L410" id.=L410" class="line" namt.=L410">3410>
a>opt3    S12href="+code=rem_time" class="sref">rem_time>
a>o=oS12href="+code=wait_for_completion_timeout" class="sref">wait_for_completion_timeout>
a>(&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=tx_complete" class="sref">tx_complete>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L411" id.=L411" class="line" namt.=L411">3411>
a>opt3    opt3                            S12href="+code=IPMI_TIMEOUT" class="sref">IPMI_TIMEOUT>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L412" id.=L412" class="line" namt.=L412">3412>
a>opt3    S12href="+code=acpi_format_ipmi_response" class="sref">acpi_format_ipmi_response>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>,oS12href="+code= ment" class="sref"> ment>
a>, S12href="+code=rem_time" class="sref">rem_time>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L413" id.=L413" class="line" namt.=L413">3413>
a>opt3    S12href="+code=status" class="sref">status>
a>o=oS12href="+code=AE_OK" class="sref">AE_OK>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L414" id.=L414" class="line" namt.=L414">3414>
a>
<12href="drivers/acpi/acpi_ipmi.c#L415" id.=L415" class="line" namt.=L415">3415>
a>S12href="+code=end_label" class="sref">end_label>
a>:
<12href="drivers/acpi/acpi_ipmi.c#L416" id.=L416" class="line" namt.=L416">3416>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L417" id.=L417" class="line" namt.=L417">3417>
a>opt3    S12href="+code=list_del" class="sref">list_del>
a>(&S12href="+code=tx_msg" class="sref">tx_msg>
a>->S12href="+code=head" class="sref">head>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L418" id.=L418" class="line" namt.=L418">3418>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L419" id.=L419" class="line" namt.=L419">3419>
a>opt3    S12href="+code=kfree" class="sref">kfree>
a>(S12href="+code=tx_msg" class="sref">tx_msg>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L420" id.=L420" class="line" namt.=L420">3420>
a>opt3    returnoS12href="+code=status" class="sref">status>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L421" id.=L421" class="line" namt.=L421">3421>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L422" id.=L422" class="line" namt.=L422">3422>
a>
<12href="drivers/acpi/acpi_ipmi.c#L423" id.=L423" class="line" namt.=L423">3423>
a>static void S12href="+code=ipmi_remove_space_handler" class="sref">ipmi_remove_space_handler>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi" class="sref">ipmi>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L424" id.=L424" class="line" namt.=L424">3424>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L425" id.=L425" class="line" namt.=L425">3425>
a>opt3    if (!S12href="+code=test_bit" class="sref">test_bit>
a>(S12href="+code=IPMI_FLAGS_HANDLER_INSTALL" class="sref">IPMI_FLAGS_HANDLER_INSTALL>
a>,o&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=flags" class="sref">flags>
a>))
<12href="drivers/acpi/acpi_ipmi.c#L426" id.=L426" class="line" namt.=L426">3426>
a>opt3    opt3    return;
<12href="drivers/acpi/acpi_ipmi.c#L427" id.=L427" class="line" namt.=L427">3427>
a>
<12href="drivers/acpi/acpi_ipmi.c#L428" id.=L428" class="line" namt.=L428">3428>
a>opt3    S12href="+code=acpi_remove_address_space_handler" class="sref">acpi_remove_address_space_handler>
a>(S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=handle" class="sref">handle>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L429" id.=L429" class="line" namt.=L429">3429>
a>opt3    opt3                    S12href="+code=ACPI_ADR_SPACE_IPMI" class="sref">ACPI_ADR_SPACE_IPMI>
a>,o&S12href="+code=acpi_ipmi_space_handler" class="sref">acpi_ipmi_space_handler>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L430" id.=L430" class="line" namt.=L430">3430>
a>
<12href="drivers/acpi/acpi_ipmi.c#L431" id.=L431" class="line" namt.=L431">3431>
a>opt3    S12href="+code=clear_bit" class="sref">clear_bit>
a>(S12href="+code=IPMI_FLAGS_HANDLER_INSTALL" class="sref">IPMI_FLAGS_HANDLER_INSTALL>
a>,o&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=flags" class="sref">flags>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L432" id.=L432" class="line" namt.=L432">3432>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L433" id.=L433" class="line" namt.=L433">3433>
a>
<12href="drivers/acpi/acpi_ipmi.c#L434" id.=L434" class="line" namt.=L434">3434>
a>static int S12href="+code=ipmi_install_space_handler" class="sref">ipmi_install_space_handler>
a>(struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S12href="+code=ipmi" class="sref">ipmi>
a>)
<12href="drivers/acpi/acpi_ipmi.c#L435" id.=L435" class="line" namt.=L435">3435>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L436" id.=L436" class="line" namt.=L436">3436>
a>opt3    S12href="+code=acpi_status" class="sref">acpi_status>
a>oS12href="+code=status" class="sref">status>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L437" id.=L437" class="line" namt.=L437">3437>
a>
<12href="drivers/acpi/acpi_ipmi.c#L438" id.=L438" class="line" namt.=L438">3438>
a>opt3    if (S12href="+code=test_bit" class="sref">test_bit>
a>(S12href="+code=IPMI_FLAGS_HANDLER_INSTALL" class="sref">IPMI_FLAGS_HANDLER_INSTALL>
a>,o&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=flags" class="sref">flags>
a>))
<12href="drivers/acpi/acpi_ipmi.c#L439" id.=L439" class="line" namt.=L439">3439>
a>opt3    opt3    returno0;
<12href="drivers/acpi/acpi_ipmi.c#L440" id.=L440" class="line" namt.=L440">3440>
a>
<12href="drivers/acpi/acpi_ipmi.c#L441" id.=L441" class="line" namt.=L441">3441>
a>opt3    S12href="+code=status" class="sref">status>
a>o=oS12href="+code=acpi_install_address_space_handler" class="sref">acpi_install_address_space_handler>
a>(S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=handle" class="sref">handle>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L442" id.=L442" class="line" namt.=L442">3442>
a>opt3    opt3                                        S12href="+code=ACPI_ADR_SPACE_IPMI" class="sref">ACPI_ADR_SPACE_IPMI>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L443" id.=L443" class="line" namt.=L443">3443>
a>opt3    opt3                                        &S12href="+code=acpi_ipmi_space_handler" class="sref">acpi_ipmi_space_handler>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L444" id.=L444" class="line" namt.=L444">3444>
a>opt3    opt3    opt3                                S12href="+code=NULL" class="sref">NULL>
a>,oS12href="+code=ipmi" class="sref">ipmi>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L445" id.=L445" class="line" namt.=L445">3445>
a>opt3    if (S12href="+code=ACPI_FAILURE" class="sref">ACPI_FAILURE>
a>(S12href="+code=status" class="sref">status>
a>))o{
<12href="drivers/acpi/acpi_ipmi.c#L446" id.=L446" class="line" namt.=L446">3446>
a>opt3    opt3    struct S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o*S12href="+code=pnp_dev" class="sref">pnp_dev>
a>o=oS12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=pnp_dev" class="sref">pnp_dev>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L447" id.=L447" class="line" namt.=L447">3447>
a>opt3    opt3    S12href="+code=dev_warn" class="sref">dev_warn>
a>(&S12href="+code=pnp_dev" class="sref">pnp_dev>
a>->S12href="+code=dev" class="sref">dev>
a>, Srm12 class="string">"Can't register IPMI opregion space "Serm12"
<12href="drivers/acpi/acpi_ipmi.c#L448" id.=L448" class="line" namt.=L448">3448>
a>opt3    opt3    opt3    Srm12 class="string">"handle\n"Serm12");
<12href="drivers/acpi/acpi_ipmi.c#L449" id.=L449" class="line" namt.=L449">3449>
a>opt3    opt3    returno-S12href="+code=EINVAL" class="sref">EINVAL>
a>;
<12href="drivers/acpi/acpi_ipmi.c#L450" id.=L450" class="line" namt.=L450">3450>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L451" id.=L451" class="line" namt.=L451">3451>
a>opt3    S12href="+code=set_bit" class="sref">set_bit>
a>(S12href="+code=IPMI_FLAGS_HANDLER_INSTALL" class="sref">IPMI_FLAGS_HANDLER_INSTALL>
a>,o&S12href="+code=ipmi" class="sref">ipmi>
a>->S12href="+code=flags" class="sref">flags>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L452" id.=L452" class="line" namt.=L452">3452>
a>opt3    returno0;
<12href="drivers/acpi/acpi_ipmi.c#L453" id.=L453" class="line" namt.=L453">3453>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L454" id.=L4 namt.=L354">3354>
a>opt454">34us="sr3ar.Serm12"
<12href="drivers/acpmi.c#L43ai.c#L367" id.=L367" class="liw3drivntf">tx_msg>
a>,oS12href="+code= ment" class="spmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L350" id.=L350" class="line" namt.=L350">3350>
a>opt3    opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
a>-1ev_wapmi_device>
a>-1s5rivers/acpi/acp id.=L15href="+code=ipmi32>
a>oS12href="+code=bits" cla id.=L3214t.=L345">3437>
a>
<12href="drivers/acpi/acpi_ipmi.c#L358" 4d.=L358" class="line" na4t.=L345">3428>
a>opt3    S12href="+INIT_LIST_HCPI_READ" class="sINIT_LIST_HCPInlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=head" class="sref">head>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L359" 4d.=L359" class="line" na4t.=L345">3389>
a>
<12href="drivers/acpi/acpi_ipm4.c#L360" 4d.=L360" class="line" na4t.=L346">3400>
a>opt3    S12href="+code=minset_bit" class="scode=minsenlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_lock" class="sref">tx_msg_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L361" 4d.=L361" class="line" na4t.=L346">3451>
a>opt3    S12href="+INIT_LIST_HCPI_READ" class="sINIT_LIST_HCPInlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_list>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L362" 4d.=L362" class="line" na4t.=L346">3412>
a>opt3    S12href="+code=ipmi_install_space_handler" class="sref">ipmi_install_space_handler2href="+code=put_device" class="sref">put_device>
a>(S12h>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L453" id.=L363" class="line" na4t.=L346">3433>
a>
<12href="drivers/acpi/acpi_ipmi.c#L364" 4d.=L364" class="line" na4t.=L346">3344>
a>opt3    S12href="+code=list_add_tail" class="sref">list_add_tail>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=head" class="sref">heap>
a>,o&S12href="+code=driver_data" class="sref">driver_data>
a>.S12href="+code=ipmi_devices" class="sref">ipmi_deviceh>
a>);
<12href="drivers/acpi/acpi_ipmi.i.c#L43aid.=L365" class="line" na4t.=L346">3355>
a>}
<12href="drivers/acpi/acpi_ipm4.c#L366" 4d.=L366" class="line" na4t.=L346">3396>
a>
<12href="drivers/acpi/acpi_ipm4.c#L367" 4d.=L367" class="line" na4t.=L347">336">tx_msg>
a>,oS12href="+code= meacpi_remove_ipmi_device" class="sref">acpi_remove_ipmi_device_ipmi.c#L350" id.=L350" class="line" namt.=L350">3350>
a>opt3    opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=ipmi_device" class="sref">.c#L368" 4d.=L368" class="line" na4t.=L348">336acpi/acp id.=L15href="+code=ipmi32>
a>.c#L369" 4d.=L369" class="line" na4t.=L346">3419>
a>opt3    Srm12 class="comment">/*Serm12"
<12href="drivers/acpi/acpi_ipm4.c#L370" 4d.=L370" class="line" na4t.=L340">33728.a>Srm12 class="commeeeeeeeee* IfAfter the IPMI user inteSo ic9;t cnishedshould bftwareSerm12"
<12href="drivers/acpi/acpi_ipm4.c#L371" 4d.=L371" class="line" na4t.=L347">3361>
a>Srm12 class="commeeeeeeeee* de_ipoyot used.Serm12"
<12href="drivers/acpi/acpi_ipm4.c#L372" 4d.=L372" class="line" na4t.=L347">3382>
a>Srm12 class="comment">         */Serm12"
<12href="drivers/acpi/acpi_ipm4.c#L373" 4d.=L373" class="line" na4t.=L347">3443>
a>opt3    if (S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=user_interface" class="sref">user_interface
a>))o{
<12href="drivers/acpi/acpi_ipmi.c#L374" 4d.=L374" class="line" na4t.=L344">3374>
a>opt3    opt if (S12href="+code=ip_ipoyreate_user" class="sref">ip_ipoyreatendler2href="+code=put_device" class="sref">put_device>
a>(S12e>
a>->S12href="+code=user_interface" class="sref">user_interface>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L375" 4d.=L375" class="line" na4t.=L345">3375>
a>opt3    opt2href="+code=put_device" class="sref">put_device>
a>(S12e>
a>->S12href="+code=user_interface" class="sref">user_interfacv>
a>o=oS12href="+code=NULL" class="sref">NUL>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L366" 4d.=L376" class="line" na4t.=L347">3446>
a>opt5>
a>}
<12href="drivers/acpi/acpi_ipm4.c#L377" 4d.=L377" class="line" na4t.=L347">3377>
a>opt6>
a>Srm12 class="commentflushAfterTef">t ref"      */Serm12"
<12href="drivers/acpi/acpi_ipm4.c#L368" 4d.=L378" class="line" na4t.=L347">3438>
a>opt3    if (!S12href="+ref">emptmemcpy" class="sref">emptmnlock>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=tx_msg_list" class="sref">tx_msg_listhref="+code=ipmi_device" class="sref">.c#L379" 4d.=L379" class="line" na4t.=L347">3349>
a>opt3    opt3    S12href="+ref">flush_code=tx_msg" class="sref">flush_code=tndler2href="+code=put_device" class="sref">put_device>
a>(S12h>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L380" 4d.=L380" class="line" na4t.=L348">3440>
a>
<12href="drivers/acpi/acpi_ipmi.c#L381" 4d.=L381" class="line" na4t.=L348">3451>
a>opt3    S12href="+code=list_del" class="sref">list_del>
a>(&S12href="+code=ipmi_device" class="sref">ipmi_device>
a>->S12href="+code=head" class="sref">head>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L382" 4d.=L382" class="line" na4t.=L348">3412>
a>opt3    S12href="+code=ipmi_remove_space_handler" class="sref">ipmi_remove_space_handler2href="+code=put_device" class="sref">put_device>
a>(S12h>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L373" 4d.=L383" class="line" na4t.=L348">3453>
a>}
<12href="drivers/acpi/acpi_ipmi.c#L384" 4d.=L384" class="line" na4t.=L348">34us="sr3ar.Serm12"
<12href="drivers/acp.c#L385" 4d.=L385" class="line" na4t.=L348ivntf">tx_msatic int S12href="+_minset_bit" class="s_minsenlocc#L350" id.=L350" class="linset_bit" class="s" class="linsendlerg>
ahref="+code=ipmi_device" class="sref">.c#L386" 4d.=L386" class="line" na4t.=L348vers/acpi/acp id.=L15href="+code=ipmi32>
a>.c#L387" 4d.=L387" class="line" na4t.=L347">3387>
a>opt3tic int S12href="+resulontext" class="sresulorfacv>
turno0;
<12href="drivers/acpi/acpi_ipmi.c#L388" 4d.=L388" class="line" na4t.=L348">3348>
a>
<12href="drivers/acpi/acpi_ipm4.c#L389" 4d.=L389" class="line" na4t.=L3489>3438>
a>opt3   #L350" id.=L350" cladisablee=head" class="s" cladisablee(S12href="+code=ipmi_device" class="sref">.c#L390" 4d.=L390" class="line" na4t.=L349">3350>
a>opt3    opt3    returnoS12href="+resulontext" class="sresulorfacurno0;
<12href="drivers/acpi/acpi_ipmi.c#L391" 4d.=L391" class="line" na4t.=L349">3371>
a>
<12href="drivers/acpi/acpi_ipm4.c#L392" 4d.=L392" class="line" n4a>o=o49uIPMI opregiont3 Beace_handlgt;S12href="+code=flags" cC2href="+code=put_device" class="sref">put_do14>
a>;
<12href="drivers/a4pi/ac49"+code=put_device" class="sref">put_devicesg" class4"sref">acpi_alloc_ipmi_m4g>
a>49_ipmi.c#L453" id.=L363" clasne" na4t.=L348vers/acpi/acp id.=L1uIPMI opregiont3 Bea_devwatche" amp;S12handlgt;S12href="+cod_devwatche" amp;S12hef="drivers/acpi/acpi_ipm4.c#L392" 4d.=L392" class="line" n4a>o=o49uIPMI opregiont="drevd.=Ld.=L392" class=="drevd.=Lags" cC2href="+code=put_device" class="sref"348">3453s="line" namt.=L394">3394>
a>o4t3    C2href="+code=put_device" class="sref"_bit" cla395>
a>opt3    opt3    r4turno49">smi_data>
a>.S12hlass="s" cladisablee(S12href="+code=ipmi_device" class="sref">.c#L390" 4d.=L390" classlerg>
ahr>
a>;
<12href="drivers/a4pi/ac49d.=L336" class="line" namt.=L336">3336>
a>4>,oS12hre4="+code=address" class="4ref">49c int S12href="+resulontext" class="sresuldevice" c4ass="sref">ipmi_device>
4>->49_ipmi.c#L338" id.=L338" class="l__ex" na4t.=L348">34us=ex" ar.Serm12"
<12href="drivers/acex" na4t.=L348">34udrivers/acex" na4t.=L348ivntf">tx_msatic int S12href="+_mins5device" c5ass="sref">ipmi_device>
5>->50one>
a>(int S12href="+code=iface" class="s5device" c5ass="sref">ipmi_device>
5>->50ipmi.c#L340" id.=L340" class="line" namt.=L340">3340>
a>{
<12href="drivers/acpi/acpi_ipmi.c#L341" id.=L341" class="line" namt.=L341">3341>
a>opt3    struct S12href="+code=acpi_ipmi_device" class="sref">acpi_ipmi_device>
a>o*S15e" class=5sref">ipmi_device>
a>-&g5;S12h50ipmi.c#L421" id.=L421" class="line" namt.5&S12h5ef="+code=tx_msg" class=5sref"50t.=L347">3382>
a>Srm12 class="coine" na4t.=L348">3348>
a>
<12href="drivers/acpi/acpi_ipm4.c#L389" 4d.=L389" class=5href="+co5e=tx_msg" class="sref">t5_msg>5a>->S12href="+code=code=flags" class="sref">flags>
a>))
<12hre5="+code=t5_msg" class="sref">tx_ms5>
a>-503    C2href="+code=put_device" class="sre505>
a>opt5    opt3                5     50ipmi.c#L435" id.=L435" class"+cod_devwatche" unamp;S12handlgt;S12href="+cod_devwatche" unamp;S12hef="drivers/acpi/acpi_ipm4.c#L392" 4d.=L392" class="line" n4a>o=o49uIPMI opregiont="drevd.=Ld.=L392" class=="drevd.=Lags" cC2href="+code=put_device" class="sre5 id.=L4065 class="line" namt.=L4065>340650ef">ipmi_device>
a>-1ev_wapmi_device>
a>-512href="+5ode=status" class="sref"5statu5>
a>o=oS12href4d.=L368" class="line" na4t.=L348">336acpi/acp id.=L15href="+code=i5ine" namt5=L408">3408>
a>opt3    o5t3   50he response IPMI message rettttttttt* When one _devwatche""driveamp;S12hs/acpi/dris dridewaitda4t.=L348">336acpi/acp id.=L15href="+code=i5l>
a>;
<15href="drivers/acpi/acpi_5pmi.c514t.=L346">3419>
a>opt3    Srm12 class=from6>
a>_devwatche""40>
. But6>
a>_deviver callback "
<12href=t.=L348">336acpi/acp id.=L15href="+code=i5levice" c5sg" class="sref">tx_msg>5a>-&g51r the IPMI user inteSo ic9;t cnishedshdrit mecalled12hreexplici<12hun/acpi/a6>
a>12hrref="+cde=pnpf=t.=L348">336acpi/acp id.=L15href="+code=i5l" class=53                       5    S51mt.=L381">3381>
a>opt3    Srm12 class=pmi.c#Lacpi_ck>
cpiareSerm12"
<12href="drivers/acpi/acpi_ipm4.c5oS12href=5+code= ment" class="sref5> men51 class="comment">         * IPMI oprehref="drivers/acpi/acpi_ipm4.c#L377" 4d.=L3753    S12h5ef="+code=status" class=5sref"51353" id.=L353" class="line" namt.=e" namt.=L342">3342>
a>
<12href="drivers/acpi/acpi_ipmi.c#L343" id.=L343" class="line" namt.=L343">3343>
a>opt3    S12href="+code=mutex_lock" class="sref">mutex_lock>
a>(&S12href="+c5ref">AE_O5>
a>;
<12href="drivers/a5pi/ac51553" id.=L353" class="line"  class="sref">ipmi_lock>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L344" id.=L344" class="line" namt.=L344">3344>
a>opt3    S12href="+code=list_for_each_entry_safe" class="sref">list_for_each_entry_safe>
a>(S55" id.=L455" class="line" namt.=L455">3451RE>
a>(S12href="+codeeeeeeeeeeeeeeeeeass="sref">temp>
a>,
<12href="drivers/acpi/acpi_ipmi.c#L345" id.=L345" class="line" namt.=L345">3345>
a>opt3    opt3                    &S12href="+code=driver_data" class="sref">driver_data>
a>.S12hr5device" c5ass="sref">ipmi_device>
5>->51
a>->S12href="+code=pnp_dev" clasine" na4t.=L346">3396>
a>
<12href="drivers/acpi/acpi_ipm4.c#L367" 4d.=L382" class="line" na4t.=L348">3412>
a>opt3    S12href="+code=ipmi_remove_space_handler" c5amp;S12hr5f="+code=tx_msg" class="5ref">51quot;Can't regist4d.=L382" classef">ipmi_device>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L350" id.=L350" class="line" namt.=L350">3350>
a>opt3    opt3    S12href="+code=put_device" class="sref">put_device>
a>(S12href="+code=ipmi_device" class="sref">ipmi_device>
5device" c5ass="sref">ipmi_device>
5>->5112href="+code=tx_msg_list" class="srlass="sref">dev>
a>);
<12href="drivers/acpi/acpi_ipmi.c#L351" id.=L351" class="line" namt.=L351">3351>
a>opt3    opt3    S125t3    S125ref="+code=kfree" class=5sref"52  returno-S12href="+code=EINVAL" class="sref">EINV520" class5"line" namt.=L420">3420>5a>opt52_ipmi.c#L380" 4d.=L380" clasnamt.=L353">3353>
a>opt3    }
<12href="drivers/acpi/acpi_ipmi.c#L354" id.=L354" class="line" namt.=L354">3354>
a>opt3    S12href="+code=mutex_unlock" class="sref">mutex_unlock>
a>(&S12href="+c5f">status5
a>;
<12href="drivers/ac5i/acp52mi>
a>->S12href="+code=flags" class="sr5L421">3425>
a>}
<12href="drivers/a5pi/ac52"+code=put_device" class="sref">put_devic5de=acpi_i5mi_device" class="sref">5cpi_i5mi_dev 4d.=L380" clasnodulene" na4t.=L349">3371>odulene" nhref="drivers/acpi/adrivers/acp.c#L385" 4d.=L385" class="line" na4tref">mutex_unlock>
a>(&S12href="+c5fef">AE_O5
a>)
<12href="drivers/ac5i/acp52_ipmi.c#L414" id.=L4>odulenex" na4t.=L348">34u>odulenex" href="drivers/acpi/adrivers/acex" na4t.=L348">34udrivers/acex" na4tref">mutex_unlock>
a>(&S12href="+c5f" id.=L45ref="+code=ipmi" class="5ref">5pmi>
a


T a>original LXR#L383" id/acp> a>">mutex_uhttp://source buge.net/projects/lxha>LXR# un/"drive,p> driexperi al ck> pnp_acp">mutex_umailto:lxh@ipmux.no="dxh@ipmux.no54">3
dxh.ipmux.no kii.cy hoS12d_acp">mutex_uhttp://www.hs/pill-ipmpro.no="Rs/pill Lpmpro ASrive,pprovid#Laof Lpmux12hri_deingacpi_opera2hre="drr opt3 since 1995.