linux/drivers/acpi/bus.c
<<
>>
Prefs
   1/*
   2 *  acpi_bus.c - ACPI Bus Driver ($Revision: 80 $)
   3 *
   4 *  Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
   5 *
   6 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   7 *
   8 *  This program is free software; you can redistribute it and/or modify
   9 *  it under the terms of the GNU General Public License as published by
  10 *  the Free Software Foundation; either version 2 of the License, or (at
  11 *  your option) any later version.
  12 *
  13 *  This program is distributed in the hope that it will be useful, but
  14 *  WITHOUT ANY WARRANTY; without even the implied warranty of
  15 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16 *  General Public License for more details.
  17 *
  18 *  You should have received a copy of the GNU General Public License along
  19 *  with this program; if not, write to the Free Software Foundation, Inc.,
  20 *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  21 *
  22 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23 */
  24
  25#include <linux/module.h>
  26#include <linux/init.h>
  27#include <linux/ioport.h>
  28#include <linux/kernel.h>
  29#include <linux/list.h>
  30#include <linux/sched.h>
  31#include <linux/pm.h>
  32#include <linux/device.h>
  33#include <linux/proc_fs.h>
  34#include <linux/acpi.h>
  35#include <linux/slab.h>
  36#ifdef CONFIG_X86
  37#include <asm/mpspec.h>
  38#endif
  39#include <linux/pci.h>
  40#include <acpi/acpi_bus.h>
  41#include <acpi/acpi_drivers.h>
  42#include <acpi/apei.h>
  43#include <linux/dmi.h>
  44#include <linux/suspend.h>
  45
  46#include "internal.h"
  47
  48#define _COMPONENT              ACPI_BUS_COMPONENT
  49ACPI_MODULE_NAME("bus");
  50
  51struct acpi_device *acpi_root;
  52struct proc_dir_entry *acpi_root_dir;
  53EXPORT_SYMBOL(acpi_root_dir);
  54
  55#define STRUCT_TO_INT(s)        (*((int*)&s))
  56
  57
  58#ifdef CONFIG_X86
  59static int set_copy_dsdt(const struct dmi_system_id *id)
  60{
  61        printk(KERN_NOTICE "%s detected - "
  62                "force copy of DSDT to local memory\n", id->ident);
  63        acpi_gbl_copy_dsdt_locally = 1;
  64        return 0;
  65}
  66
  67static struct dmi_system_id dsdt_dmi_table[] __initdata = {
  68        /*
  69         * Invoke DSDT corruption work-around on all Toshiba Satellite.
  70         * https://bugzilla.kernel.org/show_bug.cgi?id=14679
  71         */
  72        {
  73         .callback = set_copy_dsdt,
  74         .ident = "TOSHIBA Satellite",
  75         .matches = {
  76                DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
  77                DMI_MATCH(DMI_PRODUCT_NAME, "Satellite"),
  78                },
  79        },
  80        {}
  81};
  82#else
  83static struct dmi_system_id dsdt_dmi_table[] __initdata = {
  84        {}
  85};
  86#endif
  87
  88/* --------------------------------------------------------------------------
  89                                Device Management
  90   -------------------------------------------------------------------------- */
  91
  92int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device)
  93{
  94        acpi_status status = AE_OK;
  95
  96
  97        if (!device)
  98                return -EINVAL;
  99
 100        /* TBD: Support fixed-feature devices */
 101
 102        status = acpi_get_data(handle, acpi_bus_data_handler, (void **)device);
 103        if (ACPI_FAILURE(status) || !*device) {
 104                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No context for object [%p]\n",
 105                                  handle));
 106                return -ENODEV;
 107        }
 108
 109        return 0;
 110}
 111
 112EXPORT_SYMBOL(acpi_bus_get_device);
 113
 114acpi_status acpi_bus_get_status_handle(acpi_handle handle,
 115                                       unsigned long long *sta)
 116{
 117        acpi_status status;
 118
 119        status = acpi_evaluate_integer(handle, "_STA", NULL, sta);
 120        if (ACPI_SUCCESS(status))
 121                return AE_OK;
 122
 123        if (status == AE_NOT_FOUND) {
 124                *sta = ACPI_STA_DEVICE_PRESENT | ACPI_STA_DEVICE_ENABLED |
 125                       ACPI_STA_DEVICE_UI      | ACPI_STA_DEVICE_FUNCTIONING;
 126                return AE_OK;
 127        }
 128        return status;
 129}
 130
 131int acpi_bus_get_status(struct acpi_device *device)
 132{
 133        acpi_status status;
 134        unsigned long long sta;
 135
 136        status = acpi_bus_get_status_handle(device->handle, &sta);
 137        if (ACPI_FAILURE(status))
 138                return -ENODEV;
 139
 140        STRUCT_TO_INT(device->status) = (int) sta;
 141
 142        if (device->status.functional && !device->status.present) {
 143                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]: "
 144                       "functional but not present;\n",
 145                        device->pnp.bus_id,
 146                        (u32) STRUCT_TO_INT(device->status)));
 147        }
 148
 149        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]\n",
 150                          device->pnp.bus_id,
 151                          (u32) STRUCT_TO_INT(device->status)));
 152        return 0;
 153}
 154EXPORT_SYMBOL(acpi_bus_get_status);
 155
 156void acpi_bus_private_data_handler(acpi_handle handle,
 157                                   void *context)
 158{
 159        return;
 160}
 161EXPORT_SYMBOL(acpi_bus_private_data_handler);
 162
 163int acpi_bus_get_private_data(acpi_handle handle, void **data)
 164{
 165        acpi_status status = AE_OK;
 166
 167        if (!*data)
 168                return -EINVAL;
 169
 170        status = acpi_get_data(handle, acpi_bus_private_data_handler, data);
 171        if (ACPI_FAILURE(status) || !*data) {
 172                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No context for object [%p]\n",
 173                                handle));
 174                return -ENODEV;
 175        }
 176
 177        return 0;
 178}
 179EXPORT_SYMBOL(acpi_bus_get_private_data);
 180
 181/* --------------------------------------------------------------------------
 182                                 Power Management
 183   -------------------------------------------------------------------------- */
 184
 185static const char *state_string(int state)
 186{
 187        switch (state) {
 188        case ACPI_STATE_D0:
 189                return "D0";
 190        case ACPI_STATE_D1:
 191                return "D1";
 192        case ACPI_STATE_D2:
 193                return "D2";
 194        case ACPI_STATE_D3_HOT:
 195                return "D3hot";
 196        case ACPI_STATE_D3_COLD:
 197                return "D3";
 198        default:
 199                return "(unknown)";
 200        }
 201}
 202
 203static int __acpi_bus_get_power(struct acpi_device *device, int *state)
 204{
 205        int result = ACPI_STATE_UNKNOWN;
 206
 207        if (!device || !state)
 208                return -EINVAL;
 209
 210        if (!device->flags.power_manageable) {
 211                /* TBD: Non-recursive algorithm for walking up hierarchy. */
 212                *state = device->parent ?
 213                        device->parent->power.state : ACPI_STATE_D0;
 214                goto out;
 215        }
 216
 217        /*
 218         * Get the device's power state either directly (via _PSC) or
 219         * indirectly (via power resources).
 220         */
 221        if (device->power.flags.explicit_get) {
 222                unsigned long long psc;
 223                acpi_status status = acpi_evaluate_integer(device->handle,
 224                                                           "_PSC", NULL, &psc);
 225                if (ACPI_FAILURE(status))
 226                        return -ENODEV;
 227
 228                result = psc;
 229        }
 230        /* The test below covers ACPI_STATE_UNKNOWN too. */
 231        if (result <= ACPI_STATE_D2) {
 232          ; /* Do nothing. */
 233        } else if (device->power.flags.power_resources) {
 234                int error = acpi_power_get_inferred_state(device, &result);
 235                if (error)
 236                        return error;
 237        } else if (result == ACPI_STATE_D3_HOT) {
 238                result = ACPI_STATE_D3;
 239        }
 240
 241        /*
 242         * If we were unsure about the device parent's power state up to this
 243         * point, the fact that the device is in D0 implies that the parent has
 244         * to be in D0 too.
 245         */
 246        if (device->parent && device->parent->power.state == ACPI_STATE_UNKNOWN
 247            && result == ACPI_STATE_D0)
 248                device->parent->power.state = ACPI_STATE_D0;
 249
 250        *state = result;
 251
 252 out:
 253        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] power state is %s\n",
 254                          device->pnp.bus_id, state_string(*state)));
 255
 256        return 0;
 257}
 258
 259
 260static int __acpi_bus_set_power(struct acpi_device *device, int state)
 261{
 262        int result = 0;
 263        acpi_status status = AE_OK;
 264        char object_name[5] = { '_', 'P', 'S', '0' + state, '\0' };
 265
 266        if (!device || (state < ACPI_STATE_D0) || (state > ACPI_STATE_D3_COLD))
 267                return -EINVAL;
 268
 269        /* Make sure this is a valid target state */
 270
 17271        if (ACPI_FAILURE(status) || !*data) {
 172           Dstate up already at_PRINT" class="sref">ACPI_DEBUG_PRINT((AC2I_DB_INFO, &qa href="drivers/acpi/ devce->pnp.2173                      name="L261"> 261{
 174                return -ENO2EV2175;
 17271        if (]3" id="L233" class="line" name="L233"> 233        } else s="liine" name="L233s="lis/acpi/bus.c#L268"7 cla6E53o  1762result == devce-> 125result = PREFIXe="L125"> 125 172           Dstate does8x]: s" id="LPRINT" class="sref">ACPI_DEBUG_PRINT(( 177 2     27f="drivers/acpi/bus.cg">&qa href="drivers/acpi/ devce->pname="L261"> 261{
EXPORT_SY2BOL, (status))
acpi_bus_get_p2ivate281"L174"> 174                return - 181sta;
 141pan>
 265
ACPI_STATE_D0)
 248                 222                unsigned psretks="line" name="Lsretk">devce-> 125result = PREFIXe="L125"> 125 183device""L172"> 172           Canx]: same state tolashigher-248ACPI_DEBUG_PRINT((acpi_handle""L172"> 172           e="L268th172i/bus. class="sref">Aname="L261"> 261{
handle));
28=device" class="sref">device-> 267                retubus.c#L182" id="L188" class="line"2name=28NVAL;
ACPI_STATE_D2) {
device->state < ACPI_STATE_D2) {
 190        ass="sref">status = 'P', ));
 192href="drivers/acpi/bus.c#L240" id="L240" class="line" name="L2rs/acpi/b2s.c#L193" id="L193" clas2="lin29>         * point, the fact that the dTransius [------#L240" id="L240" class="line" name="L2r--------294" class="line" name="L294"> 29ass="line" name="L244"> 244               #L240" id="L240" class="line" name="L2rf="+code2#L195" id="L195" class="2ine" 2ame="Lline" name="L244"> 244 192     * If we were unsure about the der directly (vihrefn  href268_PSx.  Conss="lyceabltransius [s to#L240" id="L240" class="line" name="L2rvers/acp2s.c#L197" id="L197" clas2="lin29217" id="L217" class="line" name="L217a ler d-248
"D3"2
         * Get the device'lass="sref">ACPI_STATE_D2) {
ACPI_STATE_D0)
class="line" name="L2"> 17271        if ("(unknown)"3/span30190"> 190        > 232          ; /* Do nothing. */
 233        } else if (device-> 300statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) class="lintransius [href="+code=result" s="lintransius [">devce->));
, ACPI_STATE_D2) {
acpi_device *device-&a> : handle));
30pi_handle" class="sres="sref">device->/* Do nothing. */
]3" id="L233" class="line" name="L233"> 233        } else class="srsf="+code=device" class="srsf">device->ACPI_S3ATE_U30pi_handle" class="sref">acpi_">result = 0;
devce->status =  207        if (!<3 href3"+code=device" class="""""""""""""""""""""""""""""""""""""""ass="sref">status = "D3"3e" na30f="drivers/acpi/bus.cg">&qa ss="sref">NULL, &psc);
->31_INFO, statSTATE_D3_HOT" class="sref">ACPI_ST          handle));
flags. : handle));
 211          3     3span class="comment">/////////s="sref">device->state = device->->/* Do nothing. */
]3" id="L233" class="line" name="L233"> 233        } else class="srsf="+code=device" class="srsf">device->3ut 235       ">result = 0;
devce->status = 3215acpi_handle 35"> 235       ">result = us =  216<3a>
NULL, &psc);
-> 218&qa s>       ">result = STATE_D3_HOT" class="sref">ACPI_ST          handle));
 : handle));
flags.device->power.flagss="sref">device-> 222          > 232          ; /* Do nothing. */
 233        } else if (device->acpi3evaluate_integer(deviass="sref">statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) class="lintransius [href="+code=result" s="lintransius [">devce->));
"_PSC",  232          rn ACPI_STATE_D2) {
       3        if (ACPI_FAg"""""""a> : handle));
device-> 216<3f="+code=ENODEV" class="3ref">3NODEV;
device-> 228           3    <32 257}
3sch="L251" class="line" name="L2513="L230" c3ass="line" name="L230"> 330/* The test below covers ACPI_STATDef">ACPI_STATE_D2) {
        3f (resultdevce-> 125result = PREFIXe="L125"> 125, ne" name="L253"> 253        ACPI_DEBUG_PRINT((po3er.flags.,
 254                          dev        if ());
-> 235ACPI_STATE_D0)
class="line" name="L2"> 17271        if ()());
NULL, &*data) {
));
 216<3 href="+code=result" cla3s="sr3f">result == ne" name="L253"> 253        ACPI_DEBUG_PRINT((&qa s>       "d 254                          dev        if ());
ACPI_STATE3D3 199                return 3239state 240<3a>
result         if ( 249
 242                return po33"> 243st3too.
);
 259
 163int __acpi_bus_set_power(struct se->rhref="drivers/acpi/bus.c#L260" id="L260" class="line" name="L260"> 260static int power.A3PI_ST3569         250        3statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) clasb202"> 260" id="L260" class="line"b202"> 260" id>
error = < int  = 35>sta;
ACPI_STATE_D2) {
 2513 249
ACP3_DB_I35   --------------------------------3s="sref">3us_id,  209
 210        if (!(*st35" name="L235"> 235data) {
));
 2553acpi_handle 253        ACPI_DEBUG_PRINT(( 256 3     35">result == error = < int  209<_aca href="+code=__acs/acpppandle));
handle));
 199                return acpi_device *state36"sref">result         if ( 259
->));
acpi_status3ACPXPORT_SYMBO >
 259
));
3"string">'0' + 3a href="+code=state" class="sref">st3te, <3pan class="string">'30འ
) || (statea>);

 260static int ACPI_STATE_D2) {
36f="drivers/acref="drivers/acpi/b());
370="drivers/acref="drivers/acpi/b9"> 249
stateACPI_FAILURE(ACPI_STATE_D2) {
AC3I_DB_INFO, ACPI_STATE_D3_COLD))
37   --------------------------------3pi/bus.c#3174" id="L174" class="li3e" na3e="L174"> 174<6" id="L266" clcode=ACPI_STATE_D0" class="sref">ACPI_STATE_D0)
class="line" name="L2"> 17271        if ()4{
 205  3ef="+code3ENODEV" class="sref">ENO3EV3175;
statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT)/bus.c#L202" id="L202" class="line" name="L202"> 202
->error = <());
 1763rhref="drivers/acpi/The test below covers ACPI_STATDef">ACPI_STATE_D2) {
 177 3     37f="drivers/acpi/bus.c         if ( 249
EXPORT_SY3BOL        acpi_bus_get_p3ivate3820" id="L220" class="line" name="L220"> 220         */
 221        if (device>         181resultACPI_STATE_D3_HOT) class="linona href="+code=device" cla class="linona href="+c>
->));
 2ndle));
 183ACPI_STATE_D2) {
ACPI_STATE_D0)
class="line" name="L2"> 17271        if ()());
38=device" clas         if ( 249
                return }
a>);

 163int  260static classivers/acpi/bus.c classiSTATDef">ACPI_STATE_D2) {
 192href="drivers/acpi/bus.c#L260" id="L260" class="line" name="L260"> 260static int ));
 395de=device" chef="drivers/acpi/b9"> 249
 1939NOWN;
statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) clasb202"> 260" id="L260" class="line"b202"> 260" id>
error = < int rhref="drivers/acpi/The test below covers ACPI_STATDef">ACPI_STATE_D2) {
"D3"3
 249
"(unknown)"4/span40        }
statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT)/bus.c#L202" id="L202" class="line" name="L202"> 202
->error = <());
 400sta;
ACPI_STATE_D2) {
,  249
40="L174"> 174<6" id="L266" clSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT)/bus.c#L202" id="L259" class="line" name="L259"> 259
->));
ACPI_STATE_D2) {
ACPI_S4ATE_U40pi_handle" class="sre"> 260static classivers/acpi/bus.c classiSTAT_STATE_D3_HOT)());
 207        if (!<4 href40="L267"> 267                ret4#9me="L204"">"D3"4e" na40f="drivers/ac         if ( 249
41_INFO>                return ACPXPORT_SYMBO _GP >

));
 211          4     41       }
state =  2ndle));
power. 163iame="L2590" class="line" name="L210"> 21ame="L2590" class="line" >
 163int ACPI_STATE_D2) {
4ut 260static int 4215 249
 216<4a>
 267                ret4r9me="L204e="L218"> 218statSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) clasb202"> 260" id="L260" class="line"b202"> 260" id>
error = < int  249
ACPI_STATE_D0)/a>
 210        if (!));
power. 2         ACPXPORT_SYMBO >
 21ame="L2590" class="line" >
));
("_PSC",  163iame="L259can_wakeuivers/acpi/bus.came="L259can_wakeui>
 163int ACPI_STATE_D2) {
       4        if ( 260static int  216<4f="+code=ENODEV" class="4ref">4NODEV;
 249
 228           4    <42 257}
4scstatSTATE_D3_HOT" class="sref">ACPI_STATE_D3_HOT) clasb202"> 260" id="L260" class="line"b202"> 260" id>
error = < int  430 249
ACPI_STATE_D0)wakeuivers/acpi/bus.cwakeui>
 233        } else s="liine" name="L233s="lis/acandle));
                return  2ndle));
po4er.ACPXPORT_SYMBO >

));
(st4ers/acpi/4us.c#L235" id="L235" cla4s="li4e" nam
) classsret_osc_erro59" class="line"ame="ssret_osc_erro5>
 163int st4e="L215" 4id="L236" class="line" n4me="L43pi_handle" clhref="drivers/acpi/bus.c#L2osc_contexchref="+code=result" osc_contexc"L260"> 260staticcontexchref="+code=rescontexc"L26,us" cl"> 260staticerro59" class="line"erro5>
ACPI_STATE_D2) {
 216<4 href="+code=result" cla4s="sr43="L26ref="+code=device" class="sref"4"9me="L204          163ibuff259" class="line"L2ff25ame="= {L163"> 163ic#L20ALLOC id=BUFFER9" class="line"c#L20ALLOC id=BUFFERsref>andle));
ACPI_STATE4D3));
4239state 240<4a>
psc);
 2=  2= 
error = ACPI_STATE_D0 242 222                unsigned psretks="line" name="Lsretk">devce->ds="line" name="KERN_ef">dame="Le" name="L253"> 253   PRINT" class="sref">ACd
));
po43"> 243->devce->ds="line" name="KERN_ef">dame="Le" name="L253"> 253   PRINT":PRINT" class="sref">ACd(s" cl")">error = 
));
 235devce->device->r6" id="L266" clpsretks="line" name="Lsretk">devce->ds="line" name="KERN_ef">dame=Le" name="L253"> 253   _OSC   quest data:lass="sref">Aname="L261"> 261{
power.->ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L21lengthvers/acpi/bus.clengths/acacode=ACPI_STATE_i9" class="line"is/ac"+= sizeofvce->ACPI_STATE_D0A4PI_ST45_INFO, devce" name="L253"> 253   PRINTx lass="sref">ACd*
ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L210"retass="line" name="L2retasget_ +code=ACPI_STATE_i9" class="line"is/acpppandle));
 250        4statpsretks="line" name="Lsretk">devce" name="L253"> 253    class="sref">Aname="L261"> 261{
45"sref>                return  2514 2ndle));
ACP4_DB_I45   --
);
 163iame="3">_to_uuliine" name="L233ame="3">_to_uuli">devs" cl"> 260static3">ine" name="L2333">get_pr="drivers/acpi/u8( 260staticuuliine" name="L233uuli">de0" class="sref">ACPI_STATE_D0, (*st45" name="L235"ref="drivers/acpi/bi9" class="line"is/acandle));
 2554
st4class="li4e" name="L256"> 256 4     45">result == andle));
}
len">devce->ine" name="L2333">get_) != 360" class="sref">ACPI_STATE_D0acpi_device *flags.));
46"sref">resulteablvce-> 222          > 232          i9" class="line"is/ac"== 8 ||code=ACPI_STATE_i9" class="line"is/ac"== 13 ||code=ACPI_STATE_i9" class="line"is/ac"== 18 ||code=ACPI_STATE_i9" class="line"is/ac"== 23 href="+code=device" class="sref"4ide=ACPI_4s="sref">acpi_status4flags.get_[ce->'P', ACPI_STATE_D0'0' + 46pi_handle" class="sref">acpi_handlea          if ());
'40ཪ" name="L235"> 235devce->ine" name="L2333">get_[ce->ACPI_STATE_D0) || (acpi_         if ());
;
device->46f="drivers/aceablvce->47_INFO, de[ce->)hex_to_binine" name="L233hex_to_bin">devce->ine" name="L2333">get_[ce->));
 190        ass="sref">statuuliine" name="L233uuli">de[ce->)hex_to_binine" name="L233hex_to_bin">devce->ine" name="L2333">get_[ce-> 261{
ACPI_FAILURE(device->AC4I_DB_INFO,         if ());
47   --s="sref">device->st4ef="+code4ENODEV" class="sref">ENO4EV);
 163iame="run oscacpi/bus.c#L225ame="run osc>
 163int  260staticcontexchref="+code=rescontexc"L260" class="sref">ACPI_STATE_D04175se-> 1764r6" id="L266" clame="ivers/acpi/bus.c#L225ame="ivers/ame="L163"> 163iivers/acpi/bus.c#L225" id="L225andle));
 177 4     47f="drivers/achref="drivers/acpi/bus.c#L2_OK" cllischref="+code=result" oOK" clliscame="L163"> 163iinpuchref="+code=resinpucL225andle));
EXPORT_SY4BOL,  163iin_param/acpi/bus.c#L225in_param/i_ha[4]andle));
acpi_bus_get_p4ivate4820" id="L220"uns [-rivers/acpi/bus.c#L2_OK" chref="+code=result" oOK" came=""> 260staticout oOKine" name="L233out oOKL225andle));
 181result="drivers/acpi/u8(statuuliine" name="L233uuli">de[16]andle));
result="drivers/acpi/uf ());
 183 163ioutpuchref="+code=resoutpucs/ac"= {L163"> 163ic#L20ALLOC id=BUFFER9" class="line"c#L20ALLOC id=BUFFERsref22bus.c#L224" id="L224" class="line" name="L>andle));
st4Of="+code4onst char *ACPI_STATE_D048pi_handle" class="sre         if ());
rhref="drivers/acpi/&psc);
_to_uuliine" name="L233ame="3">_to_uuli">deva href="driverscontexchref="+code=rescontexc"L26">ACPI_STATE_D0)uuli_3">ine" name="L233uuli_3">get_pr="drivers/acpi/uuliine" name="L233uuli">de0D0" class="sref">ACPI_STATE_D0));
statcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L21lengthvers/acpi/bus.clengths/ac_STATE_D3_HOT)4ALLOC id=BUFFER9" class="line"c#L20ALLOC id=BUFFERsrefandle));
statcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L210"retass="line" name="L2retasget_ STATE_D3_HOT)"L224" class="line" name="Landle));
 192s="string">&#comment">/* Setting up inpuc parametass */pan cla  }
 163iinpuchref="+code=resinpucL225.c#L210" id="L21counchref="+code=rescouncget_ ST4andle));
 495de=device" cL163"> 163iinpuchref="+code=resinpucL225.c#L210" id="L210"retass="line" name="L2retasget_ STATE_D3_HOT)in_param/acpi/bus.c#L225in_param/i_haandle));
 163iin_param/acpi/bus.c#L225in_param/i_ha[0]3" id="L233" clatyp href="+code=acptyp ="drivers/acpi/bus.STATE_D3_HOT)4TYPd=BUFFER9" class="line"c#L20TYPd=BUFFERi_haandle));
 1949NOWN;
statin_param/acpi/bus.c#L225in_param/i_ha[0]3" id="L233" clabuff259" class="line"L2ff25ame=.c#L210" id="L21lengthvers/acpi/bus.clengths/ac_/bus.ST16andle));
r6" id="L266" clin_param/acpi/bus.c#L225in_param/i_ha[0]3" id="L233" clabuff259" class="line"L2ff25ame=.c#L210" id="L210"retass="line" name="L2retasget_ bus.STATE_D3_HOT)uuliine" name="L233uuli">deandle));
"D3"4
statin_param/acpi/bus.c#L225in_param/i_ha[1]3" id="L233" clatyp href="+code=acptyp ="drivers/acpi/bus.STATE_D3_HOT)4TYPd=INTEGER9" class="line"c#L20TYPd=INTEGER">deandle));
statin_param/acpi/bus.c#L225in_param/i_ha[1]3" id="L233" claretagass="line" name="retagasame=.c#L210" id="L21valu href="+code=acpvalu s/ac_/bus.SThss="sref">statcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)rfca href="+code=_racs/acandle));
statin_param/acpi/bus.c#L225in_param/i_ha[2]3" id="L233" clatyp href="+code=acptyp ="drivers/acpi/bus.STATE_D3_HOT)4TYPd=INTEGER9" class="line"c#L20TYPd=INTEGER">deandle));
result="drivers/acpi/in_param/acpi/bus.c#L225in_param/i_ha[2]3" id="L233" claretagass="line" name="retagasame=.c#L210" id="L21valu href="+code=acpvalu s/ac_/bus.SThss="sref">statcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L21lengthvers/acpi/bus.clengths/ac/sizeofvce->result="drivers/acpi/in_param/acpi/bus.c#L225in_param/i_ha[3]3" id="L233" clatyp href="+code=acptyp ="drivers/acpi/bus.STATE_D3_HOT)4TYPd=BUFFER9" class="line"c#L20TYPd=BUFFERi_haandle));
 163iin_param/acpi/bus.c#L225in_param/i_ha[3]3" id="L233" clabuff259" class="line"L2ff25ame=.c#L210" id="L21lengthvers/acpi/bus.clengths/ac_/bus.SThss="sref">statcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L21lengthvers/acpi/bus.clengths/acandle));
50="L174"> 174<6" id="L266" clin_param/acpi/bus.c#L225in_param/i_ha[3]3" id="L233" clabuff259" class="line"L2ff25ame=.c#L210" id="L210"retass="line" name="L2retasget_ bus.STATE_D3_HOT)contexchref="+code=rescontexc"L26">ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L210"retass="line" name="L2retasget_andle));
ACPI_S5ATE_U50NOWN;
stativers/acpi/bus.c#L225" id="L225_STATE_D3_HOT) clasevalulass_OK" chref="+code=result" evalulass_OK" c">deva href="driversnt  253   _OSClass="sref">ACd"sref">error = error = ));
rhref="drivers/acpi/&psc);
ACPI_STATE_D0"D3"5e" na50f="drivers/acpi/bus.c         if (5169        ACPI_STATE_D0 211          5     51"sref">result));
state =  2ndle));
power. 163iout oOKine" name="L233out oOKL225_STATE_D3_HOT)outpuchref="+code=resoutpucs/ac.c#L210" id="L210"retass="line" name="L2retasget_andle));
;
 163iout oOKine" name="L233out oOKL225">ACPI_STATE_D0)typ href="+code=acptyp ="dri!STATE_D3_HOT)4TYPd=BUFFER9" class="line"c#L20TYPd=BUFFERi_handle));
5ut 235ACPI_STATE_D0)buff259" class="line"L2ff25ame=.c#L210" id="L21lengthvers/acpi/bus.clengths/ac_!STATE_D3_HOT)contexchref="+code=rescontexc"L26">ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L21lengthvers/acpi/bus.clengths/ac href="+code=device" class="sref"5d="L215" 5lass="line" name="L215">5215) classsret_osc_erro59" class="line"ame="ssret_osc_erro5>

result ==  253   _OSC evalulas [-      ed wrong typ lass="sref">Aname="L261"> 261{
 218stativers/acpi/bus.c#L225" id="L225_STATE_D3_HOT)sE_TYPdcode=data" classE_TYPdget_andle));
));
device->power.result=="string">&#comment">/* Need tocignore the bit0 i[-  iver TATE */pan cla  }
result="drivers/acpi/erro5/acpi/bus.c#L225erro5/L225_ST*
ACPI_STATE_D0)buff259" class="line"L2ff25ame=.c#L210" id="L210"retass="line" name="L2retasget_Dd"sref ~(1"c#L2c#L260name="L261"> 261{
("_PSC", ACPI_STATE_D0       5        if ( 235) classsret_osc_erro59" class="line"ame="ssret_osc_erro5>
acpi_handle 253   _OSC   quest failedlass="sref">Aname="L261"> 261{
 216<5f="+code=ENODEV" class="5ref">52">result == ACPI_STATE_D0 228           5    <52f="drivers/acpi/bus.cass="sreATE_D3_HOT) classsret_osc_erro59" class="line"ame="ssret_osc_erro5>
5sc, acpi_handle 253   _OSC ins="li UUIDlass="sref">Aname="L261"> 261{
 530 190        href="drivers/acpi/erro5/acpi/bus.c#L225erro5/L225 ef="+code=ACPI_STATE_OSC_I_STAID_REVISION_ERROR9" class="line"OSC_I_STAID_REVISION_ERRORs/ac0" class="sref">ACPI_STATE_D0result) classsret_osc_erro59" class="line"ame="ssret_osc_erro5>
 222          f">acpi_handle 253   _OSC ins="li reviss [lass="sref">Aname="L261"> 261{
.flags.acpi_href
ACPI_STATE_D0)caivers/acpi/bus.ccaiame=.c#L210" id="L210"retass="line" name="L2retasget_)[ce->       5us.c#L235" id="L235" cla5s="li53" name="L235"> 235ACPI_STATE_D0acpi_handle));
 216<5 href="+code=result" cla5s="sr53">result == stativers/acpi/bus.c#L225" id="L225_STATE_D3_HOT)sE_SUPPORTcode=data" classE_SUPPORTget_andle));
));
ACPI_STATE5D3, device->5239 190        ass="sref">stativers/acpi/bus.c#L225" id="L225_STATE_D3_HOT)sE_ERROR9" class="line"cE_ERRORL225andle));
 240<5a>
result 242 222  s="sref">device-> 243device-> 174<6" id="L266" clcontexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L21lengthvers/acpi/bus.clengths/ac_STATE_D3_HOT)out oOKine" name="L233out oOKL225">ACPI_STATE_D0)buff259" class="line"L2ff25ame=.c#L210" id="L21lengthvers/acpi/bus.clengths/acandle));
 163icontexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L210"retass="line" name="L2retasget_ STATE_D3_HOT)kmallocacpi/bus.c#L225kmalloc>
ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L21lengthvers/acpi/bus.clengths/acpr="drivers/acpi/GFP_KERNE24" class="line"GFP_KERNE2s/acDandle));
ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L210"retass="line" name="L2retasget_ href="+code=device" class="sref"5       &a5p;& result == stativers/acpi/bus.c#L225" id="L225_ST   if ());
power.A5PI_ST55_INFO, device-> 250        5statmemcpyhref="+code=acpmemcpy>
ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L210"retass="line" name="L2retasget_pr="drivers/acpi/out oOKine" name="L233out oOKL225">ACPI_STATE_D0)buff259" class="line"L2ff25ame=.c#L210" id="L210"retass="line" name="L2retasget_,ef="+code=device" class="sref"5> = 55"sref">resultACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L21lengthvers/acpi/bus.clengths/acDandle));
result="drivers/acpi/ivers/acpi/bus.c#L225" id="L225_ST   if ());
ACP5_DB_I55   --------------------------------5cef="driv5us_id, device->(*st556de=device" cL163"> 163ikfre href="+code=acpkfre ">devce->="L215" 5ne" name="L255"> 2555ACPI_STATE_D0 256 5     55">result == ACPI_STATE_D0)rf="+code=device" rf">dev.c#L210" id="L210"retass="line" name="L2retasget_ STATE_D3_HOT)"L224" class="line" name="Landle));
acpi_device *"D3&hrefC63d=1v"line" nT 2oa hre56tasget_ STATE_D3_HOT)"L224" cla5ac"= 0+co5e=ACPI_STATE_i9" class="5ine"i56pan c4class="sr4f">puate_integer(  pport_ackeTATE_D3_HOT)hsr5sb_apei>  pport_ackeT);
_to_uuliisb_ef="dramKL22[lass=rescontexc"L26,ef="+code=d0811B06E-4A27-44F9-8D60-3CBBC22E7B48te" clas5/acpa href="drcpi/bus5#L257" id5"L257"line"cE_et_[ce->acpi_devicea5pi_handlea          if (5a hre56name="L163"> 163int devce->i5e" na56i/bus5/6201" id5"L195" id="L" name="L233uuli">de[16]andle));
acpi_href
 181acpi_         if (5a hre5="AE_BAD_PARAML225ame="run osc>
)4E_OK9" class="line"cE_OKs/ac0" class="sref">At48o 181));
 5     55">reef="drame="3">_to_uuliine" name="L2ontexchref="+code=sb_ef="drame="3">_to_uuliisb_ef="dramKL22ine" name="L233out oOKL225">ACPIac"= 0+co5e=ACPI_STATE_i9" class="5ine"i5/ac"c#L2616+code=ACPI_/a> 5     55">resame=.c#L210" id="L21valu/busine" name="L233out oOKL225">ACPIaL225" id=ne" name="L233opc_map_to5uulii5ha[ce->ACPIa">"Do_uuliine" name="L233opc5map_t57me=.c#L210" id="L210"ACPIac"= 0+co5="L261"> 261{
ACs/ac"= {L163"> 163ic#L20ALLO5CPI_DB_IN5O" class="sr4f">AC4I_DB_5NFOstatL163"f="drame="ivers/acpi/bus.c#L225ame="ivers/ame="L163"> 163iame="run oscacpi/bus./ac"= {L163"> 163ic#L20ALLO5C"line"cE_Ks/acandle));
57   --s="sref">deviceACPI_STATE_D0)caivers/acpi/ontexchref="+code=f="+code=device" class="sref"5 >       5us.c#L235" /ac"= {L163"> 163ic#L20ALLO5Csisxdigi5ref="+code=result" osc_c5ntexc57i/bus5/6201" id5"L195" id="Leap210>acpi_href
xc"L26">ACPI_STATE_D0xc"L2acpi/ontexchref="+code=f="+SB_PR3href="+code=result" claf="+SB_PR3href="+c35" /href="drivers/acpi/5us.c#5_PR3 isdevius;power.ACP5_STAT5_D0)defs="T        return power. 2555acpi_href
xc"L26">ACPI_STATE_D0xc"L2acpi/ois a valid targe4 f="+SB_PADhref="+code=result" claf="+SB_PADhref="+c35" /ac"= {L163"> 163ic#L20ALLO5L2_OK" ch5ef="+code=result" oOK" c5me="L563"> 1#endifac"= {L163"> 163ic#L20ALLO5L">"DK" chref="+code=result" 5OK" c58tasget_ STATE_D3_HOT)"L224" cla5f">result5"drivers/acpi/u8()defs="T        return  2555statcap210>acpi_href
xc"L26">ACPI_STATE_D0xc"L2acpi/ois a valid targe4 f="+SB_PPC_OSThref="+code=result" claf="+SB_PPC_OSThref="+c35" /ac"= {L163"> 163ic#L20ALLO5L"line"cE_9" class="line"c#L20ALLO5 id=B5FFERsr#endifac"= {L163"> 163ic#L20ALLO5L="4173">5me="L>andle));
;
HOTPLUG_OSTL215" 5ne" name=a>;
HOTPLUG_OSTe=.c#L210" id="L210"retass="line" n resconte5ef">48pi_handle" class="5re   5810" id="L21lengthvers/acpi/bcap210>acpi_href
xc"L26">ACPI_STATE_D0xc"L2acpi/ois a valid targe4 f="+SB_HOTPLUG_OSThref="+code=result" claf="+SB_HOTPLUG_OSThref="+c35" /ac"= {L163"> 163ic#L20ALLO5Lc#L210" ia>)uuli_3">ine" name="L253uuli53">get#endifac"= {L163"> 163ic#L20ALLO5s="line"45ame=48f="drivers/acpi/bu5.c   59        if (iame="run osghes_disab3<5"> 2555acpi_href
xc"L26">ACPI_STATE_D0xc"L2acpi/ois a valid targe4 f="+SB_APEIhref="+code=result" claf="+SB_APEIhref="+c35" /ac"= {L163"> 163ic#L20ALLO5s="line" 5ame="Landle));
4239state 240<4a>
state 24rescontexc"L26">ACPI_STATE_25_STATE_D3_HOT) claseval\\+SBs_OK" chref="+code=result" evalulas> 163iame="run oscacpi/bus.chref="+code=rescontexc"L26">ACPI5class="li5e"4name=4L192"> 192s5"stri5g">&#comment">>>>>>>>>_D3_HO/ac"= {L163"> 163ic#L20ALLO5s"line"cE_3iinpuchref="+code=r5sinpu5L225.c#L210" i" 4lass="line" name="L23SUCCESSacpi_device *resultd="L210"r5tass="line" name="L2reta5get_ 59sget_pr="drivers/acpi/erro59" class= href="+code=device" class=retass="line" naap210_="li5e" name="L256aap210_="livecontexchref="+code=c------4-----48 href="+code=state/a> 5     55">resali5e" name="L256"> 256 5     55">result ==  163ic#L20ALLO5schar *resali5e" name="L256"> 256 5     55">res.clengths/ac_!STATE_D3_HOT/PI_S a valid targe4 f="+Ssr53">xc"L26">ACPI_STATE_D0xc"L2acpiref="+code=rescontexc"L26">ACPI5cresconte5259" class="line"L2ff25a5e=.c#59ACPI_STATE_out succes/acpi/bus.c#L225out suc"sr5sb_apei>  pport_ackeTATE_D3_HOT)hsr5sb_apei>  pport_ackeT);
< =ef="+code=rescontexc"L26">ACPI5cc#L210" i210"retass="line" name="52reta59_UUID_ERROR9" class="line"OSCd="L210"retass="line" naap210_="li5e" name="L256aap210_="livec[texchref="+code=res"sr53">xc"L26">ACPI_STATE_D0xc"L2acpi/osOSC_QUERY_TYPdget_]ef="+SB_APEIhref="+code=result" claf="+SB_APEIhref="+c35" /ac"= {L163"> 163ic#L20ALLO6ptyp ="dr6vers/acpi/bus.STATE_D3_H6T60ac"c#L2616+code=ACPI_STATE_i9" class="+code=acpout kfre get_:="sref">device-&c------4-----48 href="+code=state/a> 5     55">resali5e" name="L256"> 256 5     55">result == statcontexchref="+code6resco60ode=ACPI_STATE_out kfre href="+code=acpout k6ptyp ="dr6vers/acpi/bus.STATE_D3_H6T64TYPd=INTEGef="drivers/acpi/5us.c#5do we n20" id=check otherclass="sreaap? Sounds nopower. 192s6HOTACPI_6TATE_D0)caivers/acpi6bus.c6aiame=Gef="drivers/acpi/5us.c#5--------------------------------------------------------------------------href5class="sr5f">power.ACPI_6Tass="line" name="L2reta6s.cca6ame=.cGef="drivers/acpi/5us._ERROR9" class="line"OSCd="L210"Ev/5u Managei/5uhref5class="sr5f">power.ACPI_6Tivers/acpi/bus.STATE_D36f="dr6pi/busGef="drivers/acpi/5us._ER--------------------------------------------------------------------------power.ACPI_6T59" class="line"L2ff25a6cL2256d"srefass="sr5f">power.ACPI_6T10"retass="line" name="6sref"6pscpower.));
resultpDECLARE_WAIT    UE_HEADass="line"is/acDECLARE_WAIT    UE_HEAD        return ));
)outpuchref="+code=re6outpu6s/ac.ce=sernivers/acpi/bi9" clasev/5u_is_opname4"L25745 257 163ic#L20ALLO6p href="+6ode=acptyp ="dri!STATE_D6_HOT<61me=.c#L210" id="L210"retass="line" 6">ACPI_ST6TE_D0)caivers/acpi/b6s.cca6ame=.cvers/acpi/bi9" clas c5am id=gener_U50proc=ev/5u4t="drivers/acpi c5am id=gener_U50proc=ev/5u4     +cost=chars=retass="line" ndevice_"drivATE_D3_HOT)device_"drivdass="+cost=chars=retass="line" n id=_ha[0]3" id="L233 id=_hATE_25_erro59" class= " name="L233out oOKL225andle));
)dataacpiref="+code=rescontexc"L26">ACPI6a href="d6ivent  == 6253 163iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclass=retass="line" nev/5ut="drivers/acpiev/5uclas/ac"= {L163"> 163ic#L20ALLO6="sref">s6ativers/acpi/bus.c#L225"6id="L62iscame="L163"> sig"srel5d8Aretass="line" nflagvATE_D3_HOT)flagvivecont0/ac"= {L163"> 163ic#L20ALLO6=#L225" i6name52_INFO, ));
.power.result=="string">&6comme62i/bus4r/bus.c" 4l="+code=EINVAL" ev/5u_is_opname4"L25745 257ACPI6class="li6e"L2ff25ame=.c#L210" id=6L210"62">&#comment">>>>>>>>>_D3_HOt0/ac"= {L163"> 163ic#L20ALLO6=E_D3_HOT6ger(ACPI_STzTE_D0)contexc163iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclas)econtexchref="+code=rATOMICt="drivers/acpide=rATOMICivec id="L225_62 4=_d=1v"line" nT 206a href="d6ivent ACPI6c href="d6ass="sref">acpi_handle 253   _O_D3_HOt-RNE24" class="lENOMEMt="drivers/acpiENOMEMclas/ac"= {L163"> 163ic#L20ALLO6= ==  163ic#L20ALLO6a href="d6ivent ,1635PI        return )device_"drivdass="TATE_D0)device_"drivdass id="L225_62 4=_d=1v"line" nT 206INFO,6acpi_handle6/ne" 63e=ACPI5STATE_D0" class="sref1635PI_ST55_INFO,1635PI        return )dataacpiLntexchref="+code=dataATE_D3_HOT)dataacpiid="L225_62 4=_d=1v"line" nT 206Ilass="li6      f">acpi_handle)flagvivec id="L225_62 4=_d=1v"line" nT 206Is.c#L2256e" name="L2retasget_)[ce6/a>-&635ame=.c#L210" id="L21lengthvlL22_add_taie_integer());
 235)flagvivec id="L225_62 4=_d=1v"line" nT 206I href="d6ss="sref">acpi_handlepower.stative6s/acpi/bus.c#L225" id="L625_ST63et_ bus.STATE_D3_HOT)uulwake_up_f="drruptib3iame="run oswake_up_f="drruptib3<     ode=result" evalulas c5am id=ev/5u_queult="drivers/acpi c5am id=ev/5u_queulivec id="L225_62 4=_d=1v"line" nT 2065esult53f6"drivers/acpi/bus.cass="6regot64        if (_D3_HOt0/ac"= {L163"> 163ic#L20ALLO6sref">sta6ivers/acpi/bus.c#L225" i6="L2264tasget_ STATE_D3_HOT)"L224" cla6ers/acpi56us.c54"sref">result 243<6a>)buff259" class="li6e"L2f64me=.c#L210" id="L210"retass="line" 6d="L21len6thvers/acpi/bus.clengths6acpr=64me=.cvers/acpi/bi9" clas c5am id=gener_U50proc=ev/5ut="drivers/acpi c5am id=gener_U50proc=ev/5u)c63iivers/acpi/bus.c#L2devicet="drivers/acpi c5amdeviceclass=retass="line" ndevicet="drivers/acpideviceclas25_erro59" class= " name="L233out oOKL225andle));
)dataacpiref="+code=rescontexc"L26">ACPI6ACPI_STAT6_D0)rf="+code=device6 rf">64t_pr=texchref="+code=rescontexc"L26"6tivers/ac6i/bus.c#L225" id="L225_S6   if6(ACPI6ef="+cod56stat54f="drivers/acpi/bu6.cgot65ac"c#L2616+code=ACPI__D3_HOt-RNE24" class="lE>    e" nam5="L2556_I>    acpiid="L225_62 4=_d=1v"line" nT 206re get_an6le));
_D3_HOt/acpi/bi9" clas c5am id=gener_U50proc=ev/5u4t="drivers/acpi c5am id=gener_U50proc=ev/5u4     RNE24" class="ldevicet="drivers/acpideviceclasCPI_STATE_D0 5     55">redevice_"drivATE_D3_HOT)device_"drivdass=d="L225_62 4=_d=1v"line" nT 206rref">sta6/a>)buff259" class="line6L2ff26ame=.c#L210" id="L210""""""""""""""""""""""""""""""RNE24" class="ldevicet="drivers/acpideviceclasCPI_STATE_D0 5     55">re id=_ha[0]3" id="L233 id=_hATE_25_erro59" class=nt *)dataacpirid="L225_62 4=_d=1v"line" nT 206rrs/acpi56ATE_D0)rf="+code=dev6ce" r65/ac/sE_out kfre href="+code=acpout k6="drivers6acpi/ivers/acpi/bus.c#L265" id6"L225_ST   if ());
rid="L225_62 4=_d=1v"line" nT 206rs.c#L2256, ->6a houtpuchref="+code=res6utpuc65me=.cvers/acpi/bi9" clas c5am id=rece210=ev/5ut="drivers/acpi c5am id=rece210=ev/5u)c63iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclass=retass="line" nev/5ut="drivers/acpiev/5uclasref="+code=rescontexc"L26">ACPI6eCPI_STAT6acpi/ivers/acpi/bus.c#L265" id65t_pr=texchref="+code=rescontexc"L26"6.c#L210" 6d="L210"retass="line" na6e="L26etasget_ STATE> sig"srel5d8Aretass="line" nflagvATE_D3_HOT)flagvivecont0/ac"= {L163"> 163ic#L20ALLO67" class=6line" name5"L25755f="dri6ers/a66ac"c#L2616+coc63iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclass=retass="line" nentrI_ST55_INFO,entrIacpiLntexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">de6#L225" id6"L225andle));
"63&hrefC63d=1v"line" nT 26a hre66N_ERROR9" cla   return ->ACPI6="sref">a6pi_handlea          if (6a hre66sget_pr="drivers/acpi_D3_HOt-RNE24" class="lE>    e" nam5="L2556_I>    acpiid="L225_62 4=_d=1v"line" nT 206esisxdigi6">devce->i6e" na66i/busd="L225_62 4=_d=1v"line" nT 206eCPI_STAT6sref">acpi_         if (6a hre66"sref">error = ,lL22_emptI     ode=result" evalulas c5am id=ev/5u_lL225andle));
));
 163ic#L20ALLO6ac"= 0+co6e=ACPI_STATE_i9" class="6ine"i6/ac"c#L2616+code=ACPI_id5"L195" id="L1et_curr/5u_4> 2* 2*        return rid="L225_62 4=_d=1v"line" nT 206aL225" id6ne" name="L233opc_map_to6uulii6ha[ce->"6o_uuliine" name="L233opc6map_t67tasget_ STATE_D3_HOT)"L224" cla6ac"= 0+co6="L261"> 261{
AC">error = ,lL22_emptI     ode=result" evalulas c5am id=ev/5u_lL225andle));
)"L224" cla6a"drivers6O" class="sr4f">AC4I_DB_6NFO&#comment">>>>>>>>>de=ACPI_id5"L195" id="L1chedu3iame="run os1chedu3<     rid="L225_62 4=_d=1v"line" nT 206a"line"cE6Ks/acandle));
67   --s="sref">deviceACP6_STAT67"srefass="sr5f">power."6K" chref="+code=result" 6OK" c68tasget_ STATE_D3_HOT)"L224" cla6f">result6"drivers/acpi/u8(dev.c#L210" id="L21lengthverpin_locl_irqsav*)flagvivec id="L225_62 4=_d=1v"line" nT 206#PI_DB_IN6rivers/acpi/uf ());
,entrIacpiLntexchref="+code=lL22_entrI_ST55_INFO,lL22_entrI        return ));
 5     55">ren---4-----48 href="nclass="line"ame="ssret_osc_erro5>
6me="L>andle));
iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclas25_erro59" class=nlast="drivers/acpinlasdass id="L225_62 4=_d=1v"line" nT 206#sisxdigi6href="+cod4=stat48/span>6};
,entrIacpiCPI_STATE_D048pi_handle" class="6re   6810" id="L21leE_out kfre href="+code=acpout k6Lc#L210" 6a>)uuli_3">ine" name="L263uuli68et_ bus.STATE_D3_HOT)uul1pin_unlocl_irqrestor*)flagvivec id="L225_62 4=_d=1v"line" nT 206s="line"46ame=48f="drivers/acpi/bu6.c   69        if (,entrIacpiot_ STATE_D3_HOT)"L224" cla6.c#L210" 6d="L210"retass="line" na6e="L269me=.c#L210" id="L210"_D3_HOt-RNE24" class="lENODEV));
 192s6"stri6g">&#comment">RNE24" class="l">A5PI_ST55_INFO, device->ev/5ut="drivers/acpiev/5uclas25_erro59" class=entrI_ST55_INFO,entrIacpi, contexc163iivers/acpi/bus.c#L2 id=ev/5ut="drivers/acpi c5am id=ev/5uclas) id="L225_62 4=_d=1v"line" nT 206s"line"cE63iinpuchref="+code=r6sinpu69/bus4173" id="4173" class="line" na6d="L210"r6tass="line" name="L2reta6get_ 69         device-&entrI_ST55_INFO,entrIacpioid="L225_62 4=_d=1v"line" nT 206ssisxdigi6rivers/acpi/bus.STATE_D36HOT 163ic#L20ALLO6cc#L210" 6210"retass="line" name="62reta69_UUIDE_out kfre href="+code=acpout k7ptyp ="dr7vers/acpi/bus.STATE_D3_H7T70        if (statcontexchref="+code7resco703"> 1#endif href="drivers/acpi/5us.c#5CONFIG_oOKinPROC_EVENcna href5class="sr5f">power.70tasget_ STATE_D3_HOT)"L224" cla7#L210" id7"L21lengthvers/acpi/bus.7lengt7s/ac/sGef="drivers/acpi/5us.c#5--------------------------------------------------------------------------href5class="sr5f">power. 192s7HOTpower.iinpuchref="+code=r7bus.c7aiame=Gef="drivers/acpi/5us. ER--------------------------------------------------------------------------power.ACPI_7Tass="line" name="L2reta7s.cca70me=.c#L210" id="L210"retass="line" 7#7">ACPI_7Tivers/acpi/bus.STATE_D37f="dr7pi/bus4 ss="stri4nferred_state( 163iame="run oscacpi/bus.ot_ STATE_D3_HOT)"L224" cla7#8">ACPI_7T59" class="line"L2ff25a7cL22570t_pr=texchref="+code=rescontexc"L26"7#9">ACPI_7T10"retass="line" name="7sref"70/ame="L163"> 163iivers/acpi/bus.c#L2devicet="drivers/acpi c5amdeviceclass=retass="line" ndevicet="drivers/acpideviceclas/ac"= {L163"> 163ic#L20ALLO7quot;5e" na50f="drivers/acp7/bus.71    if ( 163iivers/acpi/bus.c#L2devicemss="line" name="Landl c5amdevicemss="lime="ivers/ame="L163"oldmss="line" name="Landloldmss="li);
)"L224" cla7cL210" id7>resultresult));
&#comment">>>>>>>>>_D3_HO/ac"= {L163"> 163ic#L20ALLO7TE_D3_HOT7/a>)outpuchref="+code=re7outpu71225.c#L210" i" 4lERNE24" class="ldevicet="drivers/acpideviceclasref="+code=rescontexc"L26">ACPI7p href="+7ode=acptyp ="dri!STATE_D7_HOT<71sget_pr="drivers/acpi_D3_HO/ac"= {L163"> 163ic#L20ALLO7T7">ACPI_7TE_D0)caivers/acpi/b7s.cca71i/busd="L225_62 4=_d=1v"line" nT 207a href="d7ivent ACPI_7an classLe" name="L253">7253 163ic#L20ALLO7="sref">s7ativers/acpi/bus.c#L225"7id="L72iscame="L163"Gef="drivers/acpi/5us.c#href5class="sr5f">power., .power.power.result=="string">&7comme72/ac/sGef="drivers/acpi/5us._ERROR9" * href5class="sr5f">power.resres/5ut="drivers/acpipres/5uclasrntexchref="+code=rescontexc"L26"7=E_D3_HOT7ger( 163ic#L20ALLO7a href="d7ivent acpi_handlepower.)uul1s="line" name="Landle));
 163ic#L20ALLO7a href="d7ivent 4239state 241s="line" name="Landle));
)"L224" cla7INFO,7acpi_handle7/ne" 73a[ce-> 163ic#L20ALLO7Ie get_an7e=ACPI_STATE_OSC_I_STAID7REVIS73tasget_ STATE_D3_HOT)"L224" cla7I5de=fl527ivent state 24oldmss="line" name="Landloldmss="li);
<) =ntexchref="+code=STRUCT_TOvm/ine" name="LandlSTRUCT_TOvm/iref">state 24devicet="drivers/acpideviceclasCPI_STATE_D0));
)"L224" cla7Ilass="li7      f">acpi_handle&#comment">>>>>>>>>_D3_HO/ac"= {L163"> 163ic#L20ALLO7="+code=A7PI_STATE_OSC_CAPABILITIE7_MASK73/bus4173" id="4173" class="line" na7Is.c#L2257e" name="L2retasget_)[ce7/a>-&735ame=.c#L210" ef="drivers/acpi/5us.c#href5class="sr5f">power. 235power.acpi_handlepower.stative7s/acpi/bus.c#L225" id="L725_ST73 24devicet="drivers/acpideviceclasCPI_STATE_D0));
 5     55">resres/5ut="drivers/acpipres/5uclasrnode=rsOSC_QE>state 24oldmss="line" name="Landloldmss="li);
 5     55">resres/5ut="drivers/acpipres/5uclasrrntexchref="+code=rescontexc"L26"75esult53f7"drivers/acpi/bus.cass="7regot74ac"c#L2616+code=ACPI_id5"L195" id="Lte" cDEBUG_PRm/ine" name="Landlte" cDEBUG_PRm/iref">lass="line" name="L23DBvm/FOne" name="Landlte" cDBvm/FOclas25_STATE_D3_HOT) clasevalDevice insertionrdetected\ns_OK" chref=") id="L225_62 4=_d=1v"line" nT 207ndle)7;
power.sta7ivers/acpi/bus.c#L225" i7="L2274me=.c#L210" i} elsei" 4lE>state 24devicet="drivers/acpideviceclasCPI_STATE_D0));
 5     55">resres/5ut="drivers/acpipres/5uclasrnode=rsOSC_Q>state 24oldmss="line" name="Landloldmss="li);
 5     55">resres/5ut="drivers/acpipres/5uclasrrntexchref="+code=rescontexc"L26"755de=fl527us.c54"sref">resultAC">errorlass="line" name="L23DBvm/FOne" name="Landlte" cDBvm/FOclas25_STATE_D3_HOT) clasevalDevice remo1alrdetected\ns_OK" chref=") id="L225_62 4=_d=1v"line" nT 207nlass="li7le));
&#comment">>>>>>>>>eef="drivers/acpi/5us.c#5TBD: Href=srdevice remo1alr* href5class="sr5f">power. 235)rf="+code=device7 rf">74t_pr=4 ss="stri4nferred_state(( 163iame="run oscacpi/bus.ot_ STATE_D3_HOT)"L224" cla7tivers/ac7i/bus.c#L225" id="L225_S7   if7(power. 163iame="run oscacpi/bus.oid="L225_62 4=_d=1v"line" nT 207rref">sta7/a>)buff259" class="line7L2ff275tasget_ STATE_D3_HOT)"L224" cla7rrs/acpi57ATE_D0)rf="+code=dev7ce" r753scame="L163"Gef="drivers/acpi/5us.c#href5class="sr5f">power..power.));
.power.power. 235power.));
 == iivers/acpi/busnotifi/a_bloclass="line"is/acnotifi/a_bloclclass=retass="line" nnbass="line"is/acnbbus.ot_ STATE_D3_HOT)"L224" cla7#L225" id7"L225andle));
"73&hrefC63d=1v"line" nT 27a hre76N_ERROR9" cla_D3_HOt/acpi/bi9" clasblocl>) =notifi/a=chain_regL22erass="line"is/acblocl>) =notifi/a=chain_regL22er     ode=result" evalulas c5am id=notify_lL225andle));
        _GPne" nam5="L2556_INFO>        _GPn        return  == ->a7pi_handlea          if (7a hre76sget_tri4nferred_state == iivers/acpi/busnotifi/a_bloclass="line"is/acnotifi/a_bloclclass=retass="line" nnbass="line"is/acnbbus.ot_ STATE_D3_HOT)"L224" cla7#"> 235devce->i7e" na76i/bustexchref="+code=rescontexc"L26"7"CPI_STAT7sref">acpi_         if (7a hre7610" id="L21lengthvers/acpi/bblocl>) =notifi/a=chain_unregL22erass="line"is/acblocl>) =notifi/a=chain_unregL22er     ode=result" evalulas c5am id=notify_lL225andle));
));
        _GPne" nam5="L2556_INFO>        _GPn        return  == "7o_uuliine" name="L233opc7map_t77icepower. 261{
power.AC4I_DB_7NFOpower.));
..power.77   --s="sref">devicepower. 163iame="run oscacpi/bus.25_erro59" class= href="+code=device" class_erro59" class=nt *)dataacpiref="+code=rescontexc"L26">ACPI7aCPI_STAT7c"L260" class="sref">ACP7_STAT77t_pr=texchref="+code=rescontexc"L26"7=c#L210" 7"ivers/acpi/bus.c#L225am7="ive77/ame="L163"> 163iivers/acpi/bus.c#L2devicet="drivers/acpi c5amdeviceclass=retass="line" ndevicet="drivers/acpideviceclasLntexchref="+code=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">de7#L2_OK" c7lischref="+code=result" 7OK" c78ac"c#L2616+coc63iivers/acpi/bus.c#L2+code=t="drivers/acpi c5amdcode=class=retass="line" ndcode=t="drivers/acpidcode=clasD0)rf="+code=device" rf">de7#L225" id7ef="+code=result" oOK" c7me="L78i/busd="L225_62 4=_d=1v"line" nT 207L">"7K" chref="+code=result" 7OK" c78N_ERROR9" cla   return lass="line" name="L23DBvm/FOne" name="Landlte" cDBvm/FOclas25_STATE_D3_HOT) clasevalNotification /a>7;#02x id=cacpi/ /a>7;p\ns_OK" chref="line"ame="ssret_osc_erro5>
result7"drivers/acpi/u8(AC">errorerror 163iame="run oscacpi/bus.chD0)rf="+code=device" rf">de7#"drivers7rivers/acpi/uf () =notifi/a=call=chainass="line"is/acblocl>) =notifi/a=call=chain     ode=result" evalulas c5am id=notify_lL225andle));
7me="L>andle));
48pi_handle" class="7re   7810" id="L21leswitchQ>state 24nt *)uuli_3">ine" name="L273uuli78_UUIDac"= {L163"> 163ic#L20ALLO7s="line"47ame=48f="drivers/acpi/bu7.c   79ac"c#L2616+cocasea   return  163ic#L20ALLO7sL225" id7gths/ac_STATE_D3_HOT7479a[ce->( 163iame="run oscacpi/bus.oid="L225_62 4=_d=1v"line" nT 207.c#L210" 7d="L210"retass="line" na7e="L279me=.c#L210" id="L210"Gef="drivers/acpi/5us.c#href5class="sr5f">power..power. 192s7"stri79L225_Gef="drivers/acpi/5us._ERROR9" class="l#555555>power< vias="srdevice manager (device.c).href5class="sr5f">power.iinpuchref="+code=r7sinpu79iame=Gef="drivers/acpi/5us. ERROR9" class="l# href5class="sr5f">power. 163ic#L20ALLO7sc#L210" 7210"retass="line" name="72reta79_UUID_ERROR9" class="D0" class="sref>( 163iame="run oscacpi/bus.oid="L225_62 4=_d=1v"line" nT 208ptyp ="dr8vers/acpi/bus.STATE_D3_H8T80ac"c#L2616+code=ACPI_ief="drivers/acpi/5us.c#href5class="sr5f">power.statcontexchref="+code8resco80i/busGef="drivers/acpi/5us._ERROR9"         #5TBD: We/a>.power.80icepower.power. 192s8HOT&#comment">>>>>>>>>breakid="L225_62 4=_d=1v"line" nT 208p5210" id8"iinpuchref="+code=r8bus.c80/bus4173" id="4173" class="line" na8#6">ACPI_8Tass="line" name="L2reta8s.cca806CPI_STATE_oucasea   return  163ic#L20ALLO8#7">ACPI_8Tivers/acpi/bus.STATE_D38f="dr80me=.c#L210" id="L21lenef="drivers/acpi/5us.c#5TBDl# href5class="sr5f">power.ACPI_8T59" class="line"L2ff25a8cL22580="L253"> 253   _Obreakid="L225_62 4=_d=1v"line" nT 208p9">ACPI_8T10"retass="line" name="8sref"80_UUIDac"= {L163"> 163ic#L20ALLO8quot;5e" na50f="drivers/acp8/bus.81ac"c#L2616+cocasea   return  163ic#L20ALLO8c#L225" i8="L225andle));
power.result));
&#comment">casea   return  163ic#L20ALLO8c5210" id8/a>)outpuchref="+code=re8outpu81225.c#L210" ipower.ACPI_8TE_D0)caivers/acpi/b8s.cca81i/busd="L225_62 4=_d=1v"line" nT 208a href="d8ivent  163ic#L20ALLO8c9">ACPI_8an classLe" name="L253">8253power.s8ativers/acpi/bus.c#L225"8id="L82ac"c#L2616+code=ACPI_breakid="L225_62 4=_d=1v"line" nT 208=#L225" i8name52_INFO, ));
 163ic#L20ALLO8rL210" id8sref">result=="string">&8comme82us.c#L4ef">AC">errorpower.&#comment">>>>>>>>>breakid="L225_62 4=_d=1v"line" nT 208=5210" id8ger( 163ic#L20ALLO8r7">ACPI_8ivent power.acpi_handle 253   _Obreakid="L225_62 4=_d=1v"line" nT 208=9">ACPI_8ef="+code=ACPI_STATE_OSC8I_STA8D_UUIDac"= {L163"> 163ic#L20ALLO8a href="d8ivent  163ic#L20ALLO8INFO,8acpi_handle8/ne" 83a[ce->lass="line" name="L23DBvm/FOne" name="Landlte" cDBvm/FOclas2ac"= {L163"> 163ic#L20ALLO8Ie get_an8e=ACPI_STATE_OSC_I_STAID8REVIS83me=.c#L210" id="L210"""""""""""""""""""_STATE_D3_HOT) clasevalRece210d unknown/unsupport0d notification [/a>7;08x]\ns_OK" chref="line"ame="ssret_osc_erro5>
AC">errorerror<acpi_handle&#comment">>>>>>>>>breakid="L225_62 4=_d=1v"line" nT 208="+code=A8PI_STATE_OSC_CAPABILITIE8_MASK83RROR9" class=E_out kfre href="+code=acpout k8Is.c#L2258e" name="L2retasget_)[ce8/a>-&83me=.c#L210" id="L210"retass="line" 85"> 235resultacpi_handleerror = stative8s/acpi/bus.c#L225" id="L825_ST83_UUID_ERROR9" class="D0" class="srefdcode=t="drivers/acpidcode=clasLntexchref="+code=devicet="drivers/acpideviceclasCPI_STATE_D0)rf="+code=device" rf">de85esult53f8"drivers/acpi/bus.cass="8regot84ac"c#L2616+code=ACPI_/a> = renotify5andle));
)rf="+code=device" rf">de85NFO,8;
)flagvivecosOSC_Q= de85e get_an8ivers/acpi/bus.c#L225" i8="L2284me=.c#L210" id="L210"""""""""= renotify5andle));
resultACE_out kfre href="+code=acpout k8nlass="li8le));
&#cE_out kfre href="+code=acpout k8n"+code=A8a>)buff259" class="li8e"L2f84me=.cGef="drivers/acpi/5us.c#5--------------------------------------------------------------------------href5class="sr5f">power. 235power.)rf="+code=device8 rf">84"srefGef="drivers/acpi/5us._ER--------------------------------------------------------------------------l# href5class="sr5f">power. 163ic#L20ALLO8ef="+cod58stat54f="drivers/acpi/bu8.cgot85iscam4 ss="svers/acpi/bi9" clas__iniut="drivers/acpi__iniuclass_erro59" class= c5am id=iniu_irqt="drivers/acpi c5am id=iniu_irq     tri4o0)rf="+code=device" rf">de8re get_an8le));
sta8/a>)buff259" class="line8L2ff285N_ERROR9" cla   return )rf="+code=device" rf">de8rrs/acpi58ATE_D0)rf="+code=dev8ce" r853scame="L163"union    return ));
)rf="+code=device" rf">de8rlass="li8acpi/ivers/acpi/bus.c#L285" id85">&#comment">c63iivers/acpi/bus.c#L2objec2_lL225andle));
));
)rf="+code=device" rf">de8r"+code=A8OKs/acandle));
ACPI_STATE_D0)rf="+code=device" rf">de8rs.c#L2258,  235power.power.exL22s.href5class="sr5f">power.));
power."83&hrefC63d=1v"line" nT 28a hre86tasget_ STATE_D3_HOT)"L224" cla87rs/acpi58e=ACPI_STATE_i9" class="8ine"i863scame="L163"switchQ>state 24a hreirq_model5andle));
&#comment">casea   return  163ic#L20ALLO87"+code=A8et_[ce->) clasevalPICs_OK" chref="D0)rf="+code=device" rf">de8="sref">a8pi_handlea          if (8a hre86sget_pr="drivers/acpibreakid="L225_62 4=_d=1v"line" nT 208#"> 235devce->i8e" na867>&#comment">casea   return  163ic#L20ALLO87CPI_STAT8sref">acpi_         if (8a hre86="L253"> 253   _Oeetass="line" nmessag*) clasevalIOAPICs_OK" chref="D0)rf="+code=device" rf">de8=c#L210" 8le));
 163ic#L20ALLO8aL225" id8ne" name="L233opc_map_to8uulii8ha[ce->) clasevalIOSAPICs_OK" chref="D0)rf="+code=device" rf">de8a">"8o_uuliine" name="L233opc8map_t87me=.c#L210" id="L210"breakid="L225_62 4=_d=1v"line" nT 208ac"= 0+co8="L261"> 261{
ACcasea   return  163ic#L20ALLO8a"drivers8O" class="sr4f">AC4I_DB_8NFO&#comment">>>>>>>>>esult" evalulasmessag*) clasevalplatform specific models_OK" chref="D0)rf="+code=device" rf">de8a"+code=A8Ks/acandle));
a87   --s="sref">device 163ic#L20ALLO8asisxdigi8ref="+code=result" osc_c8ntexc87me=.c#L210" id="L21lengthvers/acpi/bpa>)tlass="line"is/acpa>)tl     = ) clasevalUnknown vererrupt rous=linmodel\ns_OK" chref=")id="L225_62 4=_d=1v"line" nT 208aCPI_STAT8c"L260" class="sref">ACP8_STAT87="L253"> 253   _O_D3_HOt-RNE24" class="lENODEV E_out kfre href="+code=acpout k8#L2_OK" c8lischref="+code=result" 8OK" c88        if ()tl     = ) clasevalUs"lin/a>7;s for vererrupt rous=li\ns_OK" chref="l>esult" evalulasmessag*"8K" chref="+code=result" 8OK" c88tasget_ STATE_D3_HOT)"L224" cla8f">result8"drivers/acpi/u8(dev.c#L210" id="L21lengthve rg 5     55">reverege=t="drivers/acpiverege=);
 5     55">revaluet="drivers/acpivalue);
));
));
ACPI_STATE_25_STATE_D3_HOT) claseval\\_PICs_OK" chref="l>ode=result" evalulas rg_lL225andle));
esult" evalulasrescontexc"L26">ACPI_STATE_)id="L225_62 4=_d=1v"line" nT 208L"sref">a8me="L>andle));
4239state 241s="line" name="Landle));
state 241s="line" name="Landle));
8};
lass="line" name=Evm/FOne" name="LandltEvm/FOclas25_tate 241s="line" name="Landle));
<25_STATE_D3_HOT) clasevalEvaluss=lin_PICs_OK" chref="roid="L225_62 4=_d=1v"line" nT 208#CPI_STAT8ef">48pi_handle" class="8re   88="L253"> 253   _O_D3_HOt-RNE24" class="lENODEV)uuli_3">ine" name="L283uuli88/ame="L163"> E_out kfre href="+code=acpout k8s="line"48ame=48f="drivers/acpi/bu8.c   89        if (8489a[ce->_D3_HOt0/ac"= {L163"> 163ic#L20ALLO8.c#L210" 8d="L210"retass="line" na8e="L289me=.cE_out kfre href="+code=acpout k8s">result8ame="Landle));
 192s8"stri89L225__erro59" class=u8));
iinpuchref="+code=r8sinpu89/bus4173" id="4173" class="line" na8d="L210"r8tass="line" name="L2reta8get_ 89me=.c#L210" id="L210"retass="line" 8.sisxdigi8rivers/acpi/bus.STATE_D38HOT)rf="+code=device" rf">de8cresconte8259" class="line"L2ff25a8e=.c#89t_pr=texchref="+code=rescontexc"L26"8sc#L210" 8210"retass="line" name="82reta89et_ bus.STATE_D3_HOT)uul c5amss="line" name="Landl c5amss="lime="ivers/ame="L163"ss="line" name="Landle));
)rf="+code=device" rf">de9ptyp ="dr9vers/acpi/bus.STATE_D3_H9T90        if (statcontexchref="+code9resco90190me=.c#L210" id="L210"_D3_HO/ac"= {L163"> 163ic#L20ALLO9#L210" id9"L21lengthvers/acpi/bus.9lengt90ref="AE_ nam_OBJEC+code=data" class9p4210" id9""4name=4L192"> 192s9HOT&#comment">D0" class="srefpa>)tlass="line"is/acpa>)tl     = ) clasevalCore revision /a>7;08x\ns_OK" chref="l>esult" evalulaste" cCA_VERSIONiinpuchref="+code=r9bus.c90/bus4173" id="4173" class="line" na9#6">ACPI_9Tass="line" name="L2reta9s.cca905ame=.c#L210" ef="drivers/acpi/5us.c# enable workarounds, unless>c63ict te"  spec. acppliance * href5class="sr5f">power.ACPI_9Tivers/acpi/bus.STATE_D39f="dr90me=.c#L210" i" 4lERNE24" class="l c5amss3ictne" name="Landl c5amss3ictid="r   if (ACPI_9T59" class="line"L2ff25a9cL22590="L253"> 253   _O_erro59" class= c5amgbl_enable_vererp_D3er_slaclass="line"is/ac c5amgbl_enable_vererp_D3er_slacl);
de9p9">ACPI_9T10"retass="line" name="9sref"90_UUIDac"= {L163"> 163ic#L20ALLO9quot;5e" na50f="drivers/acp9/bus.91    if ());
)rf="+code=device" rf">de9c#L225" i9="L225andle));
power.resultpower.));
power.)outpuchref="+code=re9outpu91iame=Gef="drivers/acpi/5us. ERROR9" # href5class="sr5f">power.));
ACPI_9TE_D0)caivers/acpi/b9s.cca91i/busd="L225_62 4=_d=1v"line" nT 209a href="d9ivent ));
< c5amreallocssemroot=table     )id="L225_62 4=_d=1v"line" nT 209c9">ACPI_9an classLe" name="L253">92534239state 241s="line" name="Landle));
s9ativers/acpi/bus.c#L225"9id="L92ac"c#L2616+code=ACPI_D0" class="srefpa>)tlass="line"is/acpa>)tl     = , ->));
)rf="+code=device" rf">de9rL210" id9sref">result=="string">&9comme92us.c#L4ef">ACE_out kfre href="+code=acpout k9=4210" id9e"L2ff25ame=.c#L210" id=9L210"92L225_ST   if (());
< c5aminitialize_subsy22em     )id="L225_62 4=_d=1v"line" nT 209us.c#L2259rro5/L225 ef="+code=ACPI9STATE92;4239state 241s="line" name="Landle));
ACPI_9ivent )tl     = acpi_handle 253   _O    " inef="drivers/) clasevalUnable id=initializen="srte"  Iererp_D3er\ns_OK" chref=")id="L225_62 4=_d=1v"line" nT 209r9">ACPI_9ef="+code=ACPI_STATE_OSC9I_STA92_UUID_ERROR9" class="goid=_erro59" class=error0 class="sref"5 error0clasD0)rf="+code=device" rf">de9a href="d9ivent ,9acpi_handle9/ne" 93i/busd="L225_62 4=_d=1v"line" nT 209Ie get_an9e=ACPI_STATE_OSC_I_STAID9REVIS93N_ERROR9" cla   return 4239state 241s="line" name="Landle));
acpi_handle&#comment">>>>>>>>>n0" class="srefpa>)tlass="line"is/acpa>)tl     = )rf="+code=device" rf">de9a7">ACPI_9ass="sreeeeeef="+code=AC9I_STA93i/bus5/6201" E_out kfre href="+code=acpout k9I href="d9ss="sref">acpi_handlepower.stative9s/acpi/bus.c#L225" id="L925_ST93_UUID#ifdef=_erro59" class=CONFIG_Xme="L>andleref"5 CONFIG_Xmesrefass="sr5f">power.,9;
power.state 24 c5amsci_flagvATE_D3_HOT) c5amsci_flagve=.c#sOSC_Q= resultAC">error<>>>>>>>>n0" class="sref c5amsci_flagvATE_D3_HOT) c5amsci_flagve=.c#sOSC_= ~= )rf="+code=device" rf">de9nlass="li9le));
&#comment">>>>>>>>>>>>>>>>>n0" class="sref c5amsci_flagvATE_D3_HOT) c5amsci_flagve=.c#|ntexchref="+code=Ae" cMADT_TRIGGERcLEVEcontexc"L26">ACPAe" cMADT_TRIGGERcLEVEc);
)rf="+code=device" rf">de9n"+code=A9a>power.ACPI_9thvers/acpi/bus.clengths9acpr=94me=.c#L210" id="L21len0" class="sref c5ampicmsci_set_triggerATE_D3_HOT) c5ampicmsci_set_trigger     = ));
 5     55">resci_vererruptne" name="Landleci_vererrupt);
<2ass="sr5f">power.)rf="+code=device9 rf">94="L253"> 253   _O    " iiiiiiiiiiiiiiiiiii>state 24 c5amsci_flagvATE_D3_HOT) c5amsci_flagve=.c#sOSC_Q=  E elsentexchref="+code=rescontexc"L26"9ef="+cod59stat54f="drivers/acpi/bu9.cgot95ac"c#L2616+code=ACPI_ief="drivers/acpi/5us.c#href5class="sr5f">power.power.sta9/a>)buff259" class="line9L2ff295icepower.power.&#comment">>>>>>>>>n0" class="srefa hregbl_FADT5andle));
 5     55">resci_vererruptne" name="Landleci_vererrupt);
) c5amsci_owerride_gsi);
)rf="+code=device" rf">de9r"+code=A9OKs/acandle));
ACPI_9a houtpuchref="+code=res9utpuc95i/busd="L225_62 4=_d=1v"line" nT 209eCPI_STAT9acpi/ivers/acpi/bus.c#L295" id9510" id="L21lengthvers/acpi/b1s="line" name="Landle));
));
< c5amenable_subsy22em     ~= 4239state 241s="line" name="Landle));
)tl     = ));
)rf="+code=device" rf">de9"">"93&hrefC63d=1v"line" nT 29a hre96N_ERROR9" claE_out kfre href="+code=acpout k97rs/acpi59e=ACPI_STATE_i9" class="9ine"i96ref="AE_ nam_OBJEC+code=data" class97"drivers9PI_STATE_i9" class="line9is/ac96">&#comment">_D3_HO/ac"= {L163"> 163ic#L20ALLO97"+code=A9et_[ce->a9pi_handlea          if (9a hre96sget_pr="dr_erro59" class=error0 class="sref"5 error0clas:ac"= {L163"> 163ic#L20ALLO9#"> 235devce->i9e" na96i/bus5/6201" id5"L195" id="Ldisable_a>ic5andle));
ic     )id="L225_62 4=_d=1v"line" nT 2097CPI_STAT9sref">acpi_         if (9a hre96="L253"> 253<_D3_HO/ac"= {L163"> 163ic#L20ALLO97c#L210" 9le));
));
< c5am id=iniu     tri4o0)rf="+code=device" rf">de9a">"9o_uuliine" name="L233opc9map_t97me=.ctexchref="+code=rescontexc"L26"9ac"= 0+co9="L261"> 261{
ACvers/acpi/bi9" clasresult5andle));
 163ic#L20ALLO9a"drivers9O" class="sr4f">AC4I_DB_9NFO&#comment">D0" class="sref c5amss="line" name="Landl c5amss="lime="ivers/ame="L163"ss="line" name="Landle));
)rf="+code=device" rf">de9a"+code=A9Ks/acandle));
de9a"sref">a97   --s="sref">devicepower.de9aCPI_STAT9c"L260" class="sref">ACP9_STAT97"srefass="sr5f">power.));
< c5amenable_subsy22em     = 4239state 241s="line" name="Landle));
)tlass="line"is/acpa>)tl     = "9K" chref="+code=result" 9OK" c98me=.c#L210" id="L210""""""""nef="drivers/) clasevalUnable id=eresult9"drivers/acpi/u8(AC">errorde9L"drivers9rivers/acpi/uf (&#comment">E_out kfre href="+code=acpout k9L"line"cE99" class="line"c#L20ALLO9 id=B98/bus4173" id="4173" class="line" na9L"sref">a9me="L>andle));
power.9};
power.48pi_handle" class="9re   98"srefGef="drivers/acpi/5us._ERROR9" *r="srEC5>evice is found inr="srclasef=ce (i.e.=before  c5aminitialize_objec2s()href5class="sr5f">power.)uuli_3">ine" name="L293uuli98tasgeGef="drivers/acpi/5us. ERROR9" #5is called).href5class="sr5f">power.power.9499i/busGef="drivers/acpi/5us._ERROR9" * This=is  cacpplished by=lool>)  for ="srECDT table, and gett"lihref5class="sr5f">power.power.result9ame="Landle));
power. 192s9"stri99">&#comment">D0" class="sref1s="line" name="Landle));
));
< c5amecmecdt_probe     oD0)rf="+code=device" rf">de9s"line"cE93iinpuchref="+code=r9sinpu995ame=.c#L210" ef="drivers/acpi/5us.c# Ignore result. Not hav>)  ="dECDT is not fatal. # href5class="sr5f">power.a9tass="line" name="L2reta9get_ 99me=.c#L210" id="L210"retass="line" 9.sisxdigi9rivers/acpi/bus.STATE_D39HOT));
));
< c5aminitialize_objec2s     = error = 4239state 241s="line" name="Landle));
)tl     = AC">error="L225_62 4=_d=1v"line" nT 2010p1yp ="dr10pths/ac_STATE_D3_HOT10pth>10p1>&#comment">E_out kfre href="+code=acpout k10p2yp ="dr10p="L210"retass="line" na10p=">10ptasget_ STATE_D3_HOT)"L224" cla10p3yp ="dr10pme="Landle));
10p3ame=.c#L210" ef="drivers/acpi/5us.c#href5class="sr5f">power. 192s10p"4>10pL225_Gef="drivers/acpi/5us._ERROR9" #5_OSC e"3hod may>exL22 inrmodule level lass,href5class="sr5f">power.iinpuchref="+code=r10p10piame=Gef="drivers/acpi/5us. ERROR9" # so itnmu22 be=run af3er te" cFULL_INITIALIZATIONATef5class="sr5f">power.power.10pi/bus5/6201" id5"L195" id="L c5am id=osc_support5andle));
< c5am id=osc_support     oD0)rf="+code=device" rf">de10p8yp ="dr10p59" class="line"L2ff25a10p59>10p"srefass="sr5f">power.power.5e" na50f="drivers/acp10n>5>10n>225_Gef="drivers/acpi/5us._ERROR9" #5_PDC lantrol e"3hod may>loadndyersic SSDT tables,href5class="sr5f">power.10ni/busGef="drivers/acpi/5us._ERROR9" * and wsrce0" id=inepower.power.resultre>10n>dev.c#L210" id="L21lengthve c5amsysfd=iniu5andle));
< c5amsysfd=iniu     oD0)rf="+code=device" rf">de1014yp ="dr10C+L225andle));
10nL225_ST   if (>10nRROR9" class=ngthvers/acpi/b c5amearly_processor_set_pdc5andle));
< c5amearly_processor_set_pdc     oD0)rf="+code=device" rf">de1016yp ="dr10ode=acptyp ="dri!STATE_D10ode>10nme=.c#L210" id="L210"retass="line" 10n7yp ="dr10TE_D0)caivers/acpi/b10TE_>10n7ame=.c#L210" ef="drivers/acpi/5us.c#href5class="sr5f">power.power.10an >10ntasgeGef="drivers/acpi/5us. ERROR9" #5is necessary id=enable itnas earlynas possible.href5class="sr5f">power.10atcepower., 10ae=ACPI5STATE_D0" class="sref c5am oot=ecmenable5andle));
< c5am oot=ecmenable     oD0)rf="+code=device" rf">de1022yp ="dr10le));
result=="string">&10sre>10a>dev.c#L210" id="L21lengthvepa>)tlass="line"is/acpa>)tl     = ) clasevalIererp_D3er=enabled\ns_OK" chref=")id="L225_62 4=_d=1v"line" nT 201024yp ="dr10e"L2ff25ame=.c#L210" id=10e"L>10aL225_ST   if (10a5ame=.c#L210" ef="drivers/acpi/5us.c# Initializensleep>c63power.));
< c5amsleep=iniu     oD0)rf="+code=device" rf">de1027yp ="dr10ivent acpi_handle10a10" id="L21lenef="drivers/acpi/5us.c#href5class="sr5f">power.power.power.acpi_handle1010ie=ACPI5STATE_D0" class="srefresult5andle));
)rf="+code=device" rf">de1032yp ="dr10e=ACPI_STATE_OSC_I_STAID10e=A>10ime=.c#L210" i/a> = ));
)rf="+code=device" rf">de10i3yp ="dr10ivent AC">errorde10i4yp ="dr10      f">acpi_handle10iL225_ST   if (power.10ime=.cGef="drivers/acpi/5us._ERROR9" # Regis3er=="srfor /llreevice notifications.href5class="sr5f">power.10ii/busGef="drivers/acpi/5us._ERROR9" * href5class="sr5f">power.acpi_handle10i10" id="L21lengthvers/acpi/b1s="line" name="Landle));
power.));
< c5amine));
esult" evalulaste" cSYSTEMcNOTIFY5andle));
power.10"de=.c#L210" id="L210"""""""""""""""""""""""""ode=result" evalulas c5am id=notify5andle));
< c5am id=notify    l>esult" evalulasrescontexc"L26">ACPI_STATE_)id="L225_62 4=_d=1v"line" nT 2010"1yp ="dr10;
4239state 241s="line" name="Landle));
10"me=.c#L210" id="L210"D0" class="srefpa>)tlass="line"is/acpa>)tl     = result10"us.c#L4ef">AC">error<>>>>>>>nef="drivers/) clasevalUnable id=regis3er=for >evice notifications\ns_OK" chref=")id="L225_62 4=_d=1v"line" nT 201044yp ="dr10le));
&#comment">>>>>>>>>goid=_erro59" class=error1ne" name="Landlerror1clasD0)rf="+code=device" rf">de1045yp ="dr10a>power.)rf="+code=device10_D0>10""srefGef="drivers/acpi/5us._ERROR9" *rCresser="srtopnte"  proc directoryhref5class="sr5f">power.power.));
< c5amroot=dir);
));
esult" evalulasrescontexc"L26">ACPI_STATE_)id="L225_62 4=_d=1v"line" nT 201051yp ="dr10le));
 163ic#L20ALLO10s3yp ="dr10ATE_D0)rf="+code=dev10ATE>10sref="AE_ nam_OBJEC+code=data" class10s4yp ="dr10acpi/ivers/acpi/bus.c#L210acp>10s4ame=.c#L210" ef="drivers/acpi/5us.c# Misic c63)  # href5class="sr5f">power.));
10sRROR9" clas_erro59" class=error1ne" name="Landlerror1clas:ac"= {L163"> 163ic#L20ALLO10s6yp ="dr10, ));
< c5am3erminsse     oD0)rf="+code=device" rf">de1057yp ="dr10a houtpuchref="+code=res10a h>10s7e=.c#L210" i_D3_HOt-RNE24" class="lENODEV10s"srefE_out kfre href="+code=acpout k1059yp ="dr10d="L210"retass="line" na10d=">10s_UUIDac"= {L163"> 163ic#L20ALLO106typ ="dr10line" name5"L25755f="dri10lin>10liUUIDc63iivers/acpi/buskobjec25andle));
));
< c5amkobjacpiid="L225_62 4=_d=1v"line" nT 201061yp ="dr10"L225andle));
10li/busGNE24" class="lEXPORTcSYMBOL_GPcontexc"L26">ACPEXPORTcSYMBOL_GPc     = ));
< c5amkobjacpioD0)rf="+code=device" rf">de1062yp ="dr103&hrefC63d=1v"line" nT 2103&h>10ltasget_ STATE_D3_HOT)"L224" cla1063yp ="dr10e=ACPI_STATE_i9" class="10e=A>10l3UUIDc6ss="svers/acpi/bi9" clas__iniut="drivers/acpi__iniuclass_erro59" class= c5aminiu5andle));
< c5aminiu     tri4o0)rf="+code=device" rf">de10l4yp ="dr10PI_STATE_i9" class="line10PI_>10l4ame=texchref="+code=rescontexc"L26"1065yp ="dr10et_[ce->10lRROR9" class=vers/acpi/bi9" clasresult5andle));
)rf="+code=device" rf">de1066yp ="dr10pi_handlea          if (10pi_>10lme=.c#L210" id="L210"retass="line" 1067yp ="dr10">devce->i10">d>10lme=.c#L210" i" 4l_erro59" class= c5amdisabledne" name="Landl c5amdisabledid="rntexchref="+code=rescontexc"L26"1068yp ="dr10sref">acpi_         if (10sre>10l="L253"> 253   _O_erro59" class=pa>)tlass="line"is/acpa>)tl     = ) clasevalIererp_D3er=disabled.\ns_OK" chref=")id="L225_62 4=_d=1v"line" nT 201069yp ="dr10le));
10ei/busd="L225_62 4=_d=1v"line" nT 201072yp ="dr10o_uuliine" name="L233opc10o_u>10eN_ERROR9" cla   return ));
< c5amkobjacpiLnt_erro59" class=kobjec2_cresse_ref_addne" name="Landlkobjec2_cresse_ref_add     =STATE_D3_HOT) claseval c5as_OK" chref="l>esult" evalulasfirmwaremkobj5andle));
)rf="+code=device" rf">de1073yp ="dr10="L261"> 261{
AC4I_DB_10O" >10e">&#comment">>>>>>>>>n0" class="srefpa>)tlass="line"is/acpa>)tl     = ) claseval/a>7;s: kset cresse error\ns_OK" chref="l>esult" evalulas__func__t="drivers/acpi__func__acpioD0)rf="+code=device" rf">de1075yp ="dr10Ks/acandle));
10e225.c#L210" i));
< c5amkobjacpiLnt_erro59" class=rescontexc"L26">ACPI_STATE_D0)rf="+code=device" rf">de1076yp ="dr107   --s="sref">device10e6ROR9" class=E_out kfre href="+code=acpout k1077yp ="dr10ref="+code=result" osc_c10ref>10ei/busd="L225_62 4=_d=1v"line" nT 201078yp ="dr10c"L260" class="sref">ACP10c"L>10e10" id="L21lengthvers/acpi/biniu_ c5amdevice=notify5andle));
)rf="+code=device" rf">de1079yp ="dr10"ivers/acpi/bus.c#L225am10"iv>10eet_ bus.STATE_D3_HOT)uulresult5andle));
)rf="+code=device" rf">de108typ ="dr10lischref="+code=result" 10lis>10lie=.c#L210" i/a> = ));
10la[ce->ic5andle));
ic     )id="L225_62 4=_d=1v"line" nT 2010l2yp ="dr10K" chref="+code=result" 10K" >10lme=.c#L210" id="L210"_D3_HOs/acpi/bi9" clasresult5andle));
)rf="+code=device" rf">de1083yp ="dr10"drivers/acpi/u8(10lus.c#L4ef">ACE_out kfre href="+code=acpout k10l4yp ="dr10rivers/acpi/uf (10lL225_ST   if (10lRROR9" class=ngthvers/acpi/bpci_mmcfg_lsse_iniut="drivers/acpipci_mmcfg_lsse_iniu     )id="L225_62 4=_d=1v"line" nT 2010l6yp ="dr10me="L>andle));
10lsget_pr="drivef="AE_ERROR9"  c5amscan=iniu5andle));
< c5amscan=iniu     )id="L225_62 4=_d=1v"line" nT 2010l7yp ="dr10href="+cod4=stat48/span>10hre>10li/bus5/6201" id5"L195" id="L c5amec_iniut="drivers/acpi c5amec=iniu     )id="L225_62 4=_d=1v"line" nT 2010l8yp ="dr10ef">48pi_handle" class="10ef">10l10" id="L21lengthvers/acpi/b c5amdebugfd=iniu5andle));
< c5amdebugfd=iniu     )id="L225_62 4=_d=1v"line" nT 2010l9yp ="dr10a>)uuli_3">ine" name="L210a>)>10let_ bus.STATE_D3_HOT)uul c5amsleep=proc_iniu5andle));
< c5amsleep=proc_iniu     )id="L225_62 4=_d=1v"line" nT 20109typ ="dr10ame=48f="drivers/acpi/bu10ame>10amt_ bus.STATE_D3_HOT)uul c5amwakeupmdevice=iniu5andle));
< c5amwakeupmdevice=iniu     )id="L225_62 4=_d=1v"line" nT 201091yp ="dr10gths/ac_STATE_D3_HOT10gth>10aa[ce->_D3_HOt0/ac"= {L163"> 163ic#L20ALLO10a2yp ="dr10d="L210"retass="line" na10d=">10ame=.cE_out kfre href="+code=acpout k10a3yp ="dr10ame="Landle));
10aref="AE_ nam_OBJEC+code=data" class1094yp ="dr10e"4name=4L192"> 192s10e"4>10aL225__erro59" class=subsy2=iniucallne" name="Landleubsy2=iniucall     = ));
< c5aminiu    )id="L225_62 4=_d=1v"line" nT 201095yp ="dr103iinpuchref="+code=r10310aiame=G/p_D>
iinpucfoo3er"> The original LXR software by=="sr="L225_62http://sourceforge.net/p_ojec2s/lxr">LXR acpiuniuy l>this=experii/5ual t kf"c#L2616+code=ACPI_ienT 2010l8yp ="dr10ef">48pi_handle" class="10ef">10l10" id="L21lengt[Silto:10l@he ux.no">10l@he ux.no8pi_.http://surceforge.ne)idt/p_ojec210l.he ux.no kindly host.Redpill Le I_i AS8pi_haI_ivider)); Le ux.a9tad olas));