linux/kernel/resource.c
<<
>>
Prefs
   1/*
   2 *      linux/kernel/resource.c
   3 *
   4 * Copyright (C) 1999   Linus Torvalds
   5 * Copyright (C) 1999   Martin Mares <mj@ucw.cz>
   6 *
   7 * Arbitrary resource management.
   8 */
   9
  
  #i=oce.c#L10" id="L44z>el/resourid="L44/kerne/module.h" name="Lfeso">kerne/module.hL10"a hrnel/resource.c#L10" id="L10" cass="linee" name="L1">   1kerne/errno.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L2">   2kerne/ioport.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L3">   3kerne/init.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L4">   4kerne/slab.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L5">   5kerne/spinlock.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L6">   6kerne/fs.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L7">   7kerne/proc_fs.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L8">   8kerne/sched.hL10"a hrnel/resource.c#L10" id="L10" cass="lin1e" name="L9">   9
<1a hre19L10" id="L44z>el/resourid="L44/kerne/seq_">kerne/seq_">  
  #2=oce.2#L10" id="L44z>el/resourid="L44/kerne/devicp.h" name="Lfeso">kerne/devicp.hL10"a hrnel/resource.c#L10" id="L10" 2ass="lin2e" name="L1">   1kerne/pfn.hL10"a hrnel/resource.c#L10" id="L10" 2ass="linee" name="L2">   2   3   4   50" id="LL10"efs?return=code=ioport_0" id="Lch_resultseso">ioport_0" id="LL10"e= {nel/resource.c#L10" id="L10" 2ass="lin2e" name="L6">   66 */"PCI IO"ef="ker,nel/resource.c#L10" id="L10" 2ass="lin2e" name="L7">   7stlt;L10"  = 0,nel/resource.c#L10" id="L10" 2ass="lin2e" name="L8">   8endL10"    =efs?return=code=IO_SPACE_LIMITch_resultseso">IO_SPACE_LIMITL10",nel/resource.c#L10" id="L10" 2ass="lin2e" name="L9">   9
<2a hre29L10"        .fs?return=code=flagsch_resultseso">flagsL10"  = fs?return=code=IORESOURCE_IOch_resultseso">IORESOURCE_IOL10",nel/resource.c#L10" id="L10" 3lass="li3e" name="L10">  
  #3=oce.3#L10"}rnel/resource.c#L10" id="L10" 3ass="lin3e" name="L1">   1EXPORT_SYMBOLss="(fs?return=code=ioport_0" id="Lch_resultseso">ioport_0" id="LL10")rnel/resource.c#L10" id="L10" 3ass="lin3e" name="L2">   2   30" id="LL10"efs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10"e= {nel/resource.c#L10" id="L10" 3ass="lin3e" name="L4">   46 */"PCI mem"ef="ker,nel/resource.c#L10" id="L10" 3ass="lin3e" name="L5">   5stlt;L10"  = 0,nel/resource.c#L10" id="L10" 3ass="lin3e" name="L6">   6endL10"    =e-1,nel/resource.c#L10" id="L10" 3ass="lin3e" name="L7">   7flagsL10"  = fs?return=code=IORESOURCE_MEMch_resultseso">IORESOURCE_MEML10",nel/resource.c#L10" id="L10" 3ass="lin3e" name="L8">   8   9
<3a hre39ss="cs?return=code=EXPORT_SYMBOLch_resultseso">EXPORT_SYMBOLss="(fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10")rnel/resource.c#L10" id="L10" 4lass="li4e" name="L10">  
  #4=oce.40"kernel/resource.c#L10" id="L10" 4ass="lin4e" name="L1">   1/*

20" id="L_constraintL10" {nel/resource.c#L10" id="L10" 4ass="lin4e" name="L3"> 30" id="L_size_tL10"efs?return=code=minch_resultseso">minL10",efs?return=code=maxch_resultseso">maxL10",efs?return=code=alignch_resultseso">alignL10"rnel/resource.c#L10" id="L10" 4ass="linee" name="L4"> 40" id="L_size_tL10"e(*fs?return=code=alignfch_resultseso">alignfL10")(void *, const structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*,nel/resource.c#L10" id="L10" 4ass="lin4e" name="L5"> 50" id="L_size_tL10",efs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10")rnel/resource.c#L10" id="L10" 4ass="lin4e" name="L6"> 6alignf_dataL10"rnel/resource.c#L10" id="L10" 4ass="lin4e" name="L7"> 7 8 9 <4a hre49L10"stt.pnefs?return=code=DEFINE_RWLOCKch_resultseso">DEFINE_RWLOCKss="(fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 5lass="li5e" name="L10"> #5=oce.50"kernel/resource.c#L10" id="L10" 5ass="lin5e" name="L1"> 10_narcss="(structefs?return=code=seq_">seq_">mL10",evoid *fs?return=code=vch_resultseso">vL10",efs?return=code=loff_tch_resultseso">loff_tL10"e*fs?return=code=posch_resultseso">posL10")nel/resource.c#L10" id="L10" 5ass="lin5e" name="L2"> 2 30" id="LL10"e*fs?return=code=pch_resultseso">pL10"e= fs?return=code=vch_resultseso">vL10"rnel/resource.c#L10" id="L10" 5ass="lin5e" name="L4"> 4posL10")++rnel/resource.c#L10" id="L10" 5ass="linee" name="L5"> 5pL10"-a hres?return=code=ch>ch> 6 pL10"-a hres?return=code=ch>ch> 7

pL10"-a hres?return=code=sibling"h_resultseso">siblingL10" &&nfs?return=code=pch_resultseso">pL10"-a hres?return=code=parentch_resultseso">parentL10")nel/resource.c#L10" id="L10" 5ass="lin5e" name="L8"> 8pL10"e= fs?return=code=pch_resultseso">pL10"-a hres?return=code=parentch_resultseso">parentL10"rnel/resource.c#L10" id="L10" 5ass="lin5e" name="L9"> 9 <5a hre59L10" "> pL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 6lass="li6e" name="L10"> #6=oce.6#L10"}nel/resource.c#L10" id="L10" 6ass="lin6e" name="L1"> 1 2CONFIG_PROC_FS"kernel/resource.c#L10" id="L10" 6ass="lin6e" name="L3"> 3 4MAX_IORES_LEVELL10"e= 5 }rnel/resource.c#L10" id="L10" 6ass="lin6e" name="L5"> 5 6r_stlt;ss="(structefs?return=code=seq_">seq_">mL10",efs?return=code=loff_tch_resultseso">loff_tL10"e*fs?return=code=posch_resultseso">posL10")nel/resource.c#L10" id="L10" 6ass="lin6e" name="L7"> 7__acqui0" ss="(fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")nel/resource.c#L10" id="L10" 6ass="lin6e" name="L8"> 8 9 <6a hre69L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=pch_resultseso">pL10"e= fs?return=code=mch_resultseso">mL10"-a hres?return=code=privatLch_resultseso">privatLL10"rnel/resource.c#L10" id="L10" 7lass="li7e" name="L10"> #7=oce.70L10" fs?return=code=loff_tch_resultseso">loff_tL10"efs?return=code=lch_resultseso">lL10"e= 0rnel/resource.c#L10" id="L10" 7ass="lin7e" name="L1"> 10"ad_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 7ass="lin7e" name="L2"> 2pL10"e= fs?return=code=pch_resultseso">pL10"-a hres?return=code=ch>ch>pL10"e&&nfs?return=code=lch_resultseso">lL10"e>e*fs?return=code=posch_resultseso">posL10"r fs?return=code=pch_resultseso">pL10"e= fs?return=code=r_narch"_resultseso">0_narcss="(fs?return=code=mch_resultseso">mL10",efs?return=code=pch_resultseso">pL10", &fs?return=code=lch_resultseso">lL10"))nel/resource.c#L10" id="L10" 7ass="lin7e" name="L3"> 3 4 pL10"rnel/resource.c#L10" id="L10" 7ass="lin7e" name="L5"> 5 6 7r_stopss="(structefs?return=code=seq_">seq_">mL10",evoid *fs?return=code=vch_resultseso">vL10")nel/resource.c#L10" id="L10" 7ass="lin7e" name="L8"> 8__releas" ss="(fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")nel/resource.c#L10" id="L10" 7ass="lin7e" name="L9"> 9 <7a hre79L10"{nel/resource.c#L10" id="L10" 8lass="li8e" name="L10"> #8=oce.80L10" fs?return=code=0"ad_unlockch_resultseso">0"ad_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 8ass="lin8e" name="L1"> 1 2 3r_showss="(structefs?return=code=seq_">seq_">mL10",evoid *fs?return=code=vch_resultseso">vL10")nel/resource.c#L10" id="L10" 8ass="lin8e" name="L4"> 4 50" id="LL10"e*fs?return=code=rooch"_resultseso">0oocL10"e= fs?return=code=mch_resultseso">mL10"-a hres?return=code=privatLch_resultseso">privatLL10"rnel/resource.c#L10" id="L10" 8ass="lin8e" name="L6"> 60" id="LL10"e*fs?return=code=rch_resultseso">0L10"e= fs?return=code=vch_resultseso">vL10",e*fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 8ass="lin8e" name="L7"> 7widthL10"e= fs?return=code=rooch"_resultseso">0oocL10"-a hres?return=code=endch_resultseso">endL10" >e0x10000 ? 4 : 8rnel/resource.c#L10" id="L10" 8ass="linee" name="L8"> 8depthL10"rnel/resource.c#L10" id="L10" 8ass="lin8e" name="L9"> 9 <8a hre8="kernel/resource.c#L10" id="L10" 9lass="li9e" name="L10"> #9=oce.90L10" for (fs?return=code=depthch_resultseso">depthL10" = 0, fs?return=code=pch_resultseso">pL10"e= fs?return=code=rch_resultseso">0L10"r fs?return=code=depthch_resultseso">depthL10" >efs?return=code=MAX_IORES_LEVELch_resultseso">MAX_IORES_LEVELL10"r fs?return=code=depthch_resultseso">depthL10"++, fs?return=code=pch_resultseso">pL10"e= fs?return=code=pch_resultseso">pL10"-a hres?return=code=parentch_resultseso">parentL10")nel/resource.c#L10" id="L10" 9ass="lin9e" name="L1"> 1pL10"-a hres?return=code=parentch_resultseso">parentL10" == fs?return=code=rooch"_resultseso">0oocL10")nel/resource.c#L10" id="L10" 9ass="lin9e" name="L2"> 2 3seq_printfss="(fs?return=code=mch_resultseso">mL10",efomment"> */"%*s%0*llx-%0*llx : %s\n"ef="ker,nel/resource.c#L10" id="L10" 9ass="lin9e" name="L4"> 4depthL10" * 2,efomment"> */""ef="ker,nel/resource.c#L10" id="L10" 9ass="lin9e" name="L5"> 5widthL10", (unsigned long long) fs?return=code=rch_resultseso">0L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L10" id="L10" 9ass="lin9e" name="L6"> 6widthL10", (unsigned long long) fs?return=code=rch_resultseso">0L10"-a hres?return=code=endch_resultseso">endL10",nel/resource.c#L10" id="L10" 9ass="lin9e" name="L7"> 70L10"-a hres?return=code=660L10"-a hres?return=code=66 */">BAD> 8 9 #i==ocei=="kernel/resource.c#L10" id="L10" 10ass="line0e" name="L1"> 1seq_opera met L10"efs?return=code=0" id="L_opch_resultseso">r" id="L_opL10"e= {nel/resource.c#L10" id="L10" 10ass="lin10e" name="L2"> 2stlt;L10" = fs?return=code=r_stlt;ch_resultseso">r_stlt;ss=",nel/resource.c#L10" id="L10" 10ass="lin10e" name="L3"> 3narcss=" = fs?return=code=r_narch"_resultseso">0_narcss=",nel/resource.c#L10" id="L10" 10ass="lin10e" name="L4"> 4stopss=" = fs?return=code=r_stopch_resultseso">r_stopss=",nel/resource.c#L10" id="L10" 105ss="lin10e" name="L5"> 5showss=" = fs?return=code=r_showch_resultseso">r_showss=",nel/resource.c#L10" id="L10" 10ass="lin10e" name="L6"> 6 7 8ioports_openss="(structefs?return=code=inodech_resultseso">inodeL10"e*fs?return=code=inodech_resultseso">inodeL10", structefs?return=code=">">"> 9 <109"cei=9L10"{nel/resource.c#L10" id="L10" 1class="linne" name="L10"> #ii=oce110L10" intefs?return=code=0" ch_resultseso">0" ss=" = fs?return=code=seq_opench_resultseso">seq_openss="(fs?return=code=">">r" id="L_opL10")rnel/resource.c#L10" id="L10" 1cass="lineee" name="L1"> 10" ss=") {nel/resource.c#L10" id="L10" 1cass="lin11e" name="L2"> 2seq_">mL10" = fs?return=code=">">privatL_dataL10"rnel/resource.c#L10" id="L10" 1cass="lin11e" name="L3"> 3mL10"-a hres?return=code=privatLch_resultseso">privatLL10" = &fs?return=code=ioport_0" id="Lch_resultseso">ioport_0" id="LL10"rnel/resource.c#L10" id="L10" 1cass="lin11e" name="L4"> 4 5 0" ss="rnel/resource.c#L10" id="L10" 1cass="lin11e" name="L6"> 6 7 8iomem_openss="(structefs?return=code=inodech_resultseso">inodeL10"e*fs?return=code=inodech_resultseso">inodeL10", structefs?return=code=">">"> 9 <11a hr119L10"{nel/resource.c#L10" id="L10" 12lass="li12e" name="L10"> #12=oce120L10" intefs?return=code=0" ch_resultseso">0" ss=" = fs?return=code=seq_opench_resultseso">seq_openss="(fs?return=code=">">r" id="L_opL10")rnel/resource.c#L10" id="L10" 12ass="lin12e" name="L1"> 10" ss=") {nel/resource.c#L10" id="L10" 12ass="lin1ee" name="L2"> 2seq_">mL10" = fs?return=code=">">privatL_dataL10"rnel/resource.c#L10" id="L10" 12ass="lin12e" name="L3"> 3mL10"-a hres?return=code=privatLch_resultseso">privatLL10" = &fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10"rnel/resource.c#L10" id="L10" 12ass="lin12e" name="L4"> 4 5 0" ss="rnel/resource.c#L10" id="L10" 12ass="lin12e" name="L6"> 6 7 8">proc_ioports_opera met L10"e= {nel/resource.c#L10" id="L10" 12ass="lin12e" name="L9"> 9 <12a hr129L10" .fs?return=code=opench_resultseso">openss=" = fs?return=code=ioports_opench_resultseso">ioports_openss=",nel/resource.c#L10" id="L10" 13lass="li13e" name="L10"> #13=oce130L10" .fs?return=code=0"adch_resultseso">0"adss=" = fs?return=code=seq_0"adch_resultseso">seq_0"adss=",nel/resource.c#L10" id="L10" 13ass="lin13e" name="L1"> 1llseekss=" = fs?return=code=seq_lseekch_resultseso">seq_lseekss=",nel/resource.c#L10" id="L10" 13ass="lin13e" name="L2"> 20"leas"L10" = fs?return=code=seq_0"leas"ch_resultseso">seq_0"leas"ss=",nel/resource.c#L10" id="L10" 13ass="lin1ee" name="L3"> 3 4 5">proc_iomem_opera met L10"e= {nel/resource.c#L10" id="L10" 13ass="lin13e" name="L6"> 6openss=" = fs?return=code=iomem_opench_resultseso">iomem_openss=",nel/resource.c#L10" id="L10" 13ass="lin13e" name="L7"> 70"adss=" = fs?return=code=seq_0"adch_resultseso">seq_0"adss=",nel/resource.c#L10" id="L10" 13ass="lin13e" name="L8"> 8llseekss=" = fs?return=code=seq_lseekch_resultseso">seq_lseekss=",nel/resource.c#L10" id="L10" 13ass="lin13e" name="L9"> 9 <13a hr139L10" .fs?return=code=releas"ch_resultseso">0"leas"L10" = fs?return=code=seq_0"leas"ch_resultseso">seq_0"leas"ss=",nel/resource.c#L10" id="L10" 14lass="li14e" name="L10"> #14=oce14#L10"}rnel/resource.c#L10" id="L10" 14ass="lin14e" name="L1"> 1 2__initL10"efs?return=code=io0" id="Ls_initch_resultseso">io0" id="Ls_initss="(void)nel/resource.c#L10" id="L10" 14ass="lin14e" name="L3"> 3 4proc_c0"atLss="(fomment"> */"ioports"ef="ker, 0, fs?return=code=NULLch_resultseso">NULLL10", &fs?return=code=proc_ioports_opera met ch_resultseso">proc_ioports_opera met L10")rnel/resource.c#L10" id="L10" 14ass="lin14e" name="L5"> 5proc_c0"atLss="(fomment"> */"iomem"ef="ker, 0, fs?return=code=NULLch_resultseso">NULLL10", &fs?return=code=proc_iomem_opera met ch_resultseso">proc_iomem_opera met L10")rnel/resource.c#L10" id="L10" 14ass="lin14e" name="L6"> 6 7 8__initcallss="(fs?return=code=io0" id="Ls_initch_resultseso">io0" id="Ls_initss=")rnel/resource.c#L10" id="L10" 14ass="lin14e" name="L9"> 9 <14a hr14="kernel/resource.c#L10" id="L10" c5lass="li15e" name="L10"> #15=oce150"ker#endif comment">/* 1 2 * linuxhr R> quest it href="kernel/resource.c#L9" id="L9" cl15ass="lin15e" name="L3"> 30" id="LL10"e* fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=rooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 15ass="lin15e" name="L4"> 4 50" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=newch_resultseso">newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" caass="lin15e" name="L6"> 60" id="L_size_tL10"efs?return=code=endch_resultseso">endL10" = fs?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" caass="lin15e" name="L7"> 70" id="LL10"e*fs?return=code=tmpch_resultseso">tmpL10", **fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 15ass="lin15e" name="L8"> 8 9 <15a hr159L10" if (fs?return=code=endch_resultseso">endL10" >ees?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 16lass="li16e" name="L10"> #16=oce160L10" "> 0oocL10"rnel/resource.c#L10" id="L10" caass="lin16e" name="L1"> 1stlt;L10" >ees?return=code=rooch"_resultseso">0oocL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 16ass="lin16e" name="L2"> 2 0oocL10"rnel/resource.c#L10" id="L10" caass="lin16e" name="L3"> 3endL10" >ees?return=code=rooch"_resultseso">0oocL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 16ass="lin16e" name="L4"> 4 0oocL10"rnel/resource.c#L10" id="L10" caass="lin16e" name="L5"> 5pL10" = &fs?return=code=rooch"_resultseso">0oocL10"-a hres?return=code=ch>ch> 6 7tmpL10" = *fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 16ass="lin16e" name="L8"> 8tmpL10" || fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=endch_resultseso">endL10") {nel/resource.c#L10" id="L10" 16ass="lin16e" name="L9"> 9 <16a hr169L10" fs?return=code=newch_resultseso">newL10"-a hres?return=code=sibling"h_resultseso">siblingL10" = fs?return=code=tmpch_resultseso">tmpL10"rnel/resource.c#L10" id="L10" calass="li17e" name="L10"> #17=oce170L10" *fs?return=code=pch_resultseso">pL10"e= fs?return=code=newch_resultseso">newL10"rnel/resource.c#L10" id="L10" caass="lin17e" name="L1"> 1newL10"-a hres?return=code=parentch_resultseso">parentL10" =nfs?return=code=rooch"_resultseso">0oocL10"rnel/resource.c#L10" id="L10" c7ass="lin17e" name="L2"> 2 NULLL10"rnel/resource.c#L10" id="L10" c7ass="lin17e" name="L3"> 3 4pL10" = &fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 17ass="lin17e" name="L5"> 5tmpL10"-a hres?return=code=endch_resultseso">endL10" >ees?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 17ass="lin17e" name="L6"> 6 7 tmpL10"rnel/resource.c#L10" id="L10" caass="lin17e" name="L8"> 8 9 <17a hr179L10"}nel/resource.c#L10" id="L10" 18lass="li18e" name="L10"> #18=oce18="kernel/resource.c#L10" id="L10" 18ass="lin18e" name="L1"> 1__releas"_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=oo 2 30" id="LL10"e*fs?return=code=tmpch_resultseso">tmpL10", **fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 18ass="lin18e" name="L4"> 4 5pL10" = &fs?return=code=ooparentL10"-a hres?return=code=ch>ch> 6 7tmpL10" = *fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 18ass="lin1ee" name="L8"> 8tmpL10")nel/resource.c#L10" id="L10" 18ass="lin18e" name="L9"> 9 <18a hr189L10" b0"akrnel/resource.c#L10" id="L10" 19lass="li19e" name="L10"> #19=oce190L10" if (fs?return=code=tmpch_resultseso">tmpL10" == fs?return=code=oo 1pL10"e= fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 19ass="lin19e" name="L2"> 2oparentL10"e= fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" c9ass="lin19e" name="L3"> 3 4 5pL10" = &fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 19ass="lin19e" name="L6"> 6 7 EINVALL10"rnel/resource.c#L10" id="L10" 19ass="lin19e" name="L8"> 8 9 <1aa hr19="kernel/resource.c#L10" id="L10" 200ass="li2ee" name="L10"> #2==oce2=="kerstt.pnevoid fs?return=code=__releas"_ch>__releas"_ch>0" id="LL10"e*fs?return=code=rch_resultseso">0L10")nel/resource.c#L10" id="L10" 20ass="lin20e" name="L1"> 1 20" id="LL10"e*fs?return=code=tmpch_resultseso">tmpL10", *fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 20ass="lin20e" name="L3"> 30" id="L_size_tL10"efs?return=code=size"h_resultseso">sizLL10"rnel/resource.c#L10" id="L10" 20ass="lin20e" name="L4"> 4 5pL10" = fs?return=code=rch_resultseso">0L10"-a hres?return=code=ch>ch> 60L10"-a hres?return=code=ch>ch>NULLL10"rnel/resource.c#L10" id="L10" 20ass="lin20e" name="L7"> 7

pL10") {nel/resource.c#L10" id="L10" 20ass="lin20e" name="L8"> 8tmpL10" = fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 20ass="lin20e" name="L9"> 9 <209"ce209L10" fs?return=code=pch_resultseso">pL10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 2class="li2ne" name="L10"> #2i=oce21="kernel/resource.c#L10" id="L10" 2cass="lin2ee" name="L1"> 1tmpL10"-a hres?return=code=parentch_resultseso">parentL10"e= fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L2"> 2tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10"e= fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L3"> 3__releas"_ch>tmpL10")rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L4"> 4 5printkss="(fs?return=code=KERN_DEBUGch_resultseso">KERN_DEBUGL10"efomment"> */"releas" ch>tmpL10")rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L6"> 6 * linuxhr need to 0" tore sizL, and keep flags href="kernel/resource.c#L9" id="L9" cl2cass="lin21e" name="L7"> 7sizLL10" = fs?return=code=r" id="L_sizech_resultseso">0" id="L_sizess="(fs?return=code=tmpch_resultseso">tmpL10")rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L8"> 8tmpL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = 0rnel/resource.c#L10" id="L10" 2cass="lin21e" name="L9"> 9 <21a hr219L10" fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=size"h_resultseso">sizLL10" - 1rnel/resource.c#L10" id="L10" 22lass="li22e" name="L10"> #22=oce220L10" }nel/resource.c#L10" id="L10" 22ass="lin22e" name="L1"> 1 2 3releas"_ch>0" id="LL10"e*fs?return=code=rch_resultseso">0L10")nel/resource.c#L10" id="L10" 22ass="lin22e" name="L4"> 4 5writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 22ass="lin22e" name="L6"> 6__releas"_ch>0L10")rnel/resource.c#L10" id="L10" 22ass="lin22e" name="L7"> 7writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 22ass="lin22e" name="L8"> 8 9 <22a hr22="kernel/resource.c#L10" id="L10" 23lass="li23e" name="L10"> #23=oce230L10"comment"> * linuxhr*ef="kernel/resource.c#L9" id="L9" cl23ass="lin23e" name="L1"> 1 * linux * request_0" id="L_conflicte- ">quest and 0" erve an I/O or memory 0" id="LL1="kernel/resource.c#L9" id="L9" cl23ass="lin23e" name="L2"> 2 * linux * @0ooc: 0oocagement.< descriptorL1="kernel/resource.c#L9" id="L9" cl23ass="lin2ee" name="L3"> 3 * linux * @new:agement.< descriptor desired by callerL1="kernel/resource.c#L9" id="L9" cl23ass="lin23e" name="L4"> 4 * linux *L1="kernel/resource.c#L9" id="L9" cl23ass="lin23e" name="L5"> 5 * linux * R> 6 * linux *ref="kernel/resource.c#L9" id="L9" cl23ass="lin23e" name="L7"> 70" id="LL10"e*fs?return=code=request_0" id="L_conflictch_resultseso">0"quest_0" id="L_conflictss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=rooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 23ass="lin23e" name="L8"> 8 9 <23a hr239L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=conflictch_resultseso">conflictss="rnel/resource.c#L10" id="L10" 24lass="li24e" name="L10"> #24=oce24="kernel/resource.c#L10" id="L10" 24ass="lin24e" name="L1"> 1writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 24ass="lin24e" name="L2"> 2conflictss=" = fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=rooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 24ass="lin24e" name="L3"> 3writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 24ass="lin2ee" name="L4"> 4 conflictss="rnel/resource.c#L10" id="L10" 24ass="lin24e" name="L5"> 5 6 7 * linuxhr*ef="kernel/resource.c#L9" id="L9" cl24ass="lin24e" name="L8"> 8 * linux * request_0" id="Le- ">quest and 0" erve an I/O or memory 0" id="LL1="kernel/resource.c#L9" id="L9" cl24ass="lin24e" name="L9"> 9 <24a hr24="kercomment"> * linux * @0ooc: 0oocagement.< descriptorL1="kernel/resource.c#L9" id="L9" cl25lass="li25e" name="L10"> #25=oce250L10"comment"> * linux * @new:agement.< descriptor desired by callerL1="kernel/resource.c#L9" id="L9" cl25ass="lin25e" name="L1"> 1 * linux *L1="kernel/resource.c#L9" id="L9" cl25ass="lin25e" name="L2"> 2 * linux * R> 3 * linux *ref="kernel/resource.c#L9" id="L9" cl25ass="lin25e" name="L4"> 4request_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=rooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 25ass="lin2ee" name="L5"> 5 60" id="LL10"e*fs?return=code=conflictch_resultseso">conflictss="rnel/resource.c#L10" id="L10" 2aass="lin25e" name="L7"> 7 8conflictss=" = fs?return=code=request_0" id="L_conflictch_resultseso">0"quest_0" id="L_conflictss="(fs?return=code=rooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 25ass="lin25e" name="L9"> 9 <25a hr259L10" "> conflictss=" ?n-es?return=code=EBUSYch_resultseso">EBUSYss=" : 0rnel/resource.c#L10" id="L10" 26lass="li26e" name="L10"> #26=oce260L10"}nel/resource.c#L10" id="L10" 2aass="lin26e" name="L1"> 1 2EXPORT_SYMBOLss="(fs?return=code=r"quest_0" id="Lch_resultseso">request_0" id="Lss=")rnel/resource.c#L10" id="L10" 2aass="lin26e" name="L3"> 3 4 * linuxhr*ef="kernel/resource.c#L9" id="L9" cl2aass="lin26e" name="L5"> 5 * linux * releas"_0" id="Le- ">leas" a previously 0" erved 0" id="LL1="kernel/resource.c#L9" id="L9" cl26ass="lin2ee" name="L6"> 6 * linux * @old:agement.< pointerL1="kernel/resource.c#L9" id="L9" cl26ass="lin26e" name="L7"> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl26ass="lin26e" name="L8"> 8releas"_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=oo 9 <26a hr269L10"{nel/resource.c#L10" id="L10" 2alass="li27e" name="L10"> #27=oce270L10" intefs?return=code=0"tvalch_resultseso">0"tvalss="rnel/resource.c#L10" id="L10" 2aass="lin27e" name="L1"> 1 2writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 27ass="lin27e" name="L3"> 30"tvalss=" = fs?return=code=__releas"_0" id="Lch_resultseso">__releas"_0" id="Lss="(fs?return=code=oo 4writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 27ass="lin27e" name="L5"> 5 0"tvalss="rnel/resource.c#L10" id="L10" 2aass="lin27e" name="L6"> 6 7 8EXPORT_SYMBOLss="(fs?return=code=r"leas"_0" id="Lch_resultseso">releas"_0" id="Lss=")rnel/resource.c#L10" id="L10" 27ass="lin27e" name="L9"> 9 <27a hr27="kernel/resource.c#L10" id="L10" 28lass="li28e" name="L10"> #28=oce28="ker#if !fs?return=code=def0">dch_resultseso">def0">dss="(fs?return=code=CONFIG_ARCH_HAS_WALK_MEMORYch_resultseso">CONFIG_ARCH_HAS_WALK_MEMORYL10")nel/resource.c#L10" id="L10" 28ass="lin28e" name="L1"> 1 * linux/*ef="kernel/resource.c#L9" id="L9" cl28ass="lin28e" name="L2"> 2 * linux * Findsntheelowest memory 0"osnt.< exists within [" i-a hrstlt;." i-a hrend)ef="kernel/resource.c#L9" id="L9" cl28ass="lin28e" name="L3"> 3 * linux * theecaller must specify 0" -a hrstlt;, " i-a hrend, " i-a hrflags and "3 4 * linux * If found, " 5 * linux *ref="kernel/resource.c#L9" id="L9" cl28ass="lin28e" name="L6"> 6f0"d_narc_system_0amss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=r" ch_resultseso">0" ss=", chare*fs?return=code=na/ach_resultseso">6 7 80" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 28ass="lin28e" name="L9"> 9 <28a hr289L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=pch_resultseso">pL10"rnel/resource.c#L10" id="L10" 29lass="li29e" name="L10"> #29=oce29="kernel/resource.c#L10" id="L10" 29ass="lin29e" name="L1"> 1BUG_ONss="(!fs?return=code=0" ch_resultseso">0" ss=")rnel/resource.c#L10" id="L10" 29ass="lin29e" name="L2"> 2 3stlt;L10" = fs?return=code=0" ch_resultseso">0" ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 29ass="lin29e" name="L4"> 4endL10" = fs?return=code=0" ch_resultseso">0" ss="-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 29ass="lin29e" name="L5"> 5BUG_ONss="(fs?return=code=stlt;ch_resultseso">stlt;L10" a hr= fs?return=code=endch_resultseso">endL10")rnel/resource.c#L10" id="L10" 29ass="lin29e" name="L6"> 6 70"ad_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 29ass="lin29e" name="L8"> 8pL10" = fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10".fs?return=code=ch>ch>pL10" r fs?return=code=pch_resultseso">pL10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=sibling"h_resultseso">siblingL10") {nel/resource.c#L10" id="L10" 29ass="lin2ee" name="L9"> 9 <2aa hr299L10" fomment"> * linuxhr system 0am is just marked as IORESOURCE_MEM *ref="kernel/resource.c#L9" id="L9" cl300ass="li3ee" name="L10"> #3==oce300L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=flagsch_resultseso">flagsL10" != fs?return=code=0" ch_resultseso">0" ss="-a hres?return=code=flagsch_resultseso">flagsL10")nel/resource.c#L10" id="L10" 30ass="lin30e" name="L1"> 1 26strcmpss="(fs?return=code=pch_resultseso">pL10"-a hres?return=code=na/ach_resultseso">66 3 4pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=endch_resultseso">endL10") {nel/resource.c#L10" id="L10" 305ss="lin30e" name="L5"> 5pL10" = fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" 30ass="lin30e" name="L6"> 6 7 8pL10"-a hres?return=code=endch_resultseso">endL10" >= fs?return=code=stlt;ch_resultseso">stlt;L10") && (fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 309ss="lin30e" name="L9"> 9 <309"ce309L10" b0"akrnel/resource.c#L10" id="L10" 3class="li3ne" name="L10"> #3i=oce310L10" }nel/resource.c#L10" id="L10" 3cass="lin3ee" name="L1"> 10"ad_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 3cass="lin31e" name="L2"> 2pL10")nel/resource.c#L10" id="L10" 3c3ss="lin31e" name="L3"> 3 4 * linuxhr copy data *ref="kernel/resource.c#L9" id="L9" cl3cass="lin31e" name="L5"> 50" ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 3cass="lin31e" name="L6"> 60" ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 3cass="lin31e" name="L7"> 70" ss="-a hres?return=code=endch_resultseso">endL10" >ees?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 3cass="lin31e" name="L8"> 80" ss="-a hres?return=code=endch_resultseso">endL10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 3cass="lin31e" name="L9"> 9 <31a hr319L10" "> #32=oce320L10"}nel/resource.c#L10" id="L10" 32ass="lin32e" name="L1"> 1 2 * linuxhref="kernel/resource.c#L9" id="L9" cl32ass="lin32e" name="L3"> 3 * linux * This func metecallsecallback against all memory 0ange of "System RAM"ef="kernel/resource.c#L9" id="L9" cl32ass="lin32e" name="L4"> 4 * linux * which are marked as IORESOURCE_MEM and IORESOUCE_BUSY.L1="kernel/resource.c#L9" id="L9" cl32ass="lin32e" name="L5"> 5 * linux * Now, this func meteis only for "System RAM".L1="kernel/resource.c#L9" id="L9" cl32ass="lin32e" name="L6"> 6 * linux *ref="kernel/resource.c#L9" id="L9" cl32ass="lin32e" name="L7"> 7walk_system_0am_0angess="(unsigned long fs?return=code=stlt;_pfnch_resultseso">stlt;_pfnL10", unsigned long fs?return=code=nr_pag" ch_resultseso">nr_pag" L10",nel/resource.c#L9" id="L9" cl32ass="lin32e" name="L8"> 8argL10", inte(*fs?return=code=funcch_resultseso">funcL10")(unsigned long, unsigned long, void *))nel/resource.c#L10" id="L10" 32ass="lin32e" name="L9"> 9 <32a hr329L10"{nel/resource.c#L10" id="L10" 33lass="li33e" name="L10"> #33=oce330L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"efs?return=code=0" ch_resultseso">0" ss="rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L1"> 1pfnL10", es?return=code=end_pfnch_resultseso">end_pfnss="rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L2"> 2u64L10" fs?return=code=orig_endch_resultseso">orig_endss="rnel/resource.c#L10" id="L10" 33ass="lin3ee" name="L3"> 30";L10" = -1rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L4"> 4 50" ss=".fs?return=code=stlt;ch_resultseso">stlt;L10" = (fs?return=code=u6e" name="Lseso">u64L10") fs?return=code=stlt;_pfnch_resultseso">stlt;_pfnL10" >>ees?return=code=PAGE_SHIFTch_resultseso">PAGE_SHIFTss="rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L6"> 60" ss=".fs?return=code=endch_resultseso">endL10" = ((fs?return=code=u6e" name="Lseso">u64L10")(fs?return=code=stlt;_pfnch_resultseso">stlt;_pfnL10" + fs?return=code=nr_pag" ch_resultseso">nr_pag" L10") >>ees?return=code=PAGE_SHIFTch_resultseso">PAGE_SHIFTss=") - 1rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L7"> 70" ss=".fs?return=code=flagsch_resultseso">flagsL10" = fs?return=code=IORESOURCE_MEMch_resultseso">IORESOURCE_MEML10" | fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYss="rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L8"> 8orig_endss=" = fs?return=code=0" ch_resultseso">0" ss=".fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 33ass="lin33e" name="L9"> 9 <33a hr339L10" wh>

0" ss=".fs?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=r" ch_resultseso">0" ss=".fs?return=code=endch_resultseso">endL10") &&nel/resource.c#L10" id="L10" 34lass="li34e" name="L10"> #34=oce340L10" (fs?return=code=f0"d_narc_system_0amch_resultseso">f0"d_narc_system_0amss="(&fs?return=code=0" ch_resultseso">0" ss=",efomment"> */"System RAM"ef="ker) >= 0)) {nel/resource.c#L10" id="L10" 34ass="lin34e" name="L1"> 1pfnL10" = (fs?return=code=0" ch_resultseso">0" ss=".fs?return=code=stlt;ch_resultseso">stlt;L10" + fs?return=code=PAGE_SIZEch_resultseso">PAGE_SIZEL10" - 1) >>ees?return=code=PAGE_SHIFTch_resultseso">PAGE_SHIFTss="rnel/resource.c#L10" id="L10" 34ass="lin34e" name="L2"> 2end_pfnss=" = (fs?return=code=0" ch_resultseso">0" ss=".fs?return=code=endch_resultseso">endL10" + 1) >>ees?return=code=PAGE_SHIFTch_resultseso">PAGE_SHIFTss="rnel/resource.c#L10" id="L10" 34ass="lin34e" name="L3"> 3end_pfnss=" >ees?return=code=pfnch_resultseso">pfnL10")nel/resource.c#L10" id="L10" 34ass="lin3ee" name="L4"> 40";L10" = (*fs?return=code=funcch_resultseso">funcL10")(fs?return=code=pfnch_resultseso">pfnL10", es?return=code=end_pfnch_resultseso">end_pfnss=" - fs?return=code=pfnch_resultseso">pfnL10", es?return=code=arg"h_resultseso">argL10")rnel/resource.c#L10" id="L10" 34ass="lin34e" name="L5"> 50";L10")nel/resource.c#L10" id="L10" 34ass="lin34e" name="L6"> 6 70" ss=".fs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=0" ch_resultseso">0" ss=".fs?return=code=endch_resultseso">endL10" + 1rnel/resource.c#L10" id="L10" 34ass="lin34e" name="L8"> 80" ss=".fs?return=code=endch_resultseso">endL10" = fs?return=code=orig_endch_resultseso">orig_endss="rnel/resource.c#L10" id="L10" 34ass="lin34e" name="L9"> 9 <34a hr349L10" }nel/resource.c#L10" id="L10" 35lass="li35e" name="L10"> #35=oce350L10" "> 0";L10"rnel/resource.c#L10" id="L10" 35ass="lin35e" name="L1"> 1 2 3 4 5__is_0amss="(unsigned long fs?return=code=pfnch_resultseso">pfnL10", unsigned long fs?return=code=nr_pag" ch_resultseso">nr_pag" L10", void *fs?return=code=arg"h_resultseso">argL10")nel/resource.c#L10" id="L10" 3aass="lin35e" name="L6"> 6 7 8 9 <35a hr35="kercomment"> * linuxhref="kernel/resource.c#L9" id="L9" cl36lass="li36e" name="L10"> #36=oce360L10"comment"> * linux * This generpnepag"_is_0am() " 1 * linux * registered as "System RAM"ein iomem_0" id="L list.L1="kernel/resource.c#L9" id="L9" cl36ass="lin36e" name="L2"> 2 * linux *ref="kernel/resource.c#L9" id="L9" cl3aass="lin36e" name="L3"> 3__w"akL10" fs?return=code=pag"_is_0amch_resultseso">pag"_is_0amss="(unsigned long fs?return=code=pfnch_resultseso">pfnL10")nel/resource.c#L10" id="L10" 3aass="lin36e" name="L4"> 4 5 walk_system_0am_0angess="(fs?return=code=pfnch_resultseso">pfnL10", 1, es?return=code=NULLch_resultseso">NULLL10", es?return=code=__is_0amch_resultseso">__is_0amss=") == 1rnel/resource.c#L10" id="L10" 36ass="lin3ee" name="L6"> 6 7 8__w"akL10" fs?return=code=arch_0"mov"_0" erva met ch_resultseso">arch_0"mov"_0" erva met ss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=availch_resultseso">availL10")nel/resource.c#L10" id="L10" 3aass="lin36e" name="L9"> 9 <36a hr369L10"{nel/resource.c#L10" id="L10" 3alass="li37e" name="L10"> #37=oce370L10"}nel/resource.c#L10" id="L10" 3aass="lin37e" name="L1"> 1 20" id="L_size_tL10"efs?return=code=simple_align_0" id="Lch_resultseso">simple_align_0" id="Lss="(void *fs?return=code=datach_resultseso">dataL10",nel/resource.c#L9" id="L9" cl37ass="lin37e" name="L3"> 30" id="LL10"e*fs?return=code=availch_resultseso">availL10",nel/resource.c#L9" id="L9" cl37ass="lin37e" name="L4"> 40" id="L_size_tL10"efs?return=code=size"h_resultseso">sizLL10",nel/resource.c#L9" id="L9" cl37ass="lin37e" name="L5"> 50" id="L_size_tL10"efs?return=code=alignch_resultseso">alignL10")nel/resource.c#L10" id="L10" 3aass="lin37e" name="L6"> 6 7 availL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 3aass="lin37e" name="L8"> 8 9 <37a hr37="kernel/resource.c#L10" id="L10" 38lass="li38e" name="L10"> #38=oce38="kerstt.pnevoid fs?return=code=0" id="L_clipch_resultseso">0" id="L_clipss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0" ch_resultseso">0" ss=",efs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=minch_resultseso">minL10",nel/resource.c#L9" id="L9" cl38ass="lin38e" name="L1"> 10" id="L_size_tL10"efs?return=code=maxch_resultseso">maxL10")nel/resource.c#L10" id="L10" 38ass="lin38e" name="L2"> 2 30" ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" >ees?return=code=minch_resultseso">minL10")nel/resource.c#L10" id="L10" 38ass="lin38e" name="L4"> 40" ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=minch_resultseso">minL10"rnel/resource.c#L10" id="L10" 38ass="lin38e" name="L5"> 50" ss="-a hres?return=code=endch_resultseso">endL10" >ees?return=code=maxch_resultseso">maxL10")nel/resource.c#L10" id="L10" 38ass="lin38e" name="L6"> 60" ss="-a hres?return=code=endch_resultseso">endL10" = fs?return=code=maxch_resultseso">maxL10"rnel/resource.c#L10" id="L10" 38ass="lin38e" name="L7"> 7 8 9 <38a hr389L10"stt.pnefs?return=code=boolch_resultseso">boolL10"efs?return=code=0" id="L_containsch_resultseso">0" id="L_containsss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0" 1ch_resultseso">0" 1ss=",estructefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0" 2ch_resultseso">0" 2L10")nel/resource.c#L10" id="L10" 39lass="li39e" name="L10"> #39=oce39="ker{nel/resource.c#L10" id="L10" 39ass="lin39e" name="L1"> 1 0" 1ss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" >= fs?return=code=0" 2ch_resultseso">0" 2L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" && fs?return=code=0" 1ch_resultseso">0" 1ss="-a hres?return=code=endch_resultseso">endL10" >= fs?return=code=0" 2ch_resultseso">0" 2L10"-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 39ass="lin39e" name="L2"> 2 3 4 * linuxhref="kernel/resource.c#L9" id="L9" cl39ass="lin39e" name="L5"> 5 * linux * Find empty slotein thee0" id="L tree with theegiven 0ange andL1="kernel/resource.c#L9" id="L9" cl39ass="lin39e" name="L6"> 6 * linux * align lin constraintsef="kernel/resource.c#L9" id="L9" cl39ass="lin39e" name="L7"> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl39ass="lin39e" name="L8"> 8__f0"d_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=oo 9 <3aa hr399L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10",nel/resource.c#L9" id="L9" cl400ass="li4ee" name="L10"> #4==oce400L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"eefs?return=code=size"h_resultseso">sizLL10",nel/resource.c#L9" id="L9" cl40ass="lin40e" name="L1"> 10" id="L_constraintL10"e*fs?return=code=constraintch_resultseso">constraintL10")nel/resource.c#L10" id="L10" 40ass="lin40e" name="L2"> 2 30" id="LL10"e*fs?return=code=thisch_resultseso">thisL10" = fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=ch>ch> 40" id="LL10"efs?return=code=tmpch_resultseso">tmpL10" = *fs?return=code=newch_resultseso">newL10",nfs?return=code=availch_resultseso">availL10",nfs?return=code=allocch_resultseso">allocL10"rnel/resource.c#L10" id="L10" 405ss="lin40e" name="L5"> 5 6tmpL10".fs?return=code=flagsch_resultseso">flagsL10" = fs?return=code=newch_resultseso">newL10"-a hres?return=code=flagsch_resultseso">flagsL10"rnel/resource.c#L10" id="L10" 407ss="lin40e" name="L7"> 7tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 40ass="lin40e" name="L8"> 8 * linuxhref="kernel/resource.c#L9" id="L9" cl409ss="lin40e" name="L9"> 9 <409"ce40="kercomment"> * linux * Skip past an allocated 0" id="L that stlt;s at 0, sin"L the assign linef="kernel/resource.c#L9" id="L9" cl4class="li4ne" name="L10"> #4i=oce410L10"comment"> * linux * of this-a hrstlt; - 1 to tmp-a hrend below would cause an underflow.L1="kernel/resource.c#L9" id="L9" cl4cass="lin4ee" name="L1"> 1 * linux *ref="kernel/resource.c#L9" id="L9" cl4cass="lin41e" name="L2"> 2thisL10" && fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" == fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10") {nel/resource.c#L10" id="L10" 4c3ss="lin41e" name="L3"> 3tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10" = (fs?return=code=thisch_resultseso">thisL10" == fs?return=code=ooostlt;L10" : fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=endch_resultseso">endL10" + 1rnel/resource.c#L10" id="L10" 4cass="lin41e" name="L4"> 4thisL10" = fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 4c5ss="lin41e" name="L5"> 5 6 7thisL10")nel/resource.c#L10" id="L10" 4cass="lin41e" name="L8"> 8tmpL10".fs?return=code=endch_resultseso">endL10" = (fs?return=code=thisch_resultseso">thisL10" == fs?return=code=oothisL10"-a hres?return=code=endch_resultseso">endL10" : fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" - 1rnel/resource.c#L10" id="L10" 4cass="lin41e" name="L9"> 9 <41a hr419L10" elsenel/resource.c#L10" id="L10" 42lass="li42e" name="L10"> #42=oce420L10" fs?return=code=tmpch_resultseso">tmpL10".fs?return=code=endch_resultseso">endL10" = fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 42ass="lin42e" name="L1"> 1 2tmpL10".fs?return=code=endch_resultseso">endL10" >ees?return=code=tmpch_resultseso">tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 42ass="lin42e" name="L3"> 3nex;L10"rnel/resource.c#L10" id="L10" 42ass="lin42e" name="L4"> 4 50" id="L_clipss="(&fs?return=code=tmpch_resultseso">tmpL10",nfs?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=minch_resultseso">minL10",nfs?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=maxch_resultseso">maxL10")rnel/resource.c#L10" id="L10" 42ass="lin42e" name="L6"> 6arch_0"mov"_0" erva met ss="(&fs?return=code=tmpch_resultseso">tmpL10")rnel/resource.c#L10" id="L10" 427ss="lin42e" name="L7"> 7 8 * linuxhr Check for overflow after ALIGN() *ref="kernel/resource.c#L9" id="L9" cl42ass="lin42e" name="L9"> 9 <42a hr429L10" fs?return=code=availch_resultseso">availL10" = *fs?return=code=newch_resultseso">newL10"rnel/resource.c#L10" id="L10" 43lass="li43e" name="L10"> #43=oce430L10" fs?return=code=availch_resultseso">availL10".fs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=ALIGNch_resultseso">ALIGNss="(es?return=code=tmpch_resultseso">tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10",nfs?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=alignch_resultseso">alignL10")rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L1"> 1availL10".fs?return=code=endch_resultseso">endL10" = fs?return=code=tmpch_resultseso">tmpL10".fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L2"> 2availL10".fs?return=code=stlt;ch_resultseso">stlt;L10" >= fs?return=code=tmpch_resultseso">tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10") {nel/resource.c#L10" id="L10" 43ass="lin4ee" name="L3"> 3allocL10".fs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=alignfch_resultseso">alignfss="(es?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=alignf_datach_resultseso">alignf_dataL10",n&fs?return=code=availch_resultseso">availL10",nel/resource.c#L9" id="L9" cl43ass="lin43e" name="L4"> 4sizLL10",nfs?return=code=constraintch_resultseso">constraintL10"-a hres?return=code=alignch_resultseso">alignL10")rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L5"> 5allocL10".fs?return=code=endch_resultseso">endL10" = fs?return=code=allocch_resultseso">allocL10".fs?return=code=stlt;ch_resultseso">stlt;L10" + fs?return=code=size"h_resultseso">sizLL10" - 1rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L6"> 60" id="L_containsss="(&fs?return=code=availch_resultseso">availL10",n&fs?return=code=allocch_resultseso">allocL10")) {nel/resource.c#L10" id="L10" 43ass="lin43e" name="L7"> 7newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=allocch_resultseso">allocL10".fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L8"> 8newL10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=allocch_resultseso">allocL10".fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 43ass="lin43e" name="L9"> 9 <43a hr439L10" "> #44=oce440L10" }nel/resource.c#L10" id="L10" 44ass="lin44e" name="L1"> 1 2 3nex;L10": if (!fs?return=code=thisch_resultseso">thisL10" || fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=endch_resultseso">endL10" == fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 44ass="lin4ee" name="L4"> 4 5 6thisL10" != fs?return=code=oo 7tmpL10".fs?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=endch_resultseso">endL10" + 1rnel/resource.c#L10" id="L10" 44ass="lin44e" name="L8"> 8thisL10" = fs?return=code=thisch_resultseso">thisL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 44ass="lin44e" name="L9"> 9 <44a hr449L10" }nel/resource.c#L10" id="L10" 45lass="li45e" name="L10"> #45=oce450L10" "> EBUSYss="rnel/resource.c#L10" id="L10" 45ass="lin45e" name="L1"> 1 2 3 * linuxhref="kernel/resource.c#L9" id="L9" cl45ass="lin45e" name="L4"> 4 * linux * Find empty slotein thee0" id="L tree given 0ange and align lin.L1="kernel/resource.c#L9" id="L9" cl45ass="lin4ee" name="L5"> 5 * linux *ref="kernel/resource.c#L9" id="L9" cl4aass="lin45e" name="L6"> 6f0"d_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10",nel/resource.c#L9" id="L9" cl4aass="lin45e" name="L7"> 70" id="L_size_tL10"efs?return=code=size"h_resultseso">sizLL10",nel/resource.c#L9" id="L9" cl4aass="lin45e" name="L8"> 80" id="L_constraintL10"ee*fs?return=code=constraintch_resultseso">constraintL10")nel/resource.c#L10" id="L10" 45ass="lin45e" name="L9"> 9 <45a hr459L10"{nel/resource.c#L10" id="L10" 46lass="li46e" name="L10"> #46=oce460L10" "> __f0"d_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=NULLch_resultseso">NULLL10", es?return=code=newch_resultseso">newL10",nfs?return=code=size"h_resultseso">sizLL10",nfs?return=code=constraintch_resultseso">constraintL10")rnel/resource.c#L10" id="L10" 46ass="lin46e" name="L1"> 1 2 3 * linuxhrref="kernel/resource.c#L9" id="L9" cl4aass="lin46e" name="L4"> 4 * linux * 0"allocate_0" id="L - allocate a slotein thee0" id="L tree given 0ange & align lin.L1="kernel/resource.c#L9" id="L9" cl4aass="lin46e" name="L5"> 5 * linux * Thee0" id="L will bee0"located if theenew sizL cannotebee0"allocated in theL1="kernel/resource.c#L9" id="L9" cl4aass="lin4ee" name="L6"> 6 * linux * currlin location.L1="kernel/resource.c#L9" id="L9" cl4aass="lin46e" name="L7"> 7 * linux *L1="kernel/resource.c#L9" id="L9" cl4aass="lin46e" name="L8"> 8 * linux * @0ooc: 0ooce0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl4aass="lin46e" name="L9"> 9 <46a hr46="kercomment"> * linux * @o #47=oce470L10"comment"> * linux * @newsizL:enew sizL of thee0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl4aass="lin47e" name="L1"> 1 * linux * @constraint: theesizL and align lin constraints to beemen.L1="kernel/resource.c#L9" id="L9" cl47ass="lin47e" name="L2"> 2 * linux *ref="kernel/resource.c#L9" id="L9" cl47ass="lin47e" name="L3"> 30"allocate_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=oo 40" id="L_size_tL10"efs?return=code=newsizLch_resultseso">newsizLL10",nel/resource.c#L9" id="L9" cl47ass="lin47e" name="L5"> 50" id="L_constraintL10"ee*fs?return=code=constraintch_resultseso">constraintL10")nel/resource.c#L10" id="L10" 4aass="lin47e" name="L6"> 6 7errL10"=0rnel/resource.c#L10" id="L10" 4aass="lin47e" name="L8"> 80" id="LL10"efs?return=code=newch_resultseso">newL10" = *fs?return=code=oo 9 <47a hr479L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 48lass="li48e" name="L10"> #48=oce48="kernel/resource.c#L10" id="L10" 48ass="lin48e" name="L1"> 1writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 48ass="lin48e" name="L2"> 2 3errL10" = fs?return=code=__f0"d_0" id="Lch_resultseso">__f0"d_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=oonewL10",nfs?return=code=newsizLch_resultseso">newsizLL10",nfs?return=code=constraintch_resultseso">constraintL10")))nel/resource.c#L10" id="L10" 48ass="lin48e" name="L4"> 4outL10"rnel/resource.c#L10" id="L10" 48ass="lin48e" name="L5"> 5 60" id="L_containsss="(&fs?return=code=newch_resultseso">newL10",nfs?return=code=oo 7ostlt;L10" = fs?return=code=newch_resultseso">newL10".fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 48ass="lin4ee" name="L8"> 8oendL10" = fs?return=code=newch_resultseso">newL10".fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 48ass="lin48e" name="L9"> 9 <48a hr489L10" goto fs?return=code=outch_resultseso">outL10"rnel/resource.c#L10" id="L10" 49lass="li49e" name="L10"> #49=oce490L10" }nel/resource.c#L10" id="L10" 49ass="lin49e" name="L1"> 1 2och> 3errL10" = -es?return=code=EBUSYch_resultseso">EBUSYss="rnel/resource.c#L10" id="L10" 49ass="lin49e" name="L4"> 4outL10"rnel/resource.c#L10" id="L10" 49ass="lin49e" name="L5"> 5 6 70" id="L_containsss="(fs?return=code=oonewL10")) {nel/resource.c#L10" id="L10" 49ass="lin49e" name="L8"> 8ostlt;L10" = fs?return=code=newch_resultseso">newL10".fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 49ass="lin4ee" name="L9"> 9 <4aa hr499L10" fs?return=code=ooendL10" = fs?return=code=newch_resultseso">newL10".fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 500ass="li5ee" name="L10"> #5==oce500L10" } else {nel/resource.c#L10" id="L10" 50ass="lin50e" name="L1"> 1__release_0" id="Lss="(fs?return=code=oo 2onewL10"rnel/resource.c#L10" id="L10" 503ss="lin50e" name="L3"> 3conflictL10" = fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=oo 4BUG_ONss="(fs?return=code=conflictch_resultseso">conflictL10")rnel/resource.c#L10" id="L10" 505ss="lin50e" name="L5"> 5 6outL10":nel/resource.c#L10" id="L10" 507ss="lin50e" name="L7"> 7writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 50ass="lin50e" name="L8"> 8 errL10"rnel/resource.c#L10" id="L10" 509ss="lin50e" name="L9"> 9 <509"ce50="ker}nel/resource.c#L10" id="L10" 5class="li5ne" name="L10"> #5i=oce51="kernel/resource.c#L10" id="L10" 5cass="lin5ee" name="L1"> 1 2 * linuxhrref="kernel/resource.c#L9" id="L9" cl5c3ss="lin51e" name="L3"> 3 * linux * allocate_0" id="L - allocate empty slotein thee0" id="L tree given 0ange & align lin.L1="kernel/resource.c#L9" id="L9" cl5cass="lin51e" name="L4"> 4 * linux * Thee0" id="L will bee0"allocated with aenew sizL if it was al0"ady allocatedL1="kernel/resource.c#L9" id="L9" cl5c5ss="lin51e" name="L5"> 5 * linux * @0ooc: 0ooce0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl5cass="lin51e" name="L6"> 6 * linux * @new:e0" id="L descriptor desired byecallerL1="kernel/resource.c#L9" id="L9" cl5c7ss="lin51e" name="L7"> 7 * linux * @sizL:erequested 0" id="L region sizLL1="kernel/resource.c#L9" id="L9" cl5cass="lin51e" name="L8"> 8 * linux * @min: minimum sizL to allocateL1="kernel/resource.c#L9" id="L9" cl5c9ss="lin51e" name="L9"> 9 <51a hr51="kercomment"> * linux * @max: maximum sizL to allocateL1="kernel/resource.c#L9" id="L9" cl52lass="li52e" name="L10"> #52=oce520L10"comment"> * linux * @align: align lin requested,ein bytesef="kernel/resource.c#L9" id="L9" cl52ass="lin52e" name="L1"> 1 * linux * @alignf: align lin function, optional,ecalled if noteNULLL1="kernel/resource.c#L9" id="L9" cl52ass="lin5ee" name="L2"> 2 * linux * @alignf_data: arbitrary data to p> * to thee@alignf functionL1="kernel/resource.c#L9" id="L9" cl523ss="lin52e" name="L3"> 3 * linux *ref="kernel/resource.c#L9" id="L9" cl52ass="lin52e" name="L4"> 4allocate_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10",nel/resource.c#L9" id="L9" cl52ass="lin52e" name="L5"> 50" id="L_size_tL10"efs?return=code=size"h_resultseso">sizLL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=minch_resultseso">minL10",nel/resource.c#L9" id="L9" cl52ass="lin52e" name="L6"> 60" id="L_size_tL10"efs?return=code=maxch_resultseso">maxL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=alignch_resultseso">alignL10",nel/resource.c#L9" id="L9" cl527ss="lin52e" name="L7"> 70" id="L_size_tL10"e(*fs?return=code=alignfch_resultseso">alignfss=")(void *,nel/resource.c#L9" id="L9" cl52ass="lin52e" name="L8"> 80" id="LL10"e*,nel/resource.c#L9" id="L9" cl529ss="lin52e" name="L9"> 9 <52a hr529L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10",nel/resource.c#L9" id="L9" cl53lass="li53e" name="L10"> #53=oce530L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"),nel/resource.c#L9" id="L9" cl53ass="lin53e" name="L1"> 1alignf_dataL10")nel/resource.c#L10" id="L10" 53ass="lin53e" name="L2"> 2 3errL10"rnel/resource.c#L10" id="L10" 53ass="lin53e" name="L4"> 40" id="L_constraintL10"efs?return=code=constraintch_resultseso">constraintL10"rnel/resource.c#L10" id="L10" 53ass="lin53e" name="L5"> 5 6alignfss=")nel/resource.c#L10" id="L10" 537ss="lin53e" name="L7"> 7alignfss=" = fs?return=code=simple_align_0" id="Lch_resultseso">simple_align_0" id="Lss="rnel/resource.c#L10" id="L10" 53ass="lin53e" name="L8"> 8 9 <53a hr539L10" fs?return=code=constraintch_resultseso">constraintL10".fs?return=code=minch_resultseso">minL10" = fs?return=code=minch_resultseso">minL10"rnel/resource.c#L10" id="L10" 54lass="li54e" name="L10"> #54=oce540L10" fs?return=code=constraintch_resultseso">constraintL10".fs?return=code=maxch_resultseso">maxL10" = fs?return=code=maxch_resultseso">maxL10"rnel/resource.c#L10" id="L10" 54ass="lin54e" name="L1"> 1constraintL10".fs?return=code=alignch_resultseso">alignL10" = fs?return=code=alignch_resultseso">alignL10"rnel/resource.c#L10" id="L10" 54ass="lin54e" name="L2"> 2constraintL10".fs?return=code=alignfch_resultseso">alignfss=" = fs?return=code=alignfch_resultseso">alignfss="rnel/resource.c#L10" id="L10" 54ass="lin54e" name="L3"> 3constraintL10".fs?return=code=alignf_datach_resultseso">alignf_dataL10" = fs?return=code=alignf_datach_resultseso">alignf_dataL10"rnel/resource.c#L10" id="L10" 54ass="lin5ee" name="L4"> 4 5newL10"-a hres?return=code=parlinch_resultseso">parlinL10" ) {nel/resource.c#L10" id="L10" 54ass="lin54e" name="L6"> 6 * linuxhr 0" id="L is al0"ady allocated, trye0"allocating withef="kernel/resource.c#L9" id="L9" cl54ass="lin54e" name="L7"> 7 * linux theenew constraints *ref="kernel/resource.c#L9" id="L9" cl54ass="lin54e" name="L8"> 8 0"allocate_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10",nfs?return=code=size"h_resultseso">sizLL10",n&fs?return=code=constraintch_resultseso">constraintL10")rnel/resource.c#L10" id="L10" 54ass="lin54e" name="L9"> 9 <54a hr549L10" }nel/resource.c#L10" id="L10" 55lass="li55e" name="L10"> #55=oce55="kernel/resource.c#L10" id="L10" 55ass="lin55e" name="L1"> 1writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 55ass="lin55e" name="L2"> 2errL10" = fs?return=code=f0"d_0" id="Lch_resultseso">f0"d_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10",nfs?return=code=size"h_resultseso">sizLL10",n&fs?return=code=constraintch_resultseso">constraintL10")rnel/resource.c#L10" id="L10" 55ass="lin55e" name="L3"> 3errL10" >= 0 && fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10"))nel/resource.c#L10" id="L10" 55ass="lin55e" name="L4"> 4errL10" = -es?return=code=EBUSYch_resultseso">EBUSYss="rnel/resource.c#L10" id="L10" 55ass="lin5ee" name="L5"> 5writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 5aass="lin55e" name="L6"> 6 errL10"rnel/resource.c#L10" id="L10" 5aass="lin55e" name="L7"> 7 8 9 <55a hr559L10"es?return=code=EXPORT_SYMBOLch_resultseso">EXPORT_SYMBOLss="(fs?return=code=allocate_0" id="Lch_resultseso">allocate_0" id="Lss=")rnel/resource.c#L10" id="L10" 56lass="li56e" name="L10"> #56=oce56="kernel/resource.c#L10" id="L10" 56ass="lin56e" name="L1"> 1 * linuxhrref="kernel/resource.c#L9" id="L9" cl56ass="lin56e" name="L2"> 2 * linux * lookup_0" id="L - f0"d an existing 0" id="L by a 0" id="L stlt; add0" sef="kernel/resource.c#L9" id="L9" cl5aass="lin56e" name="L3"> 3 * linux * @0ooc: 0ooce0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl5aass="lin56e" name="L4"> 4 * linux * @stlt;: 0" id="L stlt; add0" sef="kernel/resource.c#L9" id="L9" cl5aass="lin56e" name="L5"> 5 * linux *ef="kernel/resource.c#L9" id="L9" cl5aass="lin5ee" name="L6"> 6 * linux * R> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl5aass="lin56e" name="L8"> 80" id="LL10"e*fs?return=code=lookup_0" id="Lch_resultseso">lookup_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 5aass="lin56e" name="L9"> 9 <56a hr569L10"{nel/resource.c#L10" id="L10" 5alass="li57e" name="L10"> #57=oce570L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0esch_resultseso">0" L10"rnel/resource.c#L10" id="L10" 5aass="lin57e" name="L1"> 1 20"ad_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 57ass="lin57e" name="L3"> 30" L10" = fs?return=code=0ooch"_resultseso">0oocL10"-a hres?return=code=ch>ch>0" L10"refs?return=code=0" ch_resultseso">0" L10" = fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=sibling"h_resultseso">siblingL10") {nel/resource.c#L10" id="L10" 57ass="lin57e" name="L4"> 40" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" == fs?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 57ass="lin57e" name="L5"> 5 6 70"ad_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 57ass="lin57e" name="L8"> 8 9 <57a hr579L10" "> 0" L10"rnel/resource.c#L10" id="L10" 58lass="li58e" name="L10"> #58=oce58="ker}nel/resource.c#L10" id="L10" 58ass="lin58e" name="L1"> 1 2 * linuxhref="kernel/resource.c#L9" id="L9" cl58ass="lin58e" name="L3"> 3 * linux * Inset; ae0" id="L into thee0" id="L tree. If succ" sful, "> 4 * linux * otherwise "> 5 * linux *ref="kernel/resource.c#L9" id="L9" cl58ass="lin58e" name="L6"> 60" id="LL10"e* fs?return=code=__inset;_0" id="Lch_resultseso">__inset;_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 58ass="lin58e" name="L7"> 7 80" id="LL10"e*fs?return=code=firsnch_resultseso">firsnL10", *fs?return=code=nex;ch_resultseso">nex;L10"rnel/resource.c#L10" id="L10" 58ass="lin58e" name="L9"> 9 <58a hr589L10"nel/resource.c#L10" id="L10" 59lass="li59e" name="L10"> #59=oce590L10" for (;refs?return=code=parlinch_resultseso">parlinL10" = fs?return=code=f0rsnch_resultseso">firsnL10") {nel/resource.c#L10" id="L10" 59ass="lin59e" name="L1"> 1firsnL10" = fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 59ass="lin59e" name="L2"> 2firsnL10")nel/resource.c#L10" id="L10" 59ass="lin59e" name="L3"> 3 firsnL10"rnel/resource.c#L10" id="L10" 59ass="lin59e" name="L4"> 4 5firsnL10" == fs?return=code=parlinch_resultseso">parlinL10")nel/resource.c#L10" id="L10" 59ass="lin59e" name="L6"> 6 firsnL10"rnel/resource.c#L10" id="L10" 59ass="lin59e" name="L7"> 7WARN_ONss="(fs?return=code=f0rsnch_resultseso">firsnL10" == fs?return=code=newch_resultseso">newL10")) fomment"> * linuxhr duplicated inset;ion *ref="kernel/resource.c#L9" id="L9" cl59ass="lin59e" name="L8"> 8 firsnL10"rnel/resource.c#L10" id="L10" 59ass="lin5ee" name="L9"> 9 <5aa hr599L10"nel/resource.c#L10" id="L10" 600ass="li6ee" name="L10"> #6==oce600L10" if ((fs?return=code=f0rsnch_resultseso">firsnL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" a hr fs?return=code=newch_resultseso">newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10") || (fs?return=code=f0rsnch_resultseso">firsnL10"-a hres?return=code=endch_resultseso">endL10" >ees?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 60ass="lin60e" name="L1"> 1 2firsnL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" == fs?return=code=newch_resultseso">newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10") && (fs?return=code=f0rsnch_resultseso">firsnL10"-a hres?return=code=endch_resultseso">endL10" == fs?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 603ss="lin60e" name="L3"> 3 4 5 6nex;L10" = fs?return=code=f0rsnch_resultseso">firsnL10"; ;ees?return=code=nex;ch_resultseso">nex;L10" = fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10") {nel/resource.c#L10" id="L10" 607ss="lin60e" name="L7"> 7 * linuxhr Plt;ial overlap? Bad, and unfixable *ref="kernel/resource.c#L9" id="L9" cl60ass="lin60e" name="L8"> 8nex;L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;ees?return=code=newch_resultseso">newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" || fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=endch_resultseso">endL10" & hr fs?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 609ss="lin60e" name="L9"> 9 <609"ce609L10" "> nex;L10"rnel/resource.c#L10" id="L10" 6class="li6ne" name="L10"> #6i=oce610L10" if (!fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10")nel/resource.c#L10" id="L10" 6cass="lin6ee" name="L1"> 1 2nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" a hr fs?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 6c3ss="lin61e" name="L3"> 3 4 5 6newL10"-a hres?return=code=parlinch_resultseso">parlinL10" = fs?return=code=parlinch_resultseso">parlinL10"rnel/resource.c#L10" id="L10" 6c7ss="lin61e" name="L7"> 7newL10"-a hres?return=code=sibling"h_resultseso">siblingL10" = fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 6cass="lin61e" name="L8"> 8newL10"-a hres?return=code=ch>ch>firsnL10";nel/resource.c#L10" id="L10" 6c9ss="lin61e" name="L9"> 9 <61a hr619L10"nel/resource.c#L10" id="L10" 62lass="li62e" name="L10"> #62=oce620L10" fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10" = fs?return=code=NULLch_resultseso">NULLL10";nel/resource.c#L10" id="L10" 62ass="lin62e" name="L1"> 1nex;L10" = fs?return=code=f0rsnch_resultseso">firsnL10"; fs?return=code=nex;ch_resultseso">nex;L10"rees?return=code=nex;ch_resultseso">nex;L10" = fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10")nel/resource.c#L10" id="L10" 62ass="lin6ee" name="L2"> 2nex;L10"-a hres?return=code=parlinch_resultseso">parlinL10" = fs?return=code=newch_resultseso">newL10"rnel/resource.c#L10" id="L10" 623ss="lin62e" name="L3"> 3 4parlinL10"-a hres?return=code=ch>ch>firsnL10") {nel/resource.c#L10" id="L10" 62ass="lin62e" name="L5"> 5parlinL10"-a hres?return=code=ch>ch>newL10"rnel/resource.c#L10" id="L10" 62ass="lin62e" name="L6"> 6 7nex;L10" = fs?return=code=parlinch_resultseso">parlinL10"-a hres?return=code=ch>ch> 8nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10" != fs?return=code=f0rsnch_resultseso">firsnL10")nel/resource.c#L10" id="L10" 629ss="lin62e" name="L9"> 9 <62a hr629L10" es?return=code=nex;ch_resultseso">nex;L10" = fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 63lass="li63e" name="L10"> #63=oce630L10" fs?return=code=nex;ch_resultseso">nex;L10"-a hres?return=code=sibling"h_resultseso">siblingL10" = fs?return=code=newch_resultseso">newL10"rnel/resource.c#L10" id="L10" 63ass="lin63e" name="L1"> 1 2 NULLL10";nel/resource.c#L10" id="L10" 63ass="lin6ee" name="L3"> 3 4 5 * linuxhrref="kernel/resource.c#L9" id="L9" cl63ass="lin63e" name="L6"> 6 * linux * inset;_0" id="L_conflict - Inset;se0" id="L in thee0" id="L treeef="kernel/resource.c#L9" id="L9" cl637ss="lin63e" name="L7"> 7 * linux * @parlin: parlin of theenew 0" id="Lss="kernel/resource.c#L9" id="L9" cl63ass="lin63e" name="L8"> 8 * linux * @new:enew 0" id="L to inset;ss="kernel/resource.c#L9" id="L9" cl639ss="lin63e" name="L9"> 9 <63a hr63="kercomment"> * linux *ss="kernel/resource.c#L9" id="L9" cl64lass="li64e" name="L10"> #64=oce640L10"comment"> * linux * R> 1 * linux *L1="kernel/resource.c#L9" id="L9" cl64ass="lin64e" name="L2"> 2 * linux * This function is equivallin to request_0" id="L_conflict when no conflictL1="kernel/resource.c#L9" id="L9" cl64ass="lin64e" name="L3"> 3 * linux * happens. If aeconflictehappens, and theeconflicting 0" id="Lsef="kernel/resource.c#L9" id="L9" cl64ass="lin6ee" name="L4"> 4 * linux * linirely fit within thee0ange of theenew 0" id="L, then theenewef="kernel/resource.c#L9" id="L9" cl64ass="lin64e" name="L5"> 5 * linux * 0" id="L iseinset;ed and theeconflicting 0" id="Lsebe eech> 6 * linux * theenew 0" id="L.L1="kernel/resource.c#L9" id="L9" cl647ss="lin64e" name="L7"> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl64ass="lin64e" name="L8"> 80" id="LL10"e*fs?return=code=inset;_0" id="L_conflictch_resultseso">inset;_0" id="L_conflictL10"(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 64ass="lin64e" name="L9"> 9 <64a hr649L10"{nel/resource.c#L10" id="L10" 65lass="li65e" name="L10"> #65=oce650L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 65ass="lin65e" name="L1"> 1 2writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 65ass="lin65e" name="L3"> 3conflictL10" = fs?return=code=__inset;_0" id="Lch_resultseso">__inset;_0" id="Lss="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 65ass="lin65e" name="L4"> 4writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 65ass="lin6ee" name="L5"> 5 conflictL10"rnel/resource.c#L10" id="L10" 65ass="lin65e" name="L6"> 6 7 8 * linuxhrref="kernel/resource.c#L9" id="L9" cl65ass="lin65e" name="L9"> 9 <65a hr65="kercomment"> * linux * inset;_0" id="L - Inset;seae0" id="L in thee0" id="L treeef="kernel/resource.c#L9" id="L9" cl66lass="li66e" name="L10"> #66=oce660L10"comment"> * linux * @parlin: parlin of theenew 0" id="Lss="kernel/resource.c#L9" id="L9" cl66ass="lin66e" name="L1"> 1 * linux * @new:enew 0" id="L to inset;ss="kernel/resource.c#L9" id="L9" cl66ass="lin66e" name="L2"> 2 * linux *ss="kernel/resource.c#L9" id="L9" cl66ass="lin66e" name="L3"> 3 * linux * R> 4 * linux *ref="kernel/resource.c#L9" id="L9" cl6aass="lin66e" name="L5"> 5inset;_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 6aass="lin6ee" name="L6"> 6 70" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 6aass="lin66e" name="L8"> 8 9 <66a hr669L10" fs?return=code=conflictch_resultseso">conflictL10" = fs?return=code=inset;_0" id="L_conflictch_resultseso">inset;_0" id="L_conflictL10"(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 6alass="li67e" name="L10"> #67=oce670L10" "> conflictL10" ? -es?return=code=EBUSYch_resultseso">EBUSYss=" : 0rnel/resource.c#L10" id="L10" 6aass="lin67e" name="L1"> 1 2 3 * linuxhrref="kernel/resource.c#L9" id="L9" cl67ass="lin67e" name="L4"> 4 * linux * inset;_0" id="L_exmmed_to_fit - Inset; ae0" id="L into thee0" id="L treeef="kernel/resource.c#L9" id="L9" cl67ass="lin67e" name="L5"> 5 * linux * @0ooc: 0ooce0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl6aass="lin67e" name="L6"> 6 * linux * @new:enew 0" id="L to inset;ss="kernel/resource.c#L9" id="L9" cl67ass="lin6ee" name="L7"> 7 * linux *ss="kernel/resource.c#L9" id="L9" cl67ass="lin67e" name="L8"> 8 * linux * Inset; ae0" id="L into thee0" id="L tree, possibly exmmeding itein orderL1="kernel/resource.c#L9" id="L9" cl6aass="lin67e" name="L9"> 9 <67a hr67="kercomment"> * linux * to make iteen passeanyeconflicting 0" id="Ls.L1="kernel/resource.c#L9" id="L9" cl68lass="li68e" name="L10"> #68=oce680L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl68ass="lin68e" name="L1"> 1inset;_0" id="L_exmmed_to_fitss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=newch_resultseso">newL10")nel/resource.c#L10" id="L10" 68ass="lin68e" name="L2"> 2 3newL10"-a hres?return=code=parlinch_resultseso">parlinL10")nel/resource.c#L10" id="L10" 68ass="lin68e" name="L4"> 4 5 6writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 68ass="lin68e" name="L7"> 7 80" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 68ass="lin68e" name="L9"> 9 <68a hr689L10"nel/resource.c#L10" id="L10" 69lass="li69e" name="L10"> #69=oce690L10" fs?return=code=conflictch_resultseso">conflictL10" = fs?return=code=__inset;_0" id="Lch_resultseso">__inset;_0" id="Lss="(fs?return=code=0ooch"_resultseso">0oocL10", fs?return=code=newch_resultseso">newL10")rnel/resource.c#L10" id="L10" 69ass="lin69e" name="L1"> 1conflictL10")nel/resource.c#L10" id="L10" 69ass="lin69e" name="L2"> 2 3conflictL10" == fs?return=code=0ooch"_resultseso">0oocL10")nel/resource.c#L10" id="L10" 69ass="lin69e" name="L4"> 4 5 6 * linuxhr Ok, exmmed 0" id="L to cover theeconflict, then try again .. *ref="kernel/resource.c#L9" id="L9" cl69ass="lin69e" name="L7"> 7conflictL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;ees?return=code=newch_resultseso">newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 69ass="lin69e" name="L8"> 8newL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 69ass="lin6ee" name="L9"> 9 <6aa hr699L10" if (fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=endch_resultseso">endL10" & hr fs?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 700ass="li7ee" name="L10"> #7==oce700L10" es?return=code=newch_resultseso">newL10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 70ass="lin70e" name="L1"> 1 2printkss="(fomment"> * string">"Exmmeded 0" id="L %s duL to conflict with %s\n"ef="ker, fs?return=code=newch_resultseso">newL10"-a hres?return=code=2nconflictL10"-a hres?return=code=2n 3 4writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 705ss="lin70e" name="L5"> 5 6 7 * linuxhrref="kernel/resource.c#L9" id="L9" cl70ass="lin70e" name="L8"> 8 * linux * adjus;_0" id="L - modify a 0" id="L's stlt; aed sizLL1="kernel/resource.c#L9" id="L9" cl709ss="lin70e" name="L9"> 9 <709"ce70="kercomment"> * linux * @" i: 0" id="L to modifyL1="kernel/resource.c#L9" id="L9" cl7class="li7ne" name="L10"> #7i=oce710L10"comment"> * linux * @stlt;: new stlt; valuLL1="kernel/resource.c#L9" id="L9" cl7cass="lin7ee" name="L1"> 1 * linux * @sizL: new sizLL1="kernel/resource.c#L9" id="L9" cl7cass="lin71e" name="L2"> 2 * linux *ss="kernel/resource.c#L9" id="L9" cl7c3ss="lin71e" name="L3"> 3 * linux * Given an existing 0" id="L, change its stlt; aed sizL to match thess="kernel/resource.c#L9" id="L9" cl7c4ss="lin71e" name="L4"> 4 * linux * argu lins. R> 5 * linux * Existing ch> 6 * linux *ref="kernel/resource.c#L9" id="L9" cl7c7ss="lin71e" name="L7"> 7adjus;_0" id="Lss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0"sch_resultseso">0" L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=size"h_resultseso">sizLL10")nel/resource.c#L10" id="L10" 7cass="lin71e" name="L8"> 8 9 <71a hr719L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=tmpch_resultseso">tmpL10", *fs?return=code=parlinch_resultseso">parlinL10" = fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=parlinch_resultseso">parlinL10"rnel/resource.c#L10" id="L10" 72lass="li72e" name="L10"> #72=oce720L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=endch_resultseso">endL10" = fs?return=code=stlt;ch_resultseso">stlt;L10" +efs?return=code=size"h_resultseso">sizLL10" - 1rnel/resource.c#L10" id="L10" 72ass="lin72e" name="L1"> 10" ultL10" = -es?return=code=EBUSYch_resultseso">EBUSYss="rnel/resource.c#L10" id="L10" 72ass="lin7ee" name="L2"> 2 3writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 72ass="lin72e" name="L4"> 4 5stlt;L10" agt;ees?return=code=parlinch_resultseso">parlinL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10") || (fs?return=code=endch_resultseso">endL10" & hr fs?return=code=parlinch_resultseso">parlinL10"-a hres?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 72ass="lin72e" name="L6"> 6ounss="rnel/resource.c#L10" id="L10" 727ss="lin72e" name="L7"> 7 8tmpL10" = fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=ch>ch>tmpL10"refs?return=code=tmpch_resultseso">tmpL10" = fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10") {nel/resource.c#L10" id="L10" 729ss="lin72e" name="L9"> 9 <72a hr729L10" if ((fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;ees?return=code=stlt;ch_resultseso">stlt;L10") || (fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=endch_resultseso">endL10" & hr fs?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 73lass="li73e" name="L10"> #73=oce730L10" goto es?return=code=ounch_resultseso">ounss="rnel/resource.c#L10" id="L10" 73ass="lin73e" name="L1"> 1 2 30" L10"-a hres?return=code=sibling"h_resultseso">siblingL10" && (fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=sibling"h_resultseso">siblingL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;= fs?return=code=endch_resultseso">endL10"))nel/resource.c#L10" id="L10" 73ass="lin73e" name="L4"> 4ounss="rnel/resource.c#L10" id="L10" 73ass="lin73e" name="L5"> 5 6tmpL10" = fs?return=code=parlinch_resultseso">parlinL10"-a hres?return=code=ch>ch> 7tmpL10" != fs?return=code=0" ch_resultseso">0" L10") {nel/resource.c#L10" id="L10" 73ass="lin73e" name="L8"> 8tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10" != fs?return=code=0" ch_resultseso">0" L10")nel/resource.c#L10" id="L10" 739ss="lin73e" name="L9"> 9 <73a hr739L10" es?return=code=tmpch_resultseso">tmpL10" = fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 74lass="li74e" name="L10"> #74=oce740L10" if (es?return=code=stlt;ch_resultseso">stlt;L10" agt;= fs?return=code=tmpch_resultseso">tmpL10"-a hres?return=code=endch_resultseso">endL10")nel/resource.c#L10" id="L10" 74ass="lin74e" name="L1"> 1ounss="rnel/resource.c#L10" id="L10" 74ass="lin74e" name="L2"> 2 3 40" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 74ass="lin74e" name="L5"> 50" L10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 74ass="lin74e" name="L6"> 60" ultL10" = 0rnel/resource.c#L10" id="L10" 747ss="lin74e" name="L7"> 7 8ounss=":nel/resource.c#L10" id="L10" 749ss="lin74e" name="L9"> 9 <74a hr749L10" fs?return=code=writL_unlockch_resultseso">writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 75lass="li75e" name="L10"> #75=oce750L10" "> 0" ultL10"rnel/resource.c#L10" id="L10" 75ass="lin75e" name="L1"> 1 2 3__initL10" es?return=code=__reserve_region_with_splitch_resultseso">__reserve_region_with_splitss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10",nel/resource.c#L10" id="L10" 75ass="lin75e" name="L4"> 40" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=endch_resultseso">endL10",nel/resource.c#L10" id="L10" 75ass="lin7ee" name="L5"> 5n 6 70" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10" = fs?return=code=0ooch"_resultseso">0oocL10"rnel/resource.c#L10" id="L10" 75ass="lin75e" name="L8"> 80" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 75ass="lin75e" name="L9"> 9 <75a hr759L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0" ch_resultseso">0" L10" = fs?return=code=kzallocch_resultseso">kzallocss="(sizeof(*fs?return=code=0" ch_resultseso">0" L10"), fs?return=code=GFP_ATOMICch_resultseso">GFP_ATOMICL10")rnel/resource.c#L10" id="L10" 76lass="li76e" name="L10"> #76=oce760L10"nel/resource.c#L10" id="L10" 76ass="lin76e" name="L1"> 10" L10")nel/resource.c#L10" id="L10" 76ass="lin76e" name="L2"> 2 3 40" L10"-a hres?return=code=nnn 50" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 7aass="lin7ee" name="L6"> 60" L10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 7aass="lin76e" name="L7"> 70" L10"-a hres?return=code=flag ch_resultseso">flag L10" = fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10"rnel/resource.c#L10" id="L10" 7aass="lin76e" name="L8"> 8 9 <76a hr769L10" fs?return=code=conflictch_resultseso">conflictL10" = fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 7alass="li77e" name="L10"> #77=oce770L10" if (!fs?return=code=conflictch_resultseso">conflictL10")nel/resource.c#L10" id="L10" 7aass="lin77e" name="L1"> 1 2 3 * linuxhr failed, split and try again *ref="kernel/resource.c#L9" id="L9" cl77ass="lin77e" name="L4"> 4kfreLss="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 7aass="lin77e" name="L5"> 5 6 * linuxhr conflict covered wholL arla *ref="kernel/resource.c#L9" id="L9" cl77ass="lin7ee" name="L7"> 7conflictL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;= fs?return=code=stlt;ch_resultseso">stlt;L10" && fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=endch_resultseso">endL10" & hr= fs?return=code=endch_resultseso">endL10")nel/resource.c#L9" id="L9" cl77ass="lin77e" name="L8"> 8 9 <77a hr779L10"nel/resource.c#L10" id="L10" 78lass="li78e" name="L10"> #78=oce780L10" if (fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" a hr fs?return=code=stlt;ch_resultseso">stlt;L10")nel/resource.c#L10" id="L10" 78ass="lin78e" name="L1"> 1__reserve_region_with_splitss="(fs?return=code=0ooch"_resultseso">0oocL10",efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"-1, fs?return=code=nn 2conflictL10"-a hres?return=code=endch_resultseso">endL10" >ees?return=code=endch_resultseso">endL10")nel/resource.c#L9" id="L9" cl78ass="lin78e" name="L3"> 3__reserve_region_with_splitss="(fs?return=code=0ooch"_resultseso">0oocL10",efs?return=code=conflictch_resultseso">conflictL10"-a hres?return=code=endch_resultseso">endL10"+1, fs?return=code=endch_resultseso">endL10", fs?return=code=nn 4 5 6__initL10" es?return=code=reserve_region_with_splitch_resultseso">reserve_region_with_splitss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0ooch"_resultseso">0oocL10",nel/resource.c#L10" id="L10" 78ass="lin78e" name="L7"> 70" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=endch_resultseso">endL10",nel/resource.c#L10" id="L10" 78ass="lin7ee" name="L8"> 8n 9 <78a hr789L10"{nel/resource.c#L10" id="L10" 79lass="li79e" name="L10"> #79=oce790L10" fs?return=code=writL_lockch_resultseso">writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 79ass="lin79e" name="L1"> 1__reserve_region_with_splitss="(fs?return=code=0ooch"_resultseso">0oocL10",efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=endch_resultseso">endL10", fs?return=code=nn 2writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 79ass="lin79e" name="L3"> 3 4 5EXPORT_SYMBOLss="(fs?return=code=adjus;_0" id="Lch_resultseso">adjus;_0" id="Lss=")rnel/resource.c#L10" id="L10" 79ass="lin79e" name="L6"> 6 7 * linuxhrref="kernel/resource.c#L9" id="L9" cl79ass="lin79e" name="L8"> 8 * linux * 0" id="L_align lin - calculate 0" id="L's align linef="kernel/resource.c#L9" id="L9" cl79ass="lin7ee" name="L9"> 9 <7aa hr79="kercomment"> * linux * @" i: 0" id="L pointerL1="kernel/resource.c#L9" id="L9" cl800ass="li8ee" name="L10"> #8==oce800L10"comment"> * linux *L1="kernel/resource.c#L9" id="L9" cl801ass="li8ee" name="L1"> 1 * linux * R> 2 * linux *ref="kernel/resource.c#L9" id="L9" cl803ss="lin80e" name="L3"> 30" id="L_size_tL10"efs?return=code=0" id="L_align linch_resultseso">0" id="L_align linef="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0"sch_resultseso">0" L10")nel/resource.c#L10" id="L10" 804ss="lin80e" name="L4"> 4 50" L10"-a hres?return=code=flag ch_resultseso">flag L10" & (fs?return=code=IORESOURCE_SIZEALIGNch_resultseso">IORESOURCE_SIZEALIGNL10" | fs?return=code=IORESOURCE_STARTALIGNch_resultseso">IORESOURCE_STARTALIGNL10")) {nel/resource.c#L10" id="L10" 806ss="lin80e" name="L6"> 6IORESOURCE_SIZEALIGNL10":nel/resource.c#L10" id="L10" 807ss="lin80e" name="L7"> 7 0" id="L_sizess="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 80ass="lin80e" name="L8"> 8IORESOURCE_STARTALIGNL10":nel/resource.c#L10" id="L10" 809ss="lin80e" name="L9"> 9 <809"ce809L10" "> 0" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 8class="li8ne" name="L10"> #8i=oce810L10" default:nel/resource.c#L10" id="L10" 8cass="lin8ee" name="L1"> 1 2 3 4 5 * linux/*L1="kernel/resource.c#L9" id="L9" cl8c6ss="lin81e" name="L6"> 6 * linux * This is patibility stuff for IO 0" id="Ls.L1="kernel/resource.c#L9" id="L9" cl8c7ss="lin81e" name="L7"> 7 * linux *ss="kernel/resource.c#L9" id="L9" cl8cass="lin81e" name="L8"> 8 * linux * Note how this, unlike theeabove, knowseabounef="kernel/resource.c#L9" id="L9" cl8c9ss="lin81e" name="L9"> 9 <81a hr81="kercomment"> * linux * theeIO flag meanings (busy etc).L1="kernel/resource.c#L9" id="L9" cl82lass="li82e" name="L10"> #82=oce820L10"comment"> * linux *L1="kernel/resource.c#L9" id="L9" cl82ass="lin82e" name="L1"> 1 * linux * request_0"gion createseaenew busy 0"gion.L1="kernel/resource.c#L9" id="L9" cl82ass="lin8ee" name="L2"> 2 * linux *ss="kernel/resource.c#L9" id="L9" cl823ss="lin82e" name="L3"> 3 * linux * check_0"gion r> 4 * linux *L1="kernel/resource.c#L9" id="L9" cl825ss="lin82e" name="L5"> 5 * linux * 0"lease_0"gion r>leaseseaematching busy 0"gion.L1="kernel/resource.c#L9" id="L9" cl826ss="lin82e" name="L6"> 6 * linux *ref="kernel/resource.c#L9" id="L9" cl827ss="lin82e" name="L7"> 7 8DECLARE_WAIT_QUEUE_HEADss="(fs?return=code=muxed_0" id="L_waitch_resultseso">muxed_0" id="L_waitL10")rnel/resource.c#L10" id="L10" 829ss="lin82e" name="L9"> 9 <82a hr829L10"nel/resource.c#L10" id="L10" 83lass="li83e" name="L10"> #83=oce830L10"comment"> * linuxhrref="kernel/resource.c#L9" id="L9" cl83ass="lin83e" name="L1"> 1 * linux * __request_0"gion - createeaenew busy 0" id="L 0"gionef="kernel/resource.c#L9" id="L9" cl83ass="lin83e" name="L2"> 2 * linux * @parlin: parlin 0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl83ass="lin8ee" name="L3"> 3 * linux * @stlt;: 0" id="L stlt; add0" sef="kernel/resource.c#L9" id="L9" cl83ass="lin83e" name="L4"> 4 * linux * @n: 0" id="L 0"gion sizLL1="kernel/resource.c#L9" id="L9" cl83ass="lin83e" name="L5"> 5 * linux * @5 6 * linux * @flag : IO 0" id="L flag L1="kernel/resource.c#L9" id="L9" cl837ss="lin83e" name="L7"> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl83ass="lin83e" name="L8"> 80" id="LL10"e* fs?return=code=__request_0"gionch_resultseso">__request_0"gionef="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10",nel/resource.c#L9" id="L9" cl839ss="lin83e" name="L9"> 9 <83a hr839L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=nch_resultseso">nL10",nel/resource.c#L9" id="L9" cl84lass="li84e" name="L10"> #84=oce840L10" const chare*fs?return=code=nnflag L10")nel/resource.c#L10" id="L10" 84ass="lin84e" name="L1"> 1 2DECLARE_WAITQUEUEss="(fs?return=code=waitch_resultseso">waitL10",efs?return=code=currlinch_resultseso">currlinL10")rnel/resource.c#L10" id="L10" 84ass="lin84e" name="L3"> 30" id="LL10"e*fs?return=code=0" ch_resultseso">0" L10" = fs?return=code=kzallocch_resultseso">kzallocss="(sizeof(*fs?return=code=0" ch_resultseso">0" L10"), fs?return=code=GFP_KERNELch_resultseso">GFP_KERNELL10")rnel/resource.c#L10" id="L10" 84ass="lin8ee" name="L4"> 4 50" L10")nel/resource.c#L10" id="L10" 84ass="lin84e" name="L6"> 6 NULLL10"rnel/resource.c#L10" id="L10" 847ss="lin84e" name="L7"> 7 80" L10"-a hres?return=code=nnn 9 <84a hr849L10" fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 85lass="li85e" name="L10"> #85=oce850L10" fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=stlt;ch_resultseso">stlt;L10" +efs?return=code=nch_resultseso">nL10" - 1rnel/resource.c#L10" id="L10" 85ass="lin85e" name="L1"> 10" L10"-a hres?return=code=flag ch_resultseso">flag L10" = fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10"rnel/resource.c#L10" id="L10" 85ass="lin85e" name="L2"> 20" L10"-a hres?return=code=flag ch_resultseso">flag L10" |= fs?return=code=flag ch_resultseso">flag L10"rnel/resource.c#L10" id="L10" 85ass="lin85e" name="L3"> 3 4writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 85ass="lin8ee" name="L5"> 5 6 70" id="LL10"e*fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 85ass="lin85e" name="L8"> 8 9 <85a hr859L10" fs?return=code=conflictch_resultseso">conflictL10" = fs?return=code=__request_0" id="Lch_resultseso">__request_0" id="Lss="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 86lass="li86e" name="L10"> #86=oce860L10" if (!fs?return=code=conflictch_resultseso">conflictL10")nel/resource.c#L10" id="L10" 86ass="lin86e" name="L1"> 1 2conflictL10" != fs?return=code=parlinch_resultseso">parlinL10") {nel/resource.c#L10" id="L10" 86ass="lin86e" name="L3"> 3parlinL10" = fs?return=code=conflictch_resultseso">conflictL10"rnel/resource.c#L10" id="L10" 8aass="lin86e" name="L4"> 4conflictL10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10"))nel/resource.c#L10" id="L10" 86ass="lin86e" name="L5"> 5 6 7conflictL10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_MUXEDch_resultseso">IORESOURCE_MUXEDL10") {nel/resource.c#L10" id="L10" 86ass="lin86e" name="L8"> 8add_wait_queuLss="(&fs?return=code=muxed_0" id="L_waitch_resultseso">muxed_0" id="L_waitL10", &fs?return=code=waitch_resultseso">waitL10")rnel/resource.c#L10" id="L10" 86ass="lin86e" name="L9"> 9 <86a hr869L10" es?return=code=writL_unlockch_resultseso">writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 8alass="li87e" name="L10"> #87=oce870L10" es?return=code=set_currlin_stt.Lch_resultseso">set_currlin_stt.Lss="(fs?return=code=TASK_UNINTERRUPTIBLEch_resultseso">TASK_UNINTERRUPTIBLEL10")rnel/resource.c#L10" id="L10" 8aass="lin87e" name="L1"> 1schedulLss="()rnel/resource.c#L10" id="L10" 8aass="lin87e" name="L2"> 20"move_wait_queuLss="(&fs?return=code=muxed_0" id="L_waitch_resultseso">muxed_0" id="L_waitL10", &fs?return=code=waitch_resultseso">waitL10")rnel/resource.c#L10" id="L10" 87ass="lin87e" name="L3"> 3writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 87ass="lin87e" name="L4"> 4 5 6 * linuxhr Uhhuh, that didn'tework out.. *ref="kernel/resource.c#L9" id="L9" cl87ass="lin8ee" name="L7"> 7kfreLss="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 87ass="lin87e" name="L8"> 80" L10" = fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" 87ass="lin87e" name="L9"> 9 <87a hr879L10" b0"akrnel/resource.c#L10" id="L10" 88lass="li88e" name="L10"> #88=oce880L10" }nel/resource.c#L10" id="L10" 88ass="lin88e" name="L1"> 1writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 88ass="lin88e" name="L2"> 2 0" L10"rnel/resource.c#L10" id="L10" 88ass="lin88e" name="L3"> 3 4EXPORT_SYMBOLss="(fs?return=code=__request_0"gionch_resultseso">__request_0"gionef=")rnel/resource.c#L10" id="L10" 88ass="lin88e" name="L5"> 5 6 * linuxhrref="kernel/resource.c#L9" id="L9" cl88ass="lin88e" name="L7"> 7 * linux * __check_0"gion - check if a 0" id="L 0"gion is busy or freLss="kernel/resource.c#L9" id="L9" cl88ass="lin8ee" name="L8"> 8 * linux * @parlin: parlin 0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl88ass="lin88e" name="L9"> 9 <88a hr88="kercomment"> * linux * @stlt;: 0" id="L stlt; add0" sef="kernel/resource.c#L9" id="L9" cl89lass="li89e" name="L10"> #89=oce890L10"comment"> * linux * @n: 0" id="L 0"gion sizLL1="kernel/resource.c#L9" id="L9" cl89ass="lin89e" name="L1"> 1 * linux *L1="kernel/resource.c#L9" id="L9" cl89ass="lin89e" name="L2"> 2 * linux * R> 3 * linux * r> 4 * linux *L1="kernel/resource.c#L9" id="L9" cl89ass="lin89e" name="L5"> 5 * linux * NOTE:L1="kernel/resource.c#L9" id="L9" cl89ass="lin89e" name="L6"> 6 * linux * This function is deprect.Ld bectuse its use is racy.L1="kernel/resource.c#L9" id="L9" cl89ass="lin89e" name="L7"> 7 * linux * Even if it r> 8 * linux * may fail bectuse another driver etc. jus; alloct.Ld thee0"gion.L1="kernel/resource.c#L9" id="L9" cl89ass="lin8ee" name="L9"> 9 <8aa hr89="kercomment"> * linux * Do NOT use it. Itewill be 0"moved from theece.c#L.L1="kernel/resource.c#L9" id="L9" cl900ass="li9ee" name="L10"> #9==oce900L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl901ass="li9ee" name="L1"> 1__check_0"gionss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L9" id="L9" cl902ass="li9ee" name="L2"> 20" id="L_size_tL10"efs?return=code=nch_resultseso">nL10")nel/resource.c#L10" id="L10" 903ss="lin90e" name="L3"> 3 40" id="LL10"e* fs?return=code=0" ch_resultseso">0" L10"rnel/resource.c#L10" id="L10" 905ss="lin90e" name="L5"> 5 60" L10" = fs?return=code=__request_0"gionch_resultseso">__request_0"gionef="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=nch_resultseso">nL10", fomment"> * string">"check-0"gion"ef="ker, 0)rnel/resource.c#L10" id="L10" 907ss="lin90e" name="L7"> 70" L10")nel/resource.c#L10" id="L10" 90ass="lin90e" name="L8"> 8 EBUSYss="rnel/resource.c#L10" id="L10" 909ss="lin90e" name="L9"> 9 <909"ce909L10"nel/resource.c#L10" id="L10" 9class="li9ne" name="L10"> #9i=oce910L10" fs?return=code=0"lease_0" id="Lch_resultseso">0"lease_0" id="Lss="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 9cass="lin9ee" name="L1"> 1kfreLss="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 9cass="lin91e" name="L2"> 2 3 4EXPORT_SYMBOLss="(fs?return=code=__check_0"gionch_resultseso">__check_0"gionss=")rnel/resource.c#L10" id="L10" 9c5ss="lin91e" name="L5"> 5 6 * linuxhrref="kernel/resource.c#L9" id="L9" cl9c7ss="lin91e" name="L7"> 7 * linux * __release_0"gion - r>lease a previously 0" erved 0" id="L 0"gionef="kernel/resource.c#L9" id="L9" cl9cass="lin91e" name="L8"> 8 * linux * @parlin: parlin 0" id="L descriptorL1="kernel/resource.c#L9" id="L9" cl9c9ss="lin91e" name="L9"> 9 <91a hr91="kercomment"> * linux * @stlt;: 0" id="L stlt; add0" sef="kernel/resource.c#L9" id="L9" cl92lass="li92e" name="L10"> #92=oce920L10"comment"> * linux * @n: 0" id="L 0"gion sizLL1="kernel/resource.c#L9" id="L9" cl92ass="lin92e" name="L1"> 1 * linux *L1="kernel/resource.c#L9" id="L9" cl92ass="lin9ee" name="L2"> 2 * linux * ThL described 0" id="L 0"gion mus; match a currlinly busy 0"gion.L1="kernel/resource.c#L9" id="L9" cl923ss="lin92e" name="L3"> 3 * linux *ref="kernel/resource.c#L9" id="L9" cl924ss="lin92e" name="L4"> 4__release_0"gionss="(structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L9" id="L9" cl925ss="lin92e" name="L5"> 50" id="L_size_tL10"efs?return=code=nch_resultseso">nL10")nel/resource.c#L10" id="L10" 926ss="lin92e" name="L6"> 6 70" id="LL10"e**fs?return=code=pch_resultseso">pss="rnel/resource.c#L10" id="L10" 92ass="lin92e" name="L8"> 80" id="L_size_tL10"efs?return=code=endch_resultseso">endL10"rnel/resource.c#L10" id="L10" 929ss="lin92e" name="L9"> 9 <92a hr929L10"nel/resource.c#L10" id="L10" 93lass="li93e" name="L10"> #93=oce930L10" fs?return=code=pch_resultseso">pss=" = &fs?return=code=parlinch_resultseso">parlinL10"-a hres?return=code=ch>ch> 1endL10" = fs?return=code=stlt;ch_resultseso">stlt;L10" +efs?return=code=nch_resultseso">nL10" - 1rnel/resource.c#L10" id="L10" 93ass="lin93e" name="L2"> 2 3writL_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 93ass="lin93e" name="L4"> 4 5 60" id="LL10"e*fs?return=code=0" ch_resultseso">0" L10" = *fs?return=code=pch_resultseso">pss="rnel/resource.c#L10" id="L10" 937ss="lin93e" name="L7"> 7 80" L10")nel/resource.c#L10" id="L10" 939ss="lin93e" name="L9"> 9 <93a hr939L10" b0"akrnel/resource.c#L10" id="L10" 94lass="li94e" name="L10"> #94=oce940L10" if (fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" agt;= fs?return=code=stlt;ch_resultseso">stlt;L10" && fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=endch_resultseso">endL10" & hr= fs?return=code=endch_resultseso">endL10") {nel/resource.c#L10" id="L10" 94ass="lin94e" name="L1"> 10" L10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10")) {nel/resource.c#L10" id="L10" 94ass="lin94e" name="L2"> 2pss=" = &fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=ch>ch> 3 4 50" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" != fs?return=code=stlt;ch_resultseso">stlt;L10" || fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=endch_resultseso">endL10" != fs?return=code=endch_resultseso">endL10")nel/resource.c#L9" id="L9" cl94ass="lin94e" name="L6"> 6 7pss=" = fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 94ass="lin94e" name="L8"> 8writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 949ss="lin94e" name="L9"> 9 <94a hr949L10" if (fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_MUXEDch_resultseso">IORESOURCE_MUXEDL10")nel/resource.c#L10" id="L10" 95lass="li95e" name="L10"> #95=oce950L10" es?return=code=wakL_upch_resultseso">wakL_upss="(&fs?return=code=muxed_0" id="L_waitch_resultseso">muxed_0" id="L_waitL10")rnel/resource.c#L10" id="L10" 95ass="lin95e" name="L1"> 1kfreLss="(fs?return=code=0" ch_resultseso">0" L10")rnel/resource.c#L10" id="L10" 95ass="lin95e" name="L2"> 2 3 4pss=" = &fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=sibling"h_resultseso">siblingL10"rnel/resource.c#L10" id="L10" 95ass="lin9ee" name="L5"> 5 6 7writL_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 95ass="lin95e" name="L8"> 8 9 <95a hr959L10" fs?return=code=printkch_resultseso">printkss="(fs?return=code=KERN_WARNINGch_resultseso">KERN_WARNINGL10"efomment"> * string">"Trying to freL nonexistlin 0" id="L "ef="kernel/resource.c#L10" id="L10" 96lass="li96e" name="L10"> #96=oce960L10" fomment"> * string">"agt;%016llx-%016llxa hr\n"ef="ker, (unsigned long long)fs?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L9" id="L9" cl96ass="lin96e" name="L1"> 1endL10")rnel/resource.c#L10" id="L10" 96ass="lin96e" name="L2"> 2 3EXPORT_SYMBOLss="(fs?return=code=__release_0"gionch_resultseso">__release_0"gionss=")rnel/resource.c#L10" id="L10" 96ass="lin96e" name="L4"> 4 5 * linux/*L1="kernel/resource.c#L9" id="L9" cl9aass="lin9ee" name="L6"> 6 * linux * Managed 0"gion r> id="LL1="kernel/resource.c#L9" id="L9" cl9aass="lin96e" name="L7"> 7 * linux *ref="kernel/resource.c#L9" id="L9" cl96ass="lin96e" name="L8"> 80"gion_dev0" L10" {nel/resource.c#L10" id="L10" 96ass="lin96e" name="L9"> 9 <96a hr969L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10"rnel/resource.c#L10" id="L10" 9alass="li97e" name="L10"> #97=oce970L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 9aass="lin97e" name="L1"> 10" id="L_size_tL10"efs?return=code=nch_resultseso">nL10"rnel/resource.c#L10" id="L10" 9aass="lin97e" name="L2"> 2 3 4devm_0"gion_releasess="(structefs?return=code=devi"Lch_resultseso">devi"LL10"e*fs?return=code=devch_resultseso">devL10", void *fs?return=code=0" ch_resultseso">0" L10")nel/resource.c#L10" id="L10" 9aass="lin97e" name="L5"> 5 60"gion_dev0" L10" *fs?return=code=thisch_resultseso">thisss=" = fs?return=code=0" ch_resultseso">0" L10"rnel/resource.c#L10" id="L10" 9aass="lin9ee" name="L7"> 7 8__release_0"gionss="(fs?return=code=thisch_resultseso">thisss="-a hres?return=code=parlinch_resultseso">parlinL10", fs?return=code=thisch_resultseso">thisss="-a hres?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=thisch_resultseso">thisss="-a hres?return=code=nch_resultseso">nL10")rnel/resource.c#L10" id="L10" 9aass="lin97e" name="L9"> 9 <97a hr979L10"}nel/resource.c#L10" id="L10" 98lass="li98e" name="L10"> #98=oce980L10"nel/resource.c#L10" id="L10" 98ass="lin98e" name="L1"> 1devm_0"gion_matchss="(structefs?return=code=devi"Lch_resultseso">devi"LL10"e*fs?return=code=devch_resultseso">devL10", void *fs?return=code=0" ch_resultseso">0" L10", void *fs?return=code=match_datach_resultseso">match_dataL10")nel/resource.c#L10" id="L10" 98ass="lin98e" name="L2"> 2 30"gion_dev0" L10" *fs?return=code=thisch_resultseso">thisss=" = fs?return=code=0" ch_resultseso">0" L10", *fs?return=code=matchch_resultseso">matchss=" = fs?return=code=match_datach_resultseso">match_dataL10"rnel/resource.c#L10" id="L10" 98ass="lin98e" name="L4"> 4 5 thisss="-a hres?return=code=parlinch_resultseso">parlinL10" == fs?return=code=matchch_resultseso">matchss="-a hres?return=code=parlinch_resultseso">parlinL10" &&nel/resource.c#L10" id="L10" 98ass="lin98e" name="L6"> 6thisss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" == fs?return=code=matchch_resultseso">matchss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" && fs?return=code=thisch_resultseso">thisss="-a hres?return=code=nch_resultseso">nL10" == fs?return=code=matchch_resultseso">matchss="-a hres?return=code=nch_resultseso">nL10"rnel/resource.c#L10" id="L10" 98ass="lin98e" name="L7"> 7 8 9 <98a hr98="kerstructefs?return=code=0" id="Lch_resultseso">0" id="LL10"e* fs?return=code=__devm_0"quest_0"gionch_resultseso">__devm_0"quest_0"gionss="(structefs?return=code=devi"Lch_resultseso">devi"LL10"e*fs?return=code=devch_resultseso">devL10",nel/resource.c#L10" id="L10" 99lass="li99e" name="L10"> #99=oce990L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L9" id="L9" cl99ass="lin99e" name="L1"> 10" id="L_size_tL10"efs?return=code=nch_resultseso">nL10", const chare*fs?return=code=nn 2 30"gion_dev0" L10" *fs?return=code=drch_resultseso">drss=" = fs?return=code=NULLch_resultseso">NULLL10"rnel/resource.c#L10" id="L10" 99ass="lin99e" name="L4"> 40" id="LL10"e*fs?return=code=0" ch_resultseso">0" L10"rnel/resource.c#L10" id="L10" 99ass="lin99e" name="L5"> 5 6drss=" = fs?return=code=dev0" _allocch_resultseso">dev0" _allocss="(fs?return=code=devm_0"gion_releasech_resultseso">devm_0"gion_releasess=", sizeof(structefs?return=code=0"gion_dev0" ch_resultseso">0"gion_dev0" L10"),nel/resource.c#L9" id="L9" cl99ass="lin99e" name="L7"> 7GFP_KERNELL10")rnel/resource.c#L10" id="L10" 99ass="lin99e" name="L8"> 8drss=")nel/resource.c#L10" id="L10" 99ass="lin9ee" name="L9"> 9 <9aa hr999L10" "> NULLL10"rnel/resource.c#L10" id="L10" 1000ass="li1000asname="L9"> 9 <1000a>1000L10"ne/pre> s="l18/4f/e1ed02f5fd5b322ebd466b81dfc2505f07ea_3/1000a>el/resource.c#L10" id="L10" 1001ass="li100e" name="L1"> 11001L10" es?return=code=drch_resultseso">drss="-a hres?return=code=parlinch_resultseso">parlinL10" = fs?return=code=parlinch_resultseso">parlinL10"rnel/resource.c#L10" id="L10" 1002ass="li100e" name="L2"> 21002L10" fs?return=code=drch_resultseso">drss="-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=stlt;ch_resultseso">stlt;L10"rnel/resource.c#L10" id="L10" 1003ass="li100e" name="L3"> 31003L10" es?return=code=drch_resultseso">drss="-a hres?return=code=nch_resultseso">nL10" =efs?return=code=nch_resultseso">nL10"rnel/resource.c#L10" id="L10" 1004ass="li100e" name="L4"> 41004"kernel/resource.c#L10" id="L10" 1005ass="li100e" name="L5"> 51005L10" es?return=code=0" ch_resultseso">0" L10" = fs?return=code=__request_0"gionch_resultseso">__request_0"gionef="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=nch_resultseso">nL10", fs?return=code=nn 61006L10" if (fs?return=code=0" ch_resultseso">0" L10")nel/resource.c#L10" id="L10" 1007ass="li100e" name="L7"> 71007L10" fs?return=code=dev0" _addch_resultseso">dev0" _addss="(fs?return=code=devch_resultseso">devL10", fs?return=code=drch_resultseso">drss=")rnel/resource.c#L10" id="L10" 1008ass="li100e" name="L8"> 81008L10" elsenel/resource.c#L10" id="L10" 1009ass="li100e" name="L9"> 9 <100e">1009L10" fs?return=code=dev0" _freLch_resultseso">dev0" _freLss="(fs?return=code=drch_resultseso">drss=")rnel/resource.c#L10" id="L10" 1010ass="li10ne" name="L10"> #10ne">10ne"kernel/resource.c#L10" id="L10" 1011ass="li10ee" name="L1"> 110n1L10" "> 0" L10"rnel/resource.c#L10" id="L10" 10n2ass="li101e" name="L2"> 210n2L10"}nel/resource.c#L10" id="L10" 10n3ass="li101e" name="L3"> 310n3L10"fs?return=code=EXPORT_SYMBOLch_resultseso">EXPORT_SYMBOLss="(fs?return=code=__devm_0"quest_0"gionch_resultseso">__devm_0"quest_0"gionss=")rnel/resource.c#L10" id="L10" 1014ass="li101e" name="L4"> 410n4"kernel/resource.c#L10" id="L10" 1015ass="li101e" name="L5"> 510n5L10"void fs?return=code=__devm_0"lease_0"gionch_resultseso">__devm_0"lease_0"gionss="(structefs?return=code=devi"Lch_resultseso">devi"LL10"e*fs?return=code=devch_resultseso">devL10", structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=parlinch_resultseso">parlinL10",nel/resource.c#L9" id="L9" cl10n6ass="li101e" name="L6"> 610n6L10" fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=nch_resultseso">nL10")nel/resource.c#L10" id="L10" 10n7ass="li101e" name="L7"> 710n7L10"{nel/resource.c#L10" id="L10" 10n8ass="li101e" name="L8"> 810n8L10" structefs?return=code=0"gion_dev0" ch_resultseso">0"gion_dev0" L10" fs?return=code=match_datach_resultseso">match_dataL10" = { fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=nch_resultseso">nL10" }rnel/resource.c#L10" id="L10" 10n9ass="li101e" name="L9"> 9 <101e">10n9L10"nel/resource.c#L10" id="L10" 1020ass="li102e" name="L10"> #102e">102eL10" es?return=code=__release_0"gionch_resultseso">__release_0"gionss="(fs?return=code=parlinch_resultseso">parlinL10", fs?return=code=stlt;ch_resultseso">stlt;L10", fs?return=code=nch_resultseso">nL10")rnel/resource.c#L10" id="L10" 1021ass="li102e" name="L1"> 11021L10" es?return=code=WARN_ONch_resultseso">WARN_ONss="(fs?return=code=dev0" _destroych_resultseso">dev0" _destroyss="(fs?return=code=devch_resultseso">devL10", fs?return=code=devm_0"gion_releasech_resultseso">devm_0"gion_releasess=", fs?return=code=devm_0"gion_matchch_resultseso">devm_0"gion_matchss=",nel/resource.c#L9" id="L9" cl1022ass="li10ee" name="L2"> 21022L10" &fs?return=code=match_datach_resultseso">match_dataL10"))rnel/resource.c#L10" id="L10" 1023ass="li102e" name="L3"> 31023L10"}nel/resource.c#L10" id="L10" 1024ass="li102e" name="L4"> 41024L10"fs?return=code=EXPORT_SYMBOLch_resultseso">EXPORT_SYMBOLss="(fs?return=code=__devm_0"lease_0"gionch_resultseso">__devm_0"lease_0"gionss=")rnel/resource.c#L10" id="L10" 1025ass="li102e" name="L5"> 51025L10"nel/resource.c#L10" id="L10" 1026ass="li102e" name="L6"> 61026L10"comment"> * linuxhref="kernel/resource.c#L9" id="L9" cl1027ass="li102e" name="L7"> 71027L10"comment"> * linux * Called from init/main.c to re erve IO ports.L1="kernel/resource.c#L9" id="L9" cl1028ass="li102e" name="L8"> 81028L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl1029ass="li102e" name="L9"> 9 <102e">1029L10"#def"> fs?return=code=MAXRESERVEch_resultseso">MAXRESERVEL10" 4nel/resource.c#L9" id="L9" cl1030ass="li103e" name="L10"> #103e">103e"kerstt.pneintefs?return=code=__initch_resultseso">__initL10" fs?return=code=re erve_s> pch_resultseso">re erve_s> pss="(chare*fs?return=code=strch_resultseso">strss=")nel/resource.c#L10" id="L10" 1031ass="li103e" name="L1"> 11031L10"{nel/resource.c#L10" id="L10" 1032ass="li103e" name="L2"> 21032L10" stt.pneintefs?return=code=re ervedch_resultseso">re ervedL10"rnel/resource.c#L10" id="L10" 1033ass="li10ee" name="L3"> 31033L10" stt.pnestructefs?return=code=0" id="Lch_resultseso">0" id="LL10"efs?return=code=re ervech_resultseso">re erveL10"[fs?return=code=MAXRESERVEch_resultseso">MAXRESERVEL10"]rnel/resource.c#L10" id="L10" 1034ass="li103e" name="L4"> 41034"kernel/resource.c#L10" id="L10" 1035ass="li103e" name="L5"> 51035L10" for (;r) {nel/resource.c#L10" id="L10" 1036ass="li103e" name="L6"> 61036L10" unsigned intefs?return=code=io_stlt;ch_resultseso">io_stlt;ss=", fs?return=code=io_numch_resultseso">io_numL10"rnel/resource.c#L10" id="L10" 1037ass="li103e" name="L7"> 71037L10" intefs?return=code=xch_resultseso">xL10" = fs?return=code=re ervedch_resultseso">re ervedL10"rnel/resource.c#L10" id="L10" 1038ass="li103e" name="L8"> 81038L10"nel/resource.c#L10" id="L10" 1039ass="li103e" name="L9"> 9 <103e">1039L10" if (fs?return=code=get_optionch_resultseso">get_optionL10" (&fs?return=code=strch_resultseso">strss=", &fs?return=code=io_stlt;ch_resultseso">io_stlt;ss=") != 2)nel/resource.c#L10" id="L10" 1040ass="li104e" name="L10"> #104e">104eL10" b0"akrnel/resource.c#L10" id="L10" 1041ass="li104e" name="L1"> 11041L10" if (fs?return=code=get_optionch_resultseso">get_optionL10" (&fs?return=code=strch_resultseso">strss=", &fs?return=code=io_numch_resultseso">io_numL10") == 0)nel/resource.c#L10" id="L10" 1042ass="li104e" name="L2"> 21042L10" b0"akrnel/resource.c#L10" id="L10" 1043ass="li104e" name="L3"> 31043L10" if (fs?return=code=xch_resultseso">xL10" agt; fs?return=code=MAXRESERVEch_resultseso">MAXRESERVEL10") {nel/resource.c#L10" id="L10" 1044ass="li10ee" name="L4"> 41044L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=0" ch_resultseso">0" L10" = fs?return=code=re ervech_resultseso">re erveL10" +efs?return=code=xch_resultseso">xL10"rnel/resource.c#L10" id="L10" 1045ass="li104e" name="L5"> 51045L10" fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=nn * string">"re erved"ef="kerrnel/resource.c#L10" id="L10" 1046ass="li104e" name="L6"> 61046L10" fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" = fs?return=code=io_stlt;ch_resultseso">io_stlt;ss="rnel/resource.c#L10" id="L10" 1047ass="li104e" name="L7"> 71047L10" fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=endch_resultseso">endL10" = fs?return=code=io_stlt;ch_resultseso">io_stlt;ss=" +efs?return=code=io_numch_resultseso">io_numL10" - 1rnel/resource.c#L10" id="L10" 1048ass="li104e" name="L8"> 81048L10" es?return=code=0" ch_resultseso">0" L10"-a hres?return=code=flag ch_resultseso">flag L10" = fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10"rnel/resource.c#L10" id="L10" 1049ass="li104e" name="L9"> 9 <104e">1049L10" es?return=code=0" ch_resultseso">0" L10"-a hres?return=code=ch>ch>NULLL10"rnel/resource.c#L10" id="L10" 1050ass="li105e" name="L10"> #105e">105eL10" if (fs?return=code=0"quest_0" id="Lch_resultseso">0"quest_0" id="Lss="(fs?return=code=0" ch_resultseso">0" L10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" & hr= 0x10000 ? &fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10" : &fs?return=code=ioport_0" id="Lch_resultseso">ioport_0" id="LL10", fs?return=code=0" ch_resultseso">0" L10") == 0)nel/resource.c#L10" id="L10" 1051ass="li105e" name="L1"> 11051L10" es?return=code=0" ervedch_resultseso">re ervedL10" = fs?return=code=xch_resultseso">xL10"+1rnel/resource.c#L10" id="L10" 1052ass="li105e" name="L2"> 21052L10" }nel/resource.c#L10" id="L10" 1053ass="li105e" name="L3"> 31053L10" }nel/resource.c#L10" id="L10" 1054ass="li105e" name="L4"> 41054L10" "> 51055L10"}nel/resource.c#L10" id="L10" 1056ass="li105e" name="L6"> 61056L10"nel/resource.c#L10" id="L10" 1057ass="li105e" name="L7"> 71057L10"fs?return=code=__s> pch_resultseso">__s> pss="(fomment"> * string">"re erve="ef="ker, fs?return=code=re erve_s> pch_resultseso">re erve_s> pss=")rnel/resource.c#L10" id="L10" 1058ass="li105e" name="L8"> 81058L10"nel/resource.c#L10" id="L10" 1059ass="li105e" name="L9"> 9 <105e">105="kercomment"> * linuxhref="kernel/resource.c#L9" id="L9" cl1060ass="li106e" name="L10"> #106e">106eL10"comment"> * linux * Check if thee0"quested add0 and size ommes more than any slot in theef="kernel/resource.c#L9" id="L9" cl1061ass="li106e" name="L1"> 11061L10"comment"> * linux * iomem 0" id="L tree.L1="kernel/resource.c#L9" id="L9" cl1062ass="li106e" name="L2"> 2106ass="comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl1063ass="li106e" name="L3"> 31063L10"intefs?return=code=iomem_map_sanity_checkch_resultseso">iomem_map_sanity_checkss="(fs?return=code=0" id="L_size_tch_resultseso">0" id="L_size_tL10"efs?return=code=add0ch_resultseso">add0L10", unsigned long es?return=code=sizech_resultseso">sizLL1=")nel/resource.c#L10" id="L10" 1064ass="li106e" name="L4"> 41064L10"{nel/resource.c#L10" id="L10" 1065ass="li106e" name="L5"> 51065L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=pch_resultseso">pL10" = &fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10"rnel/resource.c#L10" id="L10" 1066ass="li10ee" name="L6"> 61066L10" intefs?return=code=er0ch_resultseso">er0L10" = 0rnel/resource.c#L10" id="L10" 1067ass="li106e" name="L7"> 71067L10" fs?return=code=loff_tch_resultseso">loff_tL10"efs?return=code=lch_resultseso">lL10"rnel/resource.c#L10" id="L10" 1068ass="li106e" name="L8"> 81068L10"nel/resource.c#L10" id="L10" 1069ass="li106e" name="L9"> 9 <106e">1069L10" fs?return=code=read_lockch_resultseso">0"ad_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 1070ass="li107e" name="L10"> #107e">107eL10" for (fs?return=code=pch_resultseso">pL10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=ch>ch>pss=" r es?return=code=pch_resultseso">pss=" = fs?return=code=r_nextch_resultseso">0_nextss="(fs?return=code=NULLch_resultseso">NULLL10", fs?return=code=pch_resultseso">pss=", &fs?return=code=lch_resultseso">lL10")) {nel/resource.c#L10" id="L10" 1071ass="li107e" name="L1"> 11071L10" comment"> * linuxhref="kernel/resource.c#L9" id="L9" cl1072ass="li107e" name="L2"> 2107ass="comment"> * linux * We cmenprobably skip thee0"id="L9s withoutef="kernel/resource.c#L9" id="L9" cl1073ass="li107e" name="L3"> 31073L10"comment"> * linux * IORESOURCE_IO attribute?ef="kernel/resource.c#L9" id="L9" cl1074ass="li107e" name="L4"> 41074"kercomment"> * linux *ref="kernel/resource.c#L9" id="L9" cl1075ass="li107e" name="L5"> 51075L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" & hr= fs?return=code=add0ch_resultseso">add0L10" +efs?return=code=sizech_resultseso">sizLL1=")nel/resource.c#L10" id="L10" 1076ass="li107e" name="L6"> 61076L10" continuernel/resource.c#L10" id="L10" 1077ass="li10ee" name="L7"> 71077L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10" > fs?return=code=add0ch_resultseso">add0L10")nel/resource.c#L10" id="L10" 1078ass="li107e" name="L8"> 81078L10" continuernel/resource.c#L10" id="L10" 1079ass="li107e" name="L9"> 9 <107e">1079L10" if (fs?return=code=PFN_DOWNch_resultseso">PFN_DOWNss="(fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10") agt;= fs?return=code=PFN_DOWNch_resultseso">PFN_DOWNss="(fs?return=code=add0ch_resultseso">add0L10") &&nel/resource.c#L10" id="L10" 1080ass="li108e" name="L10"> #108e">108eL10" fs?return=code=PFN_DOWNch_resultseso">PFN_DOWNss="(fs?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10") & hr= fs?return=code=PFN_DOWNch_resultseso">PFN_DOWNss="(fs?return=code=add0ch_resultseso">add0L10" +efs?return=code=sizech_resultseso">sizLL1=" - 1))nel/resource.c#L10" id="L10" 1081ass="li108e" name="L1"> 11081L10" continuernel/resource.c#L10" id="L10" 1082ass="li108e" name="L2"> 21082L10" comment"> * linuxhref="kernel/resource.c#L9" id="L9" cl1083ass="li108e" name="L3"> 31083L10"comment"> * linux * if a 0" id="L is "BUSY", it's not a hardware r> id="LL1="kernel/resource.c#L9" id="L9" cl1084ass="li108e" name="L4"> 41084"kercomment"> * linux * but a driver mapping of such a " id="L9; we don't wantef="kernel/resource.c#L9" id="L9" cl1085ass="li108e" name="L5"> 51085L10"comment"> * linux * to warn for thos9; some drivers legitimately map onlyef="kernel/resource.c#L9" id="L9" cl1086ass="li108e" name="L6"> 61086L10"comment"> * linux * plt;ial hardware r> id="Ls. (example: vesafb)ef="kernel/resource.c#L9" id="L9" cl1087ass="li108e" name="L7"> 71087L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl1088ass="li10ee" name="L8"> 81088L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10")nel/resource.c#L9" id="L9" cl1089ass="li108e" name="L9"> 9 <108e">1089L10" continuernel/resource.c#L10" id="L10" 1090ass="li109e" name="L10"> #109e">109eL10"nel/resource.c#L10" id="L10" 1091ass="li109e" name="L1"> 11091L10" cs?return=code=printkch_resultseso">printkss="(fs?return=code=KERN_WARNINGch_resultseso">KERN_WARNINGL10"efomment"> * string">"0" id="L map sanity check conflict: "ef="kernel/resource.c#L10" id="L10" 1092ass="li109e" name="L2"> 21092L10" fomment"> * string">"0x%llx 0x%llx 0x%llx 0x%llx %s\n"ef="ker,nel/resource.c#L10" id="L10" 1093ass="li109e" name="L3"> 31093L10" (unsigned long long)fs?return=code=add0ch_resultseso">add0L10",nel/resource.c#L10" id="L10" 1094ass="li109e" name="L4"> 41094L10" (unsigned long long)(fs?return=code=add0ch_resultseso">add0L10" +efs?return=code=sizech_resultseso">sizLL1=" - 1),nel/resource.c#L10" id="L10" 1095ass="li109e" name="L5"> 51095L10" (unsigned long long)fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10",nel/resource.c#L10" id="L10" 1096ass="li109e" name="L6"> 61096L10" (unsigned long long)fs?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10",nel/resource.c#L10" id="L10" 1097ass="li109e" name="L7"> 71097L10" fs?return=code=pch_resultseso">pL10"-a hres?return=code=nn 81098L10" fs?return=code=er0ch_resultseso">er0L10" = -1rnel/resource.c#L10" id="L10" 1099ass="li10ee" name="L9"> 9 <10ee">1099L10" b0"akrnel/resource.c#L10" id="L10" 1100ass="li1100asname="L9"> 9 <1100a>110eL10" }nel/resource.c#L10" id="L10" 1101ass="li110e" name="L1"> 11101L10" es?return=code=0"ad_unlockch_resultseso">0"ad_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 1102ass="li110e" name="L2"> 21102L10"nel/resource.c#L10" id="L10" 1103ass="li110e" name="L3"> 31103L10" "> er0L10"rnel/resource.c#L10" id="L10" 1104ass="li110e" name="L4"> 41104"ker}nel/resource.c#L10" id="L10" 1105ass="li110e" name="L5"> 51105L10"nel/resource.c#L10" id="L10" 1106ass="li110e" name="L6"> 61106L10"#ifdefnfs?return=code=CONFIG_STRICT_DEVMEMch_resultseso">CONFIG_STRICT_DEVMEML10"nel/resource.c#L10" id="L10" 1107ass="li110e" name="L7"> 71107L10"stt.pneintefs?return=code=strict_iomem_check ch_resultseso">strict_iomem_check L10" = 1rnel/resource.c#L10" id="L10" 1108ass="li110e" name="L8"> 81108L10"#elsenel/resource.c#L10" id="L10" 1109ass="li110e" name="L9"> 9 <110e">1109L10"stt.pneintefs?return=code=strict_iomem_check ch_resultseso">strict_iomem_check L10"rnel/resource.c#L10" id="L10" 1110ass="li11ne" name="L10"> #11ne">11ne"ker#endifnel/resource.c#L10" id="L10" 1111ass="li11ee" name="L1"> 111n1L10"nel/resource.c#L10" id="L10" 1112ass="li111e" name="L2"> 2111ass="comment"> * linuxhref="kernel/resource.c#L9" id="L9" cl11n3ass="li111e" name="L3"> 31113L10"comment"> * linux * check if an add0ess is re erved in the iomem 0" id="L treeef="kernel/resource.c#L9" id="L9" cl11n4ass="li111e" name="L4"> 41114"kercomment"> * linux * "> 51115L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl11n6ass="li111e" name="L6"> 611n6L10"intefs?return=code=iomem_is_exclusivech_resultseso">iomem_is_exclusivess="(fs?return=code=u6e" name="Lseso">u64L10" fs?return=code=add0ch_resultseso">add0L10")nel/resource.c#L10" id="L10" 11n7ass="li111e" name="L7"> 711n7L10"{nel/resource.c#L10" id="L10" 11n8ass="li111e" name="L8"> 811n8L10" structefs?return=code=0" id="Lch_resultseso">0" id="LL10"e*fs?return=code=pch_resultseso">pL10" = &fs?return=code=iomem_0" id="Lch_resultseso">iomem_0" id="LL10"rnel/resource.c#L10" id="L10" 11n9ass="li111e" name="L9"> 9 <111e">1119L10" intefs?return=code=er0ch_resultseso">er0L10" = 0rnel/resource.c#L10" id="L10" 1120ass="li112e" name="L10"> #112e">112eL10" es?return=code=loff_tch_resultseso">loff_tL10"efs?return=code=lch_resultseso">lL10"rnel/resource.c#L10" id="L10" 1121ass="li112e" name="L1"> 11121L10" intefs?return=code=sizech_resultseso">sizLL1=" = fs?return=code=PAGE_SIZEch_resultseso">PAGE_SIZEL10"rnel/resource.c#L10" id="L10" 1122ass="li11ee" name="L2"> 21122L10"nel/resource.c#L10" id="L10" 1123ass="li112e" name="L3"> 31123L10" if (!fs?return=code=strict_iomem_check ch_resultseso">strict_iomem_check L10")nel/resource.c#L10" id="L10" 1124ass="li112e" name="L4"> 41124L10" "> 51125L10"nel/resource.c#L10" id="L10" 1126ass="li112e" name="L6"> 61126L10" fs?return=code=add0ch_resultseso">add0L10" = fs?return=code=add0ch_resultseso">add0L10" & fs?return=code=PAGE_MASKch_resultseso">PAGE_MASKL10"rnel/resource.c#L10" id="L10" 1127ass="li112e" name="L7"> 71127L10"nel/resource.c#L10" id="L10" 1128ass="li112e" name="L8"> 81128L10" fs?return=code=read_lockch_resultseso">0"ad_lockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 1129ass="li112e" name="L9"> 9 <112e">1129L10" for (fs?return=code=pch_resultseso">pL10" = fs?return=code=pch_resultseso">pL10"-a hres?return=code=ch>ch>pss=" r es?return=code=pch_resultseso">pss=" = fs?return=code=r_nextch_resultseso">0_nextss="(fs?return=code=NULLch_resultseso">NULLL10", fs?return=code=pch_resultseso">pss=", &fs?return=code=lch_resultseso">lL10")) {nel/resource.c#L10" id="L10" 1130ass="li113e" name="L10"> #113e">1130L10" fomment"> * linuxhref="kernel/resource.c#L9" id="L9" cl1131ass="li113e" name="L1"> 11131L10"comment"> * linux * We cmenprobably skip thee0"id="L9s withoutef="kernel/resource.c#L9" id="L9" cl1132ass="li113e" name="L2"> 2113ass="comment"> * linux * IORESOURCE_IO attribute?ef="kernel/resource.c#L9" id="L9" cl1133ass="li11ee" name="L3"> 31133L10"comment"> * linux *ref="kernel/resource.c#L9" id="L9" cl1134ass="li113e" name="L4"> 41134L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=stlt;ch_resultseso">stlt;L10" & hr= fs?return=code=add0ch_resultseso">add0L10" +efs?return=code=sizech_resultseso">sizLL1=")nel/resource.c#L10" id="L10" 1135ass="li113e" name="L5"> 51135L10" b0"akrnel/resource.c#L10" id="L10" 1136ass="li113e" name="L6"> 61136L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=endch_resultseso">endL10" > fs?return=code=add0ch_resultseso">add0L10")nel/resource.c#L10" id="L10" 1137ass="li113e" name="L7"> 71137L10" continuernel/resource.c#L10" id="L10" 1138ass="li113e" name="L8"> 81138L10" if (fs?return=code=pch_resultseso">pL10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_BUSYch_resultseso">IORESOURCE_BUSYL10" &&nel/resource.c#L10" id="L10" 1139ass="li113e" name="L9"> 9 <113e">1139L10" fs?return=code=pch_resultseso">pL10"-a hres?return=code=flag ch_resultseso">flag L10" & fs?return=code=IORESOURCE_EXCLUSIVEch_resultseso">IORESOURCE_EXCLUSIVEL10") {nel/resource.c#L10" id="L10" 1140ass="li114e" name="L10"> #114e">114eL10" fs?return=code=er0ch_resultseso">er0L10" = 1rnel/resource.c#L10" id="L10" 1141ass="li114e" name="L1"> 11141L10" b0"akrnel/resource.c#L10" id="L10" 1142ass="li114e" name="L2"> 21142L10" }nel/resource.c#L10" id="L10" 1143ass="li114e" name="L3"> 31143L10" }nel/resource.c#L10" id="L10" 1144ass="li11ee" name="L4"> 41144L10" es?return=code=0"ad_unlockch_resultseso">0"ad_unlockss="(&fs?return=code=0" id="L_lockch_resultseso">0" id="L_lockL10")rnel/resource.c#L10" id="L10" 1145ass="li114e" name="L5"> 51145L10"nel/resource.c#L10" id="L10" 1146ass="li114e" name="L6"> 61146L10" "> er0L10"rnel/resource.c#L10" id="L10" 1147ass="li114e" name="L7"> 71147L10"}nel/resource.c#L10" id="L10" 1148ass="li114e" name="L8"> 81148L10"nel/resource.c#L10" id="L10" 1149ass="li114e" name="L9"> 9 <114e">1149L10"stt.pneintefs?return=code=__initch_resultseso">__initL10" fs?return=code=strict_iomemch_resultseso">strict_iomemss="(chare*fs?return=code=strch_resultseso">strss=")nel/resource.c#L10" id="L10" 1150ass="li115e" name="L10"> #115e">115eL10"{nel/resource.c#L10" id="L10" 1151ass="li115e" name="L1"> 11151L10" if (fs?return=code=strstrch_resultseso">strstrss="(fs?return=code=strch_resultseso">strss=",efomment"> * string">"0"laxed"ef="ker))nel/resource.c#L10" id="L10" 1152ass="li115e" name="L2"> 21152L10" fs?return=code=strict_iomem_check ch_resultseso">strict_iomem_check L10" = 0rnel/resource.c#L10" id="L10" 1153ass="li115e" name="L3"> 31153L10" if (fs?return=code=strstrch_resultseso">strstrss="(fs?return=code=strch_resultseso">strss=",efomment"> * string">"strict"ef="ker))nel/resource.c#L10" id="L10" 1154ass="li115e" name="L4"> 41154L10" fs?return=code=strict_iomem_check ch_resultseso">strict_iomem_check L10" = 1rnel/resource.c#L10" id="L10" 1155ass="li11ee" name="L5"> 51155L10" "> 61156L10"}nel/resource.c#L10" id="L10" 1157ass="li115e" name="L7"> 71157L10"nel/resource.c#L10" id="L10" 1158ass="li115e" name="L8"> 81158L10"fs?return=code=__s> pch_resultseso">__s> pss="(fomment"> * string">"iomem="ef="ker, fs?return=code=strict_iomemch_resultseso">strict_iomemss=")rnel/resource.c#L10" id="L10" 1159ass="li115e" name="L9"> 9 <115e">115="kerc/pre>

The original LXR software by theeel/resourhttp:// id="Lforge.net/projects/lxr">LXR unityss=",ethis experi linal version by el/resourmailto:lxr@9">ux.no">lxr@9">ux.noss=".
lxr.9">ux.no kindly hosted by el/resourhttp://www.redpill-9">pro.no">Redpill L">pro ASss=",eprovider of L">ux consulting and operations erviL9s since 1995.