linux/drivers/ide/ide-acpi.c
<<
" /spaon> /formn> a " href="../linux+v32.61/drivers/ide/ide-acpi.c">" img src="../.static/gfx/right.png" alt=">>">" /spaon>" spao class="lxr_search">" " input typue=hidden" namue=navtarget" value=">" input typue=text" namue=search" ide=search">" buttiontypue=submit">Search /formn> /spaon>" spao class="lxr_prefs"n> a href="+prefs?return=drivers/ide/ide-acpi.c"" onclick="return ajax_prefs();">" Prefs> /a>" /spaon> /divn> form acptio="ajax+*" method="post" onsubmit="return false;">" input typue=hidden" namue=ajax_lookup" ide=ajax_lookup" value=">" /formn>" div class="headingbottim"> div ide=search_results" class="search_results"> n> /divn> div ide=content">> div ide=file_contents"n
   1 /a> spao class="comment">/* /spaon>   2 /a> spao class="comment"> * Provides ACPI support for IDE drives. /spaon>   3 /a> spao class="comment"> * /spaon>   4 /a> spao class="comment"> * Copyright (C) 2005 Intel Corp. /spaon>   5 /a> spao class="comment"> * Copyright (C) 2005 Randy Dunlap /spaon>   6 /a> spao class="comment"> * Copyright (C) 2006 SUSE Linux Products GmbH /spaon>   7 /a> spao class="comment"> * Copyright (C) 2006 Hannes Reinecke /spaon>   8 /a> spao class="comment"> */ /spaon>   9 /a>"  .10#include <linux/ata.h0>"  110#include <linux/delay.h0>"  120#include <linux/device.h0>"  130#include <linux/errno.h0>"  140#include <linux/kernel.h0>"  150#include <linux/slab.h0>"  160#include <acpi/acpi.h0>"  170#include <linux/ide.h0>"  180#include <linux/pci.h0>"  190#include <linux/dmi.h0>"  210#include <linux/dmi.h06Agt;"
  6x219">   9 /a>"  120#include <ac_buspi/acpi.h" class="fref">ac_buspiass="fref">linux/dmi.h06Agt;"   9 /a>"  deflasfs"n>	
  a code=REGS_PER_GTFresults" class=REGS_PER_GTF4">             7  9 /a>"   9 /a>" strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4">  {  9 /a>"         s"n>	
  a code=u32results" class=u324">      s"n>	
  a code=PIO_speed0results" class=PIO_speed04"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u32results" class=u324">      s"n>	
  a code=DMA_speed0results" class=DMA_speed04"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u32results" class=u324">      s"n>	
  a code=PIO_speed1results" class=PIO_speed14"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u32results" class=u324">      s"n>	
  a code=DMA_speed1results" class=DMA_speed14"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u32results" class=u324">      s"n>	
  a code=GTM_flagsresults" class=GTM_flags4"> ef">linux/dmi.h06Agt;" }ef">linux/dmi.h06Agt;"   9 /a>" strux fs"n>	
  a code=rs/_">ac_ href_clakresults" class=rs/_">ac_ href_clak4">  {  9 /a>"         s"n>	
  a code=">ac_handleresults" class=">ac_handle4">       s"n>	
  a code=obj_handleresults" class=obj_handle4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u8results" class=u84">                s"n>	
  a code=idbuffresults" class=rsbuff4"> [512]ef">linux/dmi.h06Agt;" }ef">linux/dmi.h06Agt;"   9 /a>" strux fs"n>	
  a code=rs/_">ac_hwif_clakresults" class=rs/_">ac_hwif_clak4">  {  9 /a>"         s"n>	
  a code=rs/_hwif_tresults" class=rs/_hwif_t4">                       *s"n>	
  a code=hwifresults" class=hwif4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=">ac_handleresults" class=">ac_handle4">                       s"n>	
  a code=obj_handleresults" class=obj_handle4"> ef">linux/dmi.h06Agt;"         strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4">                 s"n>	
  a code=gtmresults" class=gtm4"> ef">linux/dmi.h06Agt;"         strux fs"n>	
  a code=rs/_">ac_ href_clakresults" class=rs/_">ac_ href_clak4">        s"n>	
  a code=masterresults" class=master4"> ef">linux/dmi.h06Agt;"         strux fs"n>	
  a code=rs/_">ac_ href_clakresults" class=rs/_">ac_ href_clak4">        s"n>	
  a code=slaveresults" class=slave4"> ef">linux/dmi.h06Agt;" }ef">linux/dmi.h06Agt;"   9 /a>"  undef s"n>	
  a code=DEBUGGINGresults" class=DEBUGGING9">   9 /a>"   8 /a> spao class="co/* note: adds fun form="lin and KERN_DEBUGmment"> */ /spaon>  1fdef s"n>	
  a code=DEBUGGINGresults" class=DEBUGGING9">   9 /a>"  deflasfs"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s"n>	
  a code=fmtresults" class=fmt4"> , s"n>	
  a code="rgsresults" class="rgs4"> ...)  \  9 /a>"                 s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_DEBUGresults" class=KERN_DEBUG4">    8 /a> spao string">"%s: "nt"> */ s"n>	
  a code=fmtresults" class=fmt4"> , s"n>	
  a code=__fun __results" class=__fun __4"> , ## s"n>	
  a code="rgsresults" class="rgs4"> )  9 /a>"  else  9 /a>"  deflasfs"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s"n>	
  a code=fmtresults" class=fmt4"> , s"n>	
  a code="rgsresults" class="rgs4"> ...)  do {} while (0)  9 /a>"  endif    8 /a> spao class="co/* DEBUGGINGmment"> */ /spaon>   9 /a>" st"../ s"n>	
  a code=boolresults" class=bool4">   "n>	
  a code=rs/_node/iresults" class=rs/_node/i4"> ef">linux/dmi.h06Agt;"  "n>	
  a code=mi.h" _param_"lindresults" class=mi.h" _param_"lind4"> (s"n>	
  a code=node/iresults" class=node/i4"> , s"n>	
  a code=rs/_node/iresults" class=rs/_node/i4"> , s"n>	
  a code=boolresults" class=bool4"> , 0)ef">linux/dmi.h06Agt;"  "n>	
  a code=MODULE_PARM_DESCresults" class=MODULE_PARM_DESC4"> (s"n>	
  a code=node/iresults" class=node/i4"> , s 8 /a> spao string">"disable rt fovides ACPI "nt"> */)ef">linux/dmi.h06Agt;"   9 /a>" st"../ s"n>	
  a code=boolresults" class=bool4">   "n>	
  a code=rs/_de/igtfresults" class=rs/_de/igtf4"> ef">linux/dmi.h06Agt;"  "n>	
  a code=mi.h" _param_"lindresults" class=mi.h" _param_"lind4"> (s"n>	
  a code=de/igtfresults" class=de/igtf4"> , s"n>	
  a code=rs/_de/igtfresults" class=rs/_de/igtf4"> , s"n>	
  a code=boolresults" class=bool4"> , 0)ef">linux/dmi.h06Agt;"  "n>	
  a code=MODULE_PARM_DESCresults" class=MODULE_PARM_DESC4"> (s"n>	
  a code=de/igtfresults" class=de/igtf4"> , s 8 /a> spao string">"enable rt fovide_GTFes ACPI "nt"> */)ef">linux/dmi.h06Agt;"   9 /a>" st"../ s"n>	
  a code=boolresults" class=bool4">   "n>	
  a code=rs/_de/ionbootresults" class=rs/_de/ionboot4"> ef">linux/dmi.h06Agt;"  "n>	
  a code=mi.h" _param_"lindresults" class=mi.h" _param_"lind4"> (s"n>	
  a code=de/ionbootresults" class=de/ionboot4"> , s"n>	
  a code=rs/_de/ionbootresults" class=rs/_de/ionboot4"> , s"n>	
  a code=boolresults" class=bool4"> , 0)ef">linux/dmi.h06Agt;"  "n>	
  a code=MODULE_PARM_DESCresults" class=MODULE_PARM_DESC4"> (s"n>	
  a code=de/ionbootresults" class=de/ionboot4"> , s 8 /a> spao string">"call rt fovidejax+*"s rm=boot"nt"> */)ef">linux/dmi.h06Agt;"   9 /a>" st"../ s"n>	
  a code=boolresults" class=bool4">   "n>	
  a code=rs/_node/i_psxresults" class=rs/_node/i_psx4"> ef">linux/dmi.h06Agt;" st"../ int  "n>	
  a code=no_de/i_psxresults" class=no_de/i_psx4"> (const strux fs"n>	
  a code=dmi_system_idresults" class=dmi_system_id4">  *s"n>	
  a code=idresults" class=id4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=rs/_node/i_psxresults" class=rs/_node/i_psx4">  = s"n>	
  a code=trueresults" class=true4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_NOTICEresults" class=KERN_NOTICE8">   8 /a> spao string">"%s detected - disable ovide_PSx.\n"nt"> */, s"n>	
  a code=rsresults" class=id4"> -"fres"n>	
  a code=rs/ntresults" class=rs/nt4"> )ef">linux/dmi.h06Agt;"         ubmit="0ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>" st"../ const strux fs"n>	
  a code=dmi_system_idresults" class=dmi_system_id4">  s"n>	
  a code=rs/_">ac_ mi_tableresults" class=rs/_">ac_ mi_table4"> [] = {  9 /a>"         s 8 /a> spao class="co/* Bug 9673.mment"> */ /spaon>         s 8 /a> spao class="co/* We should check if sear ar because ovideNVS arn't save/restored.mment"> */ /spaon>         {  9 /a>"                 .s"n>	
  a code=callbackresults" class=callback4">  = s"n>	
  a code=no_de/i_psxresults" class=no_de/i_psx4"> ,  9 /a>"                 .s"n>	
  a code=rs/ntresults" class=rs/nt4">     = s 8 /a> spao string">"HP nx9005"nt"> */,  9 /a>"                 .s"n>	
  a code=matchesresults" class=matches4">   = {  9 /a>"                         s"n>	
  a code=DMI_MATCHresults" class=DMI_MATCH4"> (s"n>	
  a code=DMI_BIOS_VENDORresults" class=DMI_BIOS_VENDOR4"> , s 8 /a> spao string">"Phoenix Technologies Ltd."nt"> */),  9 /a>"                         s"n>	
  a code=DMI_MATCHresults" class=DMI_MATCH4"> (s"n>	
  a code=DMI_BIOS_VERSIONresults" class=DMI_BIOS_VERSION4"> , s 8 /a> spao string">"KAM1.60"nt"> */)  9 /a>"                 },  9 /a>"         },  9 /a>"   9 /a>"         { }     s 8 /a> spao class="co/* terminate list ment"> */ /spaon> }ef">linux/dmi.h06Agt;"   9 /a>" int  "n>	
  a code=rs/_">ac_initresults" class=rs/_de/i_init4"> (void)  9 /a>" {  9 /a>"         s"n>	
  a code=dmi_check_systemresults" class=dmi_check_system4"> (s"n>	
  a code=rs/_">ac_ mi_tableresults" class=rs/_">ac_ mi_table4"> )ef">linux/dmi.h06Agt;"         ubmit="0ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>"  "n>	
  a code=boolresults" class=bool4">   "n>	
  a code=rs/_CPI _de/iresults" class=rs/_CPI _de/i4"> (s"n>	
  a code=rs/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         ubmit="s"n>	
  a code=rs/_node/iresults" class=rs/_node/i4">  == 0 &&"s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>"   2 /a> spao class="co/*ment"> * /spaon>   3 /a> spao class="comm rs/_get_dev_handle - finds ">ac_handle and PCI >linux/fun forment"> * /spaon>   4 /a> spao class="comme@>li: >linux to locateent"> * /spaon>   5 /a> spao class="comme@handle: ubmit=ed ">ac_handle uppo@>lient"> * /spaon>   6 /a> spao class="comme@pcrs/vfn: ubmit= PCI >linux/fun  uppo@>lient"> * /spaon>   7 /a> spao class="comment"> * /spaon>   8 /a> spao class="comm Rbmit=s the ovideobject handle to the corresponss=" PCI >linux/ent"> * /spaon>   7 /a> spao class="comment"> * /spaon>   8 /a> spao class="comm Rbmit=s 0 rm=success,inclu0 rm=error/ent"> * /spaon>   1 /a> spao class="co ment"> */ /spaon> st"../ int  "n>	
  a code=rs/_get_dev_handleresults" class=rs/_get_dev_handle4"> (strux fs"n>	
  a code=dlinuxresults" class=dlinux4">  *s"n>	
  a code=dliresults" class=dli4"> , s"n>	
  a code=">ac_handleresults" class=">ac_handle4">  *s"n>	
  a code=handleresults" class=handle4"> ,  9 /a>"                                s"n>	
  a code=u6" ide=L4" class=u646">  *s"n>	
  a code=pcrs/vfnresults" class=pcrs/vfn4"> )  9 /a>" {  9 /a>"         strux fs"n>	
  a code=pcr_dliresults" class=pcr_dli6">  *s"n>	
  a code=pdliresults" class=pdli6">  = s"n>	
  a code=to_pcr_dliresults" class=to_pcr_dli4"> (s"n>	
  a code=dliresults" class=dli4"> )ef">linux/dmi.h06Agt;"         unsig=ed int  "n>	
  a code=busresults" class=bus4"> , s"n>	
  a code=dlinumresults" class=dlinum4"> , s"n>	
  a code=fun results" class=fun 4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=u6" ide=L4" class=u646">  s"n>	
  a code="ddrresults" class="ddr4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=">ac_handleresults" class=">ac_handle4">  s"n>	
  a code=dli_handleresults" class=dev_handle4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=">ac_st".usresults" class=">ac_st".us4">  s"n>	
  a code=st".usresults" class=st".us4"> 0>"         strux fs"n>	
  a code=">ac_ linux_inforesults" class=">ac_ linux_info4">  *s"n>	
  a code=dinforesults" class=dinfo4">  = s"n>	
  a code=NULLresults" class=NULL4"> 0>"
  61214">         int  "n>	
  a code=retresults" class=ret4">  = - "n>	
  a code=ENODEVresults" class=ENODEV4"> 0>" >"         s"n>	
  a code=busresults" class=bus4">  = s"n>	
  a code=pdliresults" class=pdli6"> -"fres"n>	
  a code=busresults" class=bus4"> -"fres"n>	
  a code=numberresults" class=number4"> 0>"         s"n>	
  a code=dlinumresults" class=dlinum4">  = s"n>	
  a code=PCI_SLOTresults" class=PCI_SLOT4"> (s"n>	
  a code=pdliresults" class=pdli6"> -"fres"n>	
  a code=s/vfnresults" class=s/vfn4"> )0>"         s"n>	
  a code=fun results" class=fun 4">  = s"n>	
  a code=PCI_FUNCresults" class=PCI_FUNC4"> (s"n>	
  a code=pdliresults" class=pdli6"> -"fres"n>	
  a code=s/vfnresults" class=s/vfn4"> )0>"         s 8 /a> spao class="co/* ovide_ADR encods=" uppoPCI bus: ment"> */ /spaon>         s"n>	
  a code="ddrresults" class="ddr4">  = (s"n>	
  a code=u6" ide=L4" class=u646"> )(s"n>	
  a code=dlinumresults" class=dlinum4">  nclunclu 16 | s"n>	
  a code=fun results" class=fun 4"> )0>"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ENTER: pcr %02x:%02x.%01x\n"nt"> */, s"n>	
  a code=busresults" class=bus4"> , s"n>	
  a code=dlinumresults" class=dlinum4"> , s"n>	
  a code=fun results" class=fun 4"> )0>"   9 /a>"         s"n>	
  a code=dli_handleresults" class=dev_handle4">  = s"n>	
  a code=DEVICE_ovid_HANDLEresults" class=DEVICE_ovid_HANDLE4"> (s"n>	
  a code=dliresults" class=dli4"> )ef">linux/dmi.h06Agt;"         if (!s"n>	
  a code=dli_handleresults" class=dev_handle4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"no ">ac handle uppo linux\n"nt"> */)ef">linux/dmi.h06Agt;"                 goto s"n>	
  a code=errresults" class=err4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=st".usresults" class=st".us4">  = s"n>	
  a code=">ac_get_object_inforesults" class=">ac_get_object_info4"> (s"n>	
  a code=dli_handleresults" class=dev_handle4"> , &s"n>	
  a code=dinforesults" class=dinfo4"> )ef">linux/dmi.h06Agt;"         if (s"n>	
  a code=ovid_FAILUREresults" class=ovid_FAILURE4"> (s"n>	
  a code=st".usresults" class=st".us4"> )) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"get_object_info uppo linux failed\n"nt"> */)ef">linux/dmi.h06Agt;"                 goto s"n>	
  a code=errresults" class=err4"> 0>"         }f">linux/dmi.h06Agt;"         if (s"n>	
  a code=dinforesults" class=dinfo4">  &&"(s"n>	
  a code=dinforesults" class=dinfo4"> -"fres"n>	
  a code=validresults" class=valid4">  & s"n>	
  a code=ovid_VALID_ADRresults" class=ovid_VALID_ADR4"> ) &&f">linux/dmi.h06Agt;"             s"n>	
  a code=dinforesults" class=dinfo4"> -"fres"n>	
  a code="ddressresults" class="ddress4">  == s"n>	
  a code="ddrresults" class="ddr4"> ) {  9 /a>"                 *s"n>	
  a code=pcrs/vfnresults" class=pcrs/vfn4">  = s"n>	
  a code="ddrresults" class="ddr4"> ef">linux/dmi.h06Agt;"                 *s"n>	
  a code=handleresults" class=handle4">  = s"n>	
  a code=dli_handleresults" class=dev_handle4"> ef">linux/dmi.h06Agt;"         } else {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"get_object_info uppo linux has wro=" "nt"> */  9 /a>"                         s 8 /a> spao string">" "ddress: %llu, should be %u\n"nt"> */,  9 /a>"                         s"n>	
  a code=dinforesults" class=dinfo4">  ? (unsig=ed lo=" lo=")s"n>	
  a code=dinforesults" class=dinfo4"> -"fres"n>	
  a code="ddressresults" class="ddress4">  : -1ULL,  9 /a>"                         (unsig=ed int)s"n>	
  a code="ddrresults" class="ddr4"> )0>"                 goto s"n>	
  a code=errresults" class=err4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"uppo li=0x%x.%x, "ddr=0x%llx, *handle=0x%p\n"nt"> */,  9 /a>"                  s"n>	
  a code=dlinumresults" class=dlinum4"> , s"n>	
  a code=fun results" class=fun 4"> , (unsig=ed lo=" lo=")s"n>	
  a code="ddrresults" class="ddr4"> , *s"n>	
  a code=handleresults" class=handle4"> )0>"         s"n>	
  a code=retresults" class=ret4">  = 0ef">linux/dmi.h06Agt;"  "n>	
  a code=errresults" class=err4"> :f">linux/dmi.h06Agt;"         s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=dinforesults" class=dinfo4"> )ef">linux/dmi.h06Agt;"         ubmit="s"n>	
  a code=retresults" class=ret4"> 0>" }f">linux/dmi.h06Agt;"   9 /a>"   2 /a> spao class="co/*ment"> * /spaon>   3 /a> spao class="comm rs/_">ac_hwif_get_handle - Get ovideobject handle uppoa grefn hwif4"t"> * /spaon>   4 /a> spao class="comme@hwif: >linux to locateent"> * /spaon>   5 /a> spao class="comment"> * /spaon>   6 /a> spao class="commeRetrieves the object handle uppoa grefn hwif/ent"> * /spaon>   7 /a> spao class="comment"> * /spaon>   8 /a> spao class="comm Rbmit=s handle rm=success,i0 rm=error/ent"> * /spaon>   7 /a> spao class="comment"> */ /spaon> st"../ s"n>	
  a code=">ac_handleresults" class=">ac_handle4">  s"n>	
  a code=rs/_">ac_hwif_get_handleresults" class=rs/_">ac_hwif_get_handle4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         strux fs"n>	
  a code=dlinuxresults" class=dlinux4">            *s"n>	
  a code=dliresults" class=dli4">  = s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=gendliresults" class=gendli4"> .s"n>	
  a code=par/ntresults" class=par/nt4"> 0>"         s"n>	
  a code=">ac_handleresults" class=">ac_handle4">              s"n>	
  a code=uninitialized_varresults" class=uninitialized_var4"> (s"n>	
  a code=dli_handleresults" class=dev_handle4"> )ef">linux/dmi.h06Agt;"         s"n>	
  a code=u6" ide=L4" class=u646">                      s"n>	
  a code=pcrs/vfnresults" class=pcrs/vfn4"> ef">linux/dmi.h06Agt;"         s"n>	
  a code=">ac_handleresults" class=">ac_handle4">              s"n>	
  a code=chan_handleresults" class=chan_handle4"> ef">linux/dmi.h06Agt;"         int                     s"n>	
  a code=errresults" class=err4"> 0>"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ENTER: >linux %s\n"nt"> */, s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code="linresults" class="lin4"> )ef">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=dliresults" class=dli4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"no PCI >linux uppo%s\n"nt"> */, s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code="linresults" class="lin4"> )ef">linux/dmi.h06Agt;"                 ubmit="s"n>	
  a code=NULLresults" class=NULL4"> 0>"         }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         s"n>	
  a code=errresults" class=err4">  = s"n>	
  a code=is/_get_dev_handleresults" class=rs/_get_dev_handle4"> (s"n>	
  a code=dliresults" class=dli4"> , &s"n>	
  a code=dli_handleresults" class=dev_handle4"> , &s"n>	
  a code=pcrs/vfnresults" class=pcrs/vfn4"> )0>"         if (s"n>	
  a code=errresults" class=err4">  nclu 0) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"rs/_get_dev_handle failed (%d)\n"nt"> */, s"n>	
  a code=errresults" class=err4"> )0>"                 ubmit="s"n>	
  a code=NULLresults" class=NULL4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s 8 /a> spao class="co/* get child objects of dev_handle == channel objects,nt"> */ /spaon>   2 /a> spao class="commmmmmmmm* + _their_ childr/n ==  href objects ment"> */ /spaon>         s 8 /a> spao class="co/* channel is hwif-"frechannel ment"> */ /spaon>         s"n>	
  a code=chan_handleresults" class=chan_handle4">  = s"n>	
  a code=">ac_get_childresults" class=">ac_get_child4"> (s"n>	
  a code=dli_handleresults" class=dev_handle4"> , s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=channelresults" class=channel4"> )0>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"chan adr=%d: handle=0x%p\n"nt"> */,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=channelresults" class=channel4"> , s"n>	
  a code=chan_handleresults" class=chan_handle4"> )0>"   9 /a>"         ubmit="s"n>	
  a code=chan_handleresults" class=chan_handle4"> ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>"   1 /a> spao class="co/*ment"> * /spaon>   2 /a> spao class="com* do_ href_get_GTFe- get the  href bootup default taskfile settingsent"> * /spaon>   3 /a> spao class="comm @ href: the  href uppowhich the taskfile settings should be retrievedent"> * /spaon>   4 /a> spao class="comme@gtf_length: number of bytes of _GTFedata ubmit=ed "te@gtf_"ddress4"t"> * /spaon>   5 /a> spao class="comme@gtf_"ddress: buffer contains=" _GTFetaskfile arrays4"t"> * /spaon>   6 /a> spao class="comm4"t"> * /spaon>   7 /a> spao class="comm The _GTFejax+*" has no input parametf="/ent"> * /spaon>   8 /a> spao class="comm It ubmit=s a variable number of register set values (registers4"t"> * /spaon>   7 /a> spao class="comm hex 1F1..1F7,etaskfiles)/ent"> * /spaon>   8 /a> spao class="comm The ncluvariable number"fre is not known in advance, so have ovid-CAent"> * /spaon>
1mue21L1">   1 /a> spao class="co m allocate the buffer as needed "nd ubmit="it, then free"it later/ent"> * /spaon>   2 /a> spao class="com*ent"> * /spaon>   3 /a> spao class="comm The ubmit=ed @gtf_length "nd @gtf_"ddress are rmly valid if seeent"> * /spaon>   4 /a> spao class="commefun form=ubmit="value is 0/ent"> * /spaon>   5 /a> spao class="comment"> */ /spaon> st"../ int  "n>	
  a code=do_ href_get_GTFresults" class=do_ href_get_GTF4"> (s"n>	
  a code=is/_ href_tresults" class=rs/_ href_t4">  *s"n>	
  a code= hrefresults" class=dhref4"> , /spaon>                      unsig=ed int *s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , unsig=ed lo=" *s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> , /spaon>                      unsig=ed lo=" *s"n>	
  a code=obj_locresults" class=obj_loc4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=">ac_st".usresults" class=">ac_st".us4">                      s"n>	
  a code=st".usresults" class=st".us4"> 0>"
  62214">         strux fs"n>	
  a code=">ac_bufferresults" class=">ac_buffer4">               s"n>	
  a code=outputresults" class=output4"> 0>"         unorm=s"n>	
  a code=">ac_objectresults" class=">ac_object4">                *s"n>	
  a code=out_objresults" class=out_obj4"> 0>"         int                             s"n>	
  a code=errresults" class=err4">  = - "n>	
  a code=ENODEVresults" class=ENODEV4"> 0>" f">linux/dmi.h06Agt;"         *s"n>	
  a code=gtf_lengthresults" class=gtf_length4">  = 0ef">linux/dmi.h06Agt;"         *s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4">  = 0ULef">linux/dmi.h06Agt;"         *s"n>	
  a code=obj_locresults" class=obj_loc4">  = 0ULef">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"No ovideobject found uppo%s\n"nt"> */, s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> )ef">linux/dmi.h06Agt;"                 goto s"n>	
  a code=outresults" class=out4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s 8 /a> spao class="co/* Setting up output buffer ment"> */ /spaon>         s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4">  = s"n>	
  a code=ovid_ALLOCATE_BUFFERresults" class=ovid_ALLOCATE_BUFFER4"> 0>"         s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4">  = s"n>	
  a code=NULLresults" class=NULL4"> 0  s 8 /a> spao class="co/* ovid-CA sets sear; save/free"it later ment"> */ /spaon>   9 /a>"         s 8 /a> spao class="co/* _GTFehas no input parametf=" ment"> */ /spaon>         s"n>	
  a code=errresults" class=err4">  = - "n>	
  a code=EIOresults" class=EIO4"> 0>"         s"n>	
  a code=st".usresults" class=st".us4">  = s"n>	
  a code=">ac_evaluate_objectresults" class=">ac_evaluate_object4"> (s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , s 8 /a> spao string">"_GTF"nt"> */,  9 /a>"                                       s"n>	
  a code=NULLresults" class=NULL4"> , &s"n>	
  a code=outputresults" class=output4"> )ef">linux/dmi.h06Agt;"         if (s"n>	
  a code=ovid_FAILUREresults" class=ovid_FAILURE4"> (s"n>	
  a code=st".usresults" class=st".us4"> )) {  9 /a>"                 s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_DEBUGresults" class=KERN_DEBUG9">   9 /a>"                        s 8 /a> spao string">"%s: Run _GTFeerror: st".us = 0x%x\n"nt"> */,  9 /a>"                        s"n>	
  a code=__fun __results" class=__fun __4"> , s"n>	
  a code=st".usresults" class=st".us4"> )ef">linux/dmi.h06Agt;"                 goto s"n>	
  a code=outresults" class=out4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4">  || !s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _GTF: "nt"> */  9 /a>"                        s 8 /a> spao string">"length ppoptr is NULL (0x%llx, 0x%p)\n"nt"> */,  9 /a>"                        (unsig=ed lo=" lo=")s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4"> ,  9 /a>"                        s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 goto s"n>	
  a code=outresults" class=out4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=out_objresults" class=out_obj4">  = s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> 0>"         if (s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=typeresults" class=type4">  != s"n>	
  a code=ovid_TYPE_BUFFERresults" class=ovid_TYPE_BUFFER4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _GTF: error: "nt"> */  9 /a>"                        s 8 /a> spao string">"expected object type of ovid_TYPE_BUFFER, "nt"> */  9 /a>"                        s 8 /a> spao string">"got 0x%x\n"nt"> */, s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=typeresults" class=type4"> )0>"                 s"n>	
  a code=errresults" class=err4">  = - "n>	
  a code=ENOENTresults" class=ENOENT4"> 0>"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 goto s"n>	
  a code=outresults" class=out4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  || !s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4">  ||  9 /a>"             s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  % s"n>	
  a code=REGS_PER_GTFresults" class=REGS_PER_GTF4"> ) {  9 /a>"                 s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_ERRresults" class=KERN_ERR9">   9 /a>"                        s 8 /a> spao string">"%s: unexpected GTFelength (%d) ppo"ddr (0x%p)\n"nt"> */,  9 /a>"                        s"n>	
  a code=__fun __results" class=__fun __4"> , s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4"> ,  9 /a>"                        s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 s"n>	
  a code=errresults" class=err4">  = - "n>	
  a code=ENOENTresults" class=ENOENT4"> 0>"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 goto s"n>	
  a code=outresults" class=out4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         *s"n>	
  a code=gtf_lengthresults" class=gtf_length4">  = s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4"> 0>"         *s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4">  = (unsig=ed lo=")s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4"> 0>"         *s"n>	
  a code=obj_locresults" class=obj_loc4">  = (unsig=ed lo=")s"n>	
  a code=out_objresults" class=out_obj4"> 0>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ubmit=ing gtf_length=%d, gtf_"ddress=0x%lx, obj_loc=0x%lx\n"nt"> */,  9 /a>"                  *s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , *s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> , *s"n>	
  a code=obj_locresults" class=obj_loc4"> )0>"         s"n>	
  a code=errresults" class=err4">  = 0ef">linux/dmi.h06Agt;" s"n>	
  a code=outresults" class=out4"> :f">linux/dmi.h06Agt;"         ubmit="s"n>	
  a code=errresults" class=err4"> 0>" }f">linux/dmi.h06Agt;"   9 /a>"   8 /a> spao class="co/*ment"> * /spaon>   7 /a> spao class="comm do_ href_set_taskfiles - write the  href taskfile settings from _GTF4"t"> * /spaon>   8 /a> spao class="comm @ href: the  href to which the taskfile clas"nd should be s/nt4"t"> * /spaon>   1 /a> spao class="co m @gtf_length: total number of bytes of _GTFetaskfiles4"t"> * /spaon>   2 /a> spao class="comme@gtf_"ddress: locatorm=of _GTFetaskfile arrays4"t"> * /spaon>   3 /a> spao class="comm4"t"> * /spaon>   4 /a> spao class="commeWrite {gtf_"ddress,elength gtf_length} in groups of4"t"> * /spaon>   5 /a> spao class="commeREGS_PER_GTF bytes/ent"> * /spaon>   6 /a> spao class="comment"> */ /spaon> st"../ int  "n>	
  a code=do_ href_set_taskfilesresults" class=do_ href_set_taskfiles4"> (s"n>	
  a code=is/_ href_tresults" class=rs/_ href_t4">  *s"n>	
  a code= hrefresults" class=dhref4"> , /spaon>                                   unsig=ed int s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , /spaon>                                   unsig=ed lo=" s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> )  9 /a>" {  9 /a>"         int                     s"n>	
  a code=rcresults" class=rc4">  = 0, s"n>	
  a code=errresults" class=err4"> 0>"         int                     s"n>	
  a code=gtf_countresults" class=gtf_count4">  = s"n>	
  a code=gtf_lengthresults" class=gtf_length4">  / s"n>	
  a code=REGS_PER_GTFresults" class=REGS_PER_GTF4"> 0>"         int                     s"n>	
  a code=ixresults" class=rx4"> 0>" f">linux/dmi.h06Agt;"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"total GTF bytes=%u (0x%x), gtf_count=%d, "ddr=0x%lx\n"nt"> */,  9 /a>"                  s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , s"n>	
  a code=gtf_countresults" class=gtf_count4"> , s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> )0>"   9 /a>"         s 8 /a> spao class="co/* s/nd alletaskfile registers (0x1f1-0x1f7) *in*that*order*mment"> */ /spaon>         uppo(s"n>	
  a code=ixresults" class=rx4">  = 0e s"n>	
  a code=ixresults" class=rx4">  nclu s"n>	
  a code=gtf_countresults" class=gtf_count4"> e s"n>	
  a code=ixresults" class=rx4"> ++) {  9 /a>"                 s"n>	
  a code=u8results" class=u84">  *s"n>	
  a code=gtfresults" class=gtf4">  = (s"n>	
  a code=u8results" class=u84">  *)(s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4">  + s"n>	
  a code=ixresults" class=rx4">  * s"n>	
  a code=REGS_PER_GTFresults" class=REGS_PER_GTF4"> )0>"                 strux fs"n>	
  a code=rs/_cmdresults" class=rs/_cmd4">  s"n>	
  a code=cmdresults" class=cmd4"> 0>" >"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"(0x1f1-1f7): "nt"> */  9 /a>"                          s 8 /a> spao string">"hex: %02x %02x %02x %02x %02x %02x %02x\n"nt"> */,  9 /a>"                          s"n>	
  a code=gtfresults" class=gtf4"> [0], s"n>	
  a code=gtfresults" class=gtf4"> [1], s"n>	
  a code=gtfresults" class=gtf4"> [2],  9 /a>"                          s"n>	
  a code=gtfresults" class=gtf4"> [3], s"n>	
  a code=gtfresults" class=gtf4"> [4], s"n>	
  a code=gtfresults" class=gtf4"> [5], s"n>	
  a code=gtfresults" class=gtf4"> [6])0>"   9 /a>"                 if (!s"n>	
  a code=is/_">acgtfresults" class=is/_">acgtf4"> ) {  9 /a>"                         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"_GTFeexecutorm=disabled\n"nt"> */)ef">linux/dmi.h06Agt;"                         continueef">linux/dmi.h06Agt;"
  63214">                 }f">linux/dmi.h06Agt;" >"                 s 8 /a> spao class="co/* conef=t GTF toetaskfile ment"> */ /spaon>                 s"n>	
  a code=memsetresults" class=memset4"> (&s"n>	
  a code=cmdresults" class=cmd4"> , 0, sizeof(s"n>	
  a code=cmdresults" class=cmd4"> ))ef">linux/dmi.h06Agt;"                 s"n>	
  a code=memcpyresults" class=memcpy4"> (&s"n>	
  a code=cmdresults" class=cmd4"> .s"n>	
  a code=tfresults" class=tf4"> .s"n>	
  a code=featurfresults" class=featurf4"> , s"n>	
  a code=gtfresults" class=gtf4"> , s"n>	
  a code=REGS_PER_GTFresults" class=REGS_PER_GTF4"> )0>"                 s"n>	
  a code=cmdresults" class=cmd4"> .s"n>	
  a code=validresults" class=valid4"> .s"n>	
  a code=outresults" class=out4"> .s"n>	
  a code=tfresults" class=tf4">  = s"n>	
  a code=IDE_VALID_OUT_TFresults" class=IDE_VALID_OUT_TF4">  | s"n>	
  a code=IDE_VALID_DEVICEresults" class=IDE_VALID_DEVICE4"> 0>"                 s"n>	
  a code=cmdresults" class=cmd4"> .s"n>	
  a code=validresults" class=valid4"> .s"n>	
  a code=inresults" class=in4"> .s"n>	
  a code=tfresults" class=tf4">   = s"n>	
  a code=IDE_VALID_IN_TFresults" class=IDE_VALID_IN_TF4">   | s"n>	
  a code=IDE_VALID_DEVICEresults" class=IDE_VALID_DEVICE4"> 0>"   9 /a>"                 s"n>	
  a code=errresults" class=err4">  = s"n>	
  a code=is/_no_data_taskfileresults" class=is/_no_data_taskfile4"> (s"n>	
  a code= hrefresults" class=dhref4"> , &s"n>	
  a code=cmdresults" class=cmd4"> )0>"                 if (s"n>	
  a code=errresults" class=err4"> ) {  9 /a>"                         s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_ERRresults" class=KERN_ERR9">  s 8 /a> spao string">"%s: is/_no_data_taskfile failed: %u\n"nt"> */,  9 /a>"                                         s"n>	
  a code=__fun __results" class=__fun __4"> , s"n>	
  a code=errresults" class=err4"> )0>"                         s"n>	
  a code=rcresults" class=rc4">  = s"n>	
  a code=errresults" class=err4"> 0>"                 }f">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         ubmit="s"n>	
  a code=rcresults" class=rc4"> 0>" }f">linux/dmi.h06Agt;"   9 /a>"   8 /a> spao class="co/*ment"> * /spaon>   1 /a> spao class="co m is/_">ac_exec_tfse- get then write  href taskfile settingsent"> * /spaon>   2 /a> spao class="comme@ href: the  href uppowhich the taskfile settings should beent"> * /spaon>   3 /a> spao class="comm         written/ent"> * /spaon>   4 /a> spao class="comment"> * /spaon>   5 /a> spao class="commeAccording toethe ovid spec sear should be called after _STMent"> * /spaon>   6 /a> spao class="commehas been evaluated uppothe interface. Some ovid vendors interpret4"t"> * /spaon>   7 /a> spao class="comm that as spaard ubquiress=" "nd modify the taskfile according4"t"> * /spaon>   8 /a> spao class="comm toethe Ids="ify Dhref inuppmatorm=pspaed down with _STM/ent"> * /spaon>   7 /a> spao class="comm So one should really make surf to calletear rmly after _STMehasent"> * /spaon>   8 /a> spao class="comm been executed/ent"> * /spaon>   1 /a> spao class="co ment"> */ /spaon> int s"n>	
  a code=is/_">ac_exec_tfsresults" class=is/_">ac_exec_tfs4"> (s"n>	
  a code=is/_ href_tresults" class=rs/_ href_t4">  *s"n>	
  a code= hrefresults" class=dhref4"> )  9 /a>" {  9 /a>"         int             s"n>	
  a code=retresults" class=ret4"> 0>"         unsig=ed int    s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> 0>"         unsig=ed lo="   s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> 0>"         unsig=ed lo="   s"n>	
  a code=obj_locresults" class=obj_loc4"> 0>"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"calleget_GTF,  href=%s port=%d\n"nt"> */, s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> , s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=dnresults" class=dn4"> )0>"   9 /a>"         s"n>	
  a code=retresults" class=ret4">  = s"n>	
  a code=do_ href_get_GTFresults" class=do_ href_get_GTF4"> (s"n>	
  a code= hrefresults" class=dhref4"> , &s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , &s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> , &s"n>	
  a code=obj_locresults" class=obj_loc4"> )0>"         if (s"n>	
  a code=retresults" class=ret4">  nclu 0) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"get_GTFeerror (%d)\n"nt"> */, s"n>	
  a code=retresults" class=ret4"> )0>"                 ubmit="s"n>	
  a code=retresults" class=ret4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"calleset_taskfiles,  href=%s\n"nt"> */, s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> )ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=retresults" class=ret4">  = s"n>	
  a code=do_ href_set_taskfilesresults" class=do_ href_set_taskfiles4"> (s"n>	
  a code= hrefresults" class=dhref4"> , s"n>	
  a code=gtf_lengthresults" class=gtf_length4"> , s"n>	
  a code=gtf_"ddressresults" class=gtf_"ddress4"> )ef">linux/dmi.h06Agt;"         s"n>	
  a code=kfreeresults" class=kfree4"> ((void *)s"n>	
  a code=obj_locresults" class=obj_loc4"> )0>"         if (s"n>	
  a code=retresults" class=ret4">  nclu 0) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"set_taskfiles error (%d)\n"nt"> */, s"n>	
  a code=retresults" class=ret4"> )0>"         }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ret=%d\n"nt"> */, s"n>	
  a code=retresults" class=ret4"> )0>"   9 /a>"         ubmit="s"n>	
  a code=retresults" class=ret4"> 0>" }f">linux/dmi.h06Agt;"   9 /a>"   8 /a> spao class="co/*ment"> * /spaon>   1 /a> spao class="co m is/_">ac_get_timing - get the channel (controller) timingsent"> * /spaon>   2 /a> spao class="comme@hwif: target IDE interface (channel)ent"> * /spaon>   3 /a> spao class="comm4"t"> * /spaon>   4 /a> spao class="commeTear fun form=executes the _GTM ovid jax+*" uppothe target channel/ent"> * /spaon>   5 /a> spao class="comment"> * /spaon>   6 /a> spao class="comment"> */ /spaon> void s"n>	
  a code=is/_">ac_get_timingresults" class=is/_">ac_get_timing4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=">ac_st".usresults" class=">ac_st".us4">              s"n>	
  a code=st".usresults" class=st".us4"> 0>"         strux fs"n>	
  a code=">ac_bufferresults" class=">ac_buffer4">       s"n>	
  a code=outputresults" class=output4"> 0>"         unorm=s"n>	
  a code=">ac_objectresults" class=">ac_object4">        *s"n>	
  a code=out_objresults" class=out_obj4"> 0>" >"         s 8 /a> spao class="co/* Setting up output buffer uppo_GTM ment"> */ /spaon>         s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4">  = s"n>	
  a code=ovid_ALLOCATE_BUFFERresults" class=ovid_ALLOCATE_BUFFER4"> 0>"         s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4">  = s"n>	
  a code=NULLresults" class=NULL4"> 0  s 8 /a> spao class="co/* ovid-CA sets sear; save/free"it later ment"> */ /spaon>   9 /a>"         s 8 /a> spao class="co/* _GTM has no input parametf=" ment"> */ /spaon>         s"n>	
  a code=st".usresults" class=st".us4">  = s"n>	
  a code=">ac_evaluate_objectresults" class=">ac_evaluate_object4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , s 8 /a> spao string">"_GTM"nt"> */,  9 /a>"                                       s"n>	
  a code=NULLresults" class=NULL4"> , &s"n>	
  a code=outputresults" class=output4"> )ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"_GTM st".us: %d, outptr: 0x%p, outlen: 0x%llx\n"nt"> */,  9 /a>"                  s"n>	
  a code=st".usresults" class=st".us4"> , s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> ,  9 /a>"                  (unsig=ed lo=" lo=")s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4"> )ef">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         if (s"n>	
  a code=ovid_FAILUREresults" class=ovid_FAILURE4"> (s"n>	
  a code=st".usresults" class=st".us4"> )) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _GTMeerror: st".us = 0x%x\n"nt"> */, s"n>	
  a code=st".usresults" class=st".us4"> )ef">linux/dmi.h06Agt;"                 ubmit=ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4">  || !s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _GTM:elength ppoptr is NULL (0x%llx, 0x%p)\n"nt"> */,  9 /a>"                        (unsig=ed lo=" lo=")s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=lengthresults" class=length4"> ,  9 /a>"                        s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 ubmit=ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=out_objresults" class=out_obj4">  = s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> 0>"         if (s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=typeresults" class=type4">  != s"n>	
  a code=ovid_TYPE_BUFFERresults" class=ovid_TYPE_BUFFER4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _GTM:eerror: "nt"> */  9 /a>"
  64214">                        s 8 /a> spao string">"expected object type of ovid_TYPE_BUFFER, "nt"> */  9 /a>"                        s 8 /a> spao string">"got 0x%x\n"nt"> */, s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=typeresults" class=type4"> )0>"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 ubmit=ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         if (!s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  || !s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4">  ||  9 /a>"             s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  != sizeof(strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4"> )) {  9 /a>"                 s"n>	
  a code=printkresults" class=printk4"> (s"n>	
  a code=KERN_ERRresults" class=KERN_ERR9">   9 /a>"                         s 8 /a> spao string">"%s: unexpected _GTMelength (0x%x)[should be 0x%zx] ppo"nt"> */  9 /a>"                         s 8 /a> spao string">""ddr (0x%p)\n"nt"> */,  9 /a>"                         s"n>	
  a code=__fun __results" class=__fun __4"> , s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4"> ,  9 /a>"                         sizeof(strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4"> ), s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>"                 ubmit=ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=memcpyresults" class=memcpy4"> (&s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> , s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4"> ,  9 /a>"                sizeof(strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4"> ))ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"_GTM inup: ptr: 0x%p, len: 0x%x, exp.len: 0x%Zx\n"nt"> */,  9 /a>"                  s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4"> , s"n>	
  a code=out_objresults" class=out_obj4"> -"fres"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4"> ,  9 /a>"                  sizeof(strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4"> ))ef">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"_GTM fields: 0x%x, 0x%x, 0x%x, 0x%x, 0x%x\n"nt"> */,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> .s"n>	
  a code=PIO_speed0results" class=PIO_speed04"> ,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> .s"n>	
  a code=DMA_speed0results" class=DMA_speed04"> ,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> .s"n>	
  a code=PIO_speed1results" class=PIO_speed14"> ,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> .s"n>	
  a code=DMA_speed1results" class=DMA_speed14"> ,  9 /a>"                  s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> .s"n>	
  a code=GTM_flagsresults" class=GTM_flags4"> )0>" >"         s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=outputresults" class=output4"> .s"n>	
  a code=pointerresults" class=pointer4"> )0>" }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"   5 /a> spao class="co/*ment"> * /spaon>   6 /a> spao class="commeis/_">ac_push_timing - set the channel (controller) timingsent"> * /spaon>   7 /a> spao class="comm @hwif: target IDE interface (channel)ent"> * /spaon>   8 /a> spao class="comment"> * /spaon>   7 /a> spao class="comm Tear fun form=executes the _STM ovid jax+*" uppothe target channel/ent"> * /spaon>   8 /a> spao class="comment"> * /spaon>   1 /a> spao class="co m _STM ubquires Ids="ify Dhref data,owhich has to=pspaed as sn arguss="/ent"> * /spaon>   2 /a> spao class="commeUnupptunately  href-"freid is a mangled ef="orm=which we can't readilyent"> * /spaon>   3 /a> spao class="comm use; hence we'llegetothe inuppmatorm=afresh/ent"> * /spaon>   4 /a> spao class="comment"> */ /spaon> void s"n>	
  a code=is/_">ac_push_timingresults" class=is/_">ac_push_timing4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=">ac_st".usresults" class=">ac_st".us4">              s"n>	
  a code=st".usresults" class=st".us4"> 0>"         strux fs"n>	
  a code=">ac_object_listresults" class=">ac_object_list4">  s"n>	
  a code=inputresults" class=input4"> 0>"         unorm=s"n>	
  a code=">ac_objectresults" class=">ac_object4">        s"n>	
  a code=in_paramsresults" class=in_params4"> [3]0>"         strux fs"n>	
  a code=is/_">ac_ href_clakresults" class=is/_">ac_ href_clak4">       *s"n>	
  a code=masterresults" class=master4">  = &s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=masterresults" class=master4"> 0>"         strux fs"n>	
  a code=is/_">ac_ href_clakresults" class=is/_">ac_ href_clak4">       *s"n>	
  a code=slaefresults" class=slaef4">  = &s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=slaefresults" class=slaef4"> 0>" >"         s 8 /a> spao class="co/* Gref the GTM buffer +  href Ids="ify data toethe channel viaethent"> */ /spaon>   4 /a> spao class="commmmmmmmmm _STM jax+*":mment"> */ /spaon>         s 8 /a> spao class="co/* s/tup input parametf=" buffer uppo_STM ment"> */ /spaon>         s"n>	
  a code=inputresults" class=input4"> .s"n>	
  a code=countresults" class=count4">  = 30>"         s"n>	
  a code=inputresults" class=input4"> .s"n>	
  a code=pointerresults" class=pointer4">  = s"n>	
  a code=in_paramsresults" class=in_params4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [0].s"n>	
  a code=typeresults" class=type4">  = s"n>	
  a code=ovid_TYPE_BUFFERresults" class=ovid_TYPE_BUFFER4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [0].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  = sizeof(strux fs"n>	
  a code=GTM_bufferresults" class=GTM_buffer4"> )0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [0].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4">  = (s"n>	
  a code=u8results" class=u84">  *)&s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=gtmresults" class=gtm4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [1].s"n>	
  a code=typeresults" class=type4">  = s"n>	
  a code=ovid_TYPE_BUFFERresults" class=ovid_TYPE_BUFFER4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [1].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  = s"n>	
  a code=oTA_ID_WORDSresults" class=oTA_ID_WORDS4">  * 20>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [1].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4">  = (s"n>	
  a code=u8results" class=u84">  *)&s"n>	
  a code=masterresults" class=master4"> -"fres"n>	
  a code=idbuffresults" class=isbuff4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [2].s"n>	
  a code=typeresults" class=type4">  = s"n>	
  a code=ovid_TYPE_BUFFERresults" class=ovid_TYPE_BUFFER4"> 0>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [2].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=lengthresults" class=length4">  = s"n>	
  a code=oTA_ID_WORDSresults" class=oTA_ID_WORDS4">  * 20>"         s"n>	
  a code=in_paramsresults" class=in_params4"> [2].s"n>	
  a code=bufferresults" class=buffer4"> .s"n>	
  a code=pointerresults" class=pointer4">  = (s"n>	
  a code=u8results" class=u84">  *)&s"n>	
  a code=slaefresults" class=slaef4"> -"fres"n>	
  a code=idbuffresults" class=isbuff4"> 0>"         s 8 /a> spao class="co/* Output buffer: _STMehas no output ment"> */ /spaon>   9 /a>"         s"n>	
  a code=st".usresults" class=st".us4">  = s"n>	
  a code=">ac_evaluate_objectresults" class=">ac_evaluate_object4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , s 8 /a> spao string">"_STM"nt"> */,  9 /a>"                                       &s"n>	
  a code=inputresults" class=input4"> , s"n>	
  a code=NULLresults" class=NULL4"> )0>" >"         if (s"n>	
  a code=ovid_FAILUREresults" class=ovid_FAILURE4"> (s"n>	
  a code=st".usresults" class=st".us4"> )) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"Run _STMeerror: st".us = 0x%x\n"nt"> */, s"n>	
  a code=st".usresults" class=st".us4"> )ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"_STM st".us: %d\n"nt"> */, s"n>	
  a code=st".usresults" class=st".us4"> )ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>"   8 /a> spao class="co/*ment"> * /spaon>   7 /a> spao class="comm is/_">ac_set_st".e - set the channel power st".ent"> */ /spaon>   8 /a> spao class="comm @hwif: target IDE interfacent"> */ /spaon>   1 /a> spao class="co m @on: st".e, on/off4""> */ /spaon>   2 /a> spao class="comm4""> */ /spaon>   3 /a> spao class="comm Tear fun form=executes the _PS0/_PS3 ovid jax+*" to set the power st".e/ent"> * /spaon>   4 /a> spao class="commeovid spec ubquires _PS0 when IDE power rm=and _PS3 when power rff4""> */ /spaon>   5 /a> spao class="comment"> */ /spaon> void s"n>	
  a code=is/_">ac_set_st".eresults" class=is/_">ac_set_st".e4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> , int s"n>	
  a code=onresults" class=on4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=is/_ href_tresults" class=rs/_ href_t4">  *s"n>	
  a code= hrefresults" class=dhref4"> ef">linux/dmi.h06Agt;"         int s"n>	
  a code=iresults" class=r4"> ef">linux/dmi.h06Agt;"   9 /a>"         if (s"n>	
  a code=rs/_no">ac_psxresults" class=rs/_no">ac_psx4"> )  9 /a>"                 ubmit=ef">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ENTER:\n"nt"> */)ef">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         s 8 /a> spao class="co/* channel firs" "nd then mi.h0s uppopower rm=and h06Ae h06Aa uppopower rffmment"> */ /spaon>         if (s"n>	
  a code=onresults" class=on4"> )  9 /a>"                 s"n>	
  a code=">ac_bus_set_powerresults" class=">ac_bus_set_power4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , s"n>	
  a code=ovid_STATE_D0results" class=ovid_STATE_D04"> )ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=is/_port_upp_each_press="_devresults" class=rs/_port_upp_each_press="_dev4"> (s"n>	
  a code=iresults" class=r4"> , s"n>	
  a code=dhrefresults" class=dhref4"> , s"n>	
  a code=hwifresults" class=hwif4"> ) {  9 /a>"
  65214">                 if (s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> )  9 /a>"                         s"n>	
  a code=">ac_bus_set_powerresults" class=">ac_bus_set_power4"> (s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> ,  9 /a>"                                            s"n>	
  a code=onresults" class=on4">  ? s"n>	
  a code=ovid_STATE_D0results" class=ovid_STATE_D04">  : s"n>	
  a code=ovid_STATE_D3results" class=ovid_STATE_D34"> )ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         if (!s"n>	
  a code=onresults" class=on4"> )  9 /a>"                 s"n>	
  a code=">ac_bus_set_powerresults" class=">ac_bus_set_power4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , s"n>	
  a code=ovid_STATE_D3results" class=ovid_STATE_D34"> )ef">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"   9 /a>"   8 /a> spao class="co/*ment"> * /spaon>   1 /a> spao class="co m is/_">ac_init_port - initializf the ovid clak uppoan IDE interfacent"> */ /spaon>   2 /a> spao class="comme@hwif: target IDE interface (channel)ent"> * /spaon>   3 /a> spao class="comm4"t"> * /spaon>   4 /a> spao class="commeTeeeovid spec is not quitea> ear when the  href ids="ify buffer4"t"> * /spaon>   5 /a> spao class="comm should be obtalasd. Calling IDENTIFY DEVICE during shutdown4"t"> * /spaon>   6 /a> spao class="commeis not the bes" of idsas ss the  href migh" "lready being put to4"t"> * /spaon>   7 /a> spao class="comm sleep. And obviously we can't calleit during resume/ent"> * /spaon>   8 /a> spao class="comm So we getothe inuppmatorm=during startup; but sear means thatent"> * /spaon>   7 /a> spao class="comm any changes during run-time willebe los" "fter resume/ent"> * /spaon>   8 /a> spao class="comment"> */ /spaon> void s"n>	
  a code=is/_">ac_init_portresults" class=is/_">ac_init_port4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4">  = s"n>	
  a code=kzallocresults" class=kzalloc4"> (sizeof(strux fs"n>	
  a code=is/_">ac_hwif_clakresults" class=is/_">ac_hwif_clak4"> ), s"n>	
  a code=GFP_KERNELresults" class=GFP_KERNEL4"> )ef">linux/dmi.h06Agt;"         if (!s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> )  9 /a>"                 ubmit=ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4">  = s"n>	
  a code=is/_">ac_hwif_get_handleresults" class=is/_">ac_hwif_get_handle4"> (s"n>	
  a code=hwifresults" class=hwif4"> )ef">linux/dmi.h06Agt;"         if (!s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> ) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"noeovid object uppo%s upund\n"nt"> */, s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code="linresults" class="lin4"> )ef">linux/dmi.h06Agt;"                 s"n>	
  a code=kfreeresults" class=kfree4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> )ef">linux/dmi.h06Agt;"                 s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4">  = s"n>	
  a code=NULLresults" class=NULL4"> 0f">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;" void s"n>	
  a code=is/_">ac_port_init_devicesresults" class=is/_">ac_port_init_devices4"> (s"n>	
  a code=is/_hwif_tresults" class=rs/_hwif_t4">  *s"n>	
  a code=hwifresults" class=hwif4"> )  9 /a>" {  9 /a>"         s"n>	
  a code=is/_ href_tresults" class=rs/_ href_t4">  *s"n>	
  a code= hrefresults" class=dhref4"> ef">linux/dmi.h06Agt;"         int s"n>	
  a code=iresults" class=r4"> , s"n>	
  a code=errresults" class=err4"> ef">linux/dmi.h06Agt;"   9 /a>"         if (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4">  == s"n>	
  a code=NULLresults" class=NULL4"> )  9 /a>"                 ubmit=ef">linux/dmi.h06Agt;" >"         s 8 /a> spao class="co/*nt"> */ /spaon>   4 /a> spao class="commmmmmmmmmeTeeeovid spec mandates that we send inuppmatormnt"> */ /spaon>   5 /a> spao class="commmmmmmmmmeuppoboth mi.h0s, ubgardless whethepothey are connectednt"> */ /spaon>   6 /a> spao class="commmmmmmmmmeppono"/ent"> * /spaon>   7 /a> spao class="commmmmmmmmment"> */ /spaon>         s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=devicesresults" class=devices4"> [0]-"fres"n>	
  a code=de/idataresults" class=de/idata4">  = &s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=masterresults" class=master4"> 0>"         s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=devicesresults" class=devices4"> [1]-"fres"n>	
  a code=de/idataresults" class=de/idata4">  = &s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=slaefresults" class=slaef4"> 0>"   9 /a>"         s 8 /a> spao class="co/* geto_ADR inupeuppoeach devicemment"> */ /spaon>         s"n>	
  a code=is/_port_upp_each_press="_devresults" class=rs/_port_upp_each_press="_dev4"> (s"n>	
  a code=iresults" class=r4"> , s"n>	
  a code=dhrefresults" class=dhref4"> , s"n>	
  a code=hwifresults" class=hwif4"> ) {  9 /a>"                 s"n>	
  a code=">ac_handleresults" class=">ac_handle4">  s"n>	
  a code=dev_handleresults" class=dev_handle4"> 0>" f">linux/dmi.h06Agt;"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ENTER:o%s at channel#: %d port#: %d\n"nt"> */,f">linux/dmi.h06Agt;"                          s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> , s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=channelresults" class=channel4"> , s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=dnresults" class=dn4">  & 1)ef">linux/dmi.h06Agt;"   9 /a>"                 s 8 /a> spao class="co/* TBD: could also checkeovid object VALID bitsmment"> */ /spaon>                 s"n>	
  a code=dev_handleresults" class=dev_handle4">  = s"n>	
  a code=">ac_get_childresults" class=">ac_get_child4"> (s"n>	
  a code=hwifresults" class=hwif4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4"> , /spaon>                                             s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=dnresults" class=dn4">  & 1)ef">linux/dmi.h06Agt;" >"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">" href %s handle 0x%p\n"nt"> */, s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> , s"n>	
  a code=dev_handleresults" class=dev_handle4"> )ef">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"                 s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=obj_handleresults" class=obj_handle4">  = s"n>	
  a code=dev_handleresults" class=dev_handle4"> 0>"         }f">linux/dmi.h06Agt;"   9 /a>"         s 8 /a> spao class="co/* send IDENTIFY uppoeach devicemment"> */ /spaon>         s"n>	
  a code=is/_port_upp_each_press="_devresults" class=rs/_port_upp_each_press="_dev4"> (s"n>	
  a code=iresults" class=r4"> , s"n>	
  a code=dhrefresults" class=dhref4"> , s"n>	
  a code=hwifresults" class=hwif4"> ) {  9 /a>"                 s"n>	
  a code=errresults" class=err4">  = s"n>	
  a code=taskfilf_clb_get_ids="ifyresults" class=taskfilf_clb_get_ids="ify4"> (s"n>	
  a code=dhrefresults" class=dhref4"> , s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code=de/idataresults" class=de/idata4"> -"fres"n>	
  a code=idbuffresults" class=isbuff4"> )ef">linux/dmi.h06Agt;"                 if (s"n>	
  a code=errresults" class=err4"> )  9 /a>"                         s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ids="ify devicem%s uailed (%d)\n"nt"> */,  9 /a>"                                  s"n>	
  a code=dhrefresults" class=dhref4"> -"fres"n>	
  a code="linresults" class="lin4"> , s"n>	
  a code=errresults" class=err4"> )ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;" f">linux/dmi.h06Agt;"         if (s"n>	
  a code=rs/_no">acresults" class=rs/_no">ac4">  || s"n>	
  a code=is/_">aconbootresults" class=is/_">aconboot4">  == 0) {  9 /a>"                 s"n>	
  a code=DEBPRINTresults" class=DEBPRINT4"> (s 8 /a> spao string">"ovid jax+*"s disabled on boot\n"nt"> */)ef">linux/dmi.h06Agt;"                 ubmit=ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;"   9 /a>"         s 8 /a> spao class="co/* ovid _PS0 beuppeo_STM ment"> */ /spaon>         s"n>	
  a code=is/_">ac_set_st".eresults" class=is/_">ac_set_st".e4"> (s"n>	
  a code=hwifresults" class=hwif4"> , 1)ef">linux/dmi.h06Agt;"         s 8 /a> spao class="co/*nt"> */ /spaon>   3 /a> spao class="commmmmmmmm* ovid ubquires us to=calle_STM on startupnt"> */ /spaon>	
  a code="l,1ide=L6" class="line" 49amue4969"> }f">lsdataresults" class=de/idata4"> -"fr5ers/ide/ide-a45534.c#L1069" ide=L5" class="line"6505mu60854">         s"n>	
  a code=is/_">ac_get_timingresults" class=is/_">ac_get_timine4"> (s"n>	
  a code=hwifresults" class=hwif4">1)ef">linux/dmi.h06Agt;"         s"n>	
  a code=is/_">ac_push_timingresults" class=is/_">ac_push_timing4"> (s"n>	
  a code=hwifresults" class=hwif4">1)ef">linux/dmi.h06Agt;"   9 /a>"         s"n>	
  a code=is/_port_upp_each_press="_devresults" class=rs/_port_upp_each_press="_dev4"> (s"n>	
  a code=iresults" class=r4"> , s"n>	
  a code=dhrefresults" class=dhref4"> , s"n>	
  a code=hwifresults" class=hwif4"> ) {  9 /a>"                 s"n>	
  a code=is/_">ac=exe_tfesresults" class=is/_">ac=exe_tfey4"> (s"n>	
  a code=dhrefresults" class=dhref4">1)ef">linux/dmi.h06Agt;"         }f">linux/dmi.h06Agt;" }f">linux/dmi.h06Agt;"
eTeeoriginal LXR softw arebytothef">linux/http://sourcbeupge.net/_pobjecs/lxr">LXR 969"unityf4"> , searexperi"> }al .h06tormbytf">linux/muaito:lxr@ clux.no">lxr@ clux.nof4">. lxr. clux.no kindly hostledbytf">linux/http://www.redpill- cl_po.no">Redpill Lcl_po ASf4"> ,_pov