linux/drivers/char/uv_mmtimer.c
<<
ptio /spa4.1 /form.1 a ptio href="../linux+v3ton9/drivers/char/uv_mmtimer.c">ptio img src="../.static/gfx/right.png" alt=">>">pt /spa4.1pt spa4 class="lxr_search">ptioptio input typ3ptio input typ3ptio buttv3.typ3Searchptio Prefs1 /a>pt /spa4.1io /div.1io form ac3.14="ajax+*" method="post" onsubmit="return false;">pt input typ3pio /form.1pio div class="headingbottvm">1 div id 1 /a> spa4 class="comment">/* /spa4.1 2 /a> spa4 class="comment"> * Timer device implementa v3.for SGI UV platform. /spa4.1 3 /a> spa4 class="comment"> * /spa4.1 4 /a> spa4 class="comment"> * This file is subject to the terms and condi v3s of the GNU General Public /spa4.1 5 /a> spa4 class="comment"> * License. See the file "COPYING" in the main directory of this archive /spa4.1 6 /a> spa4 class="comment"> * for more details. /spa4.1 7 /a> spa4 class="comment"> * /spa4.1 8 /a> spa4 class="comment"> * Copyright (c) 2009 Silicv3.Graphics, Inc. All rights reserved. /spa4.1 9 /a> spa4 class="comment"> * /spa4.1 on va> spa4 class="comment"> */ /spa4.1 1> 1 12 /a>#include <a href="dinclude/linux/typ3s.h" class="fef=">linux/typ3s.h /a>> 13 /a>#include <a href="dinclude/linux/kernel.h" class="fef=">linux/kernel.h /a>> 14 /a>#include <a href="dinclude/linux/ioctl.h" class="fef=">linux/ioctl.h /a>> 15 /a>#include <a href="dinclude/linux/module.h" class="fef=">linux/module.h /a>> 16 /a>#include <a href="dinclude/linux/init.h" class="fef=">linux/init.h /a>> 17 /a>#include <a href="dinclude/linux/errno.h" class="fef=">linux/errno.h /a>> 18 /a>#include <a href="dinclude/linux/mm.h" class="fef=">linux/mm.h /a>> 19 /a>#include <a href="dinclude/linux/fs.h" class="fef=">linux/fs.h /a>> 20 /a>#include <a href="dinclude/linux/mmimer.ch" class="fef=">linux/mmimer.ch /a>> 21 /a>#include <a href="dinclude/linux/miscdevicech" class="fef=">linux/miscdevicech /a>> 22 /a>#include <a href="dinclude/linux/posix-imer.s.h" class="fef=">linux/posix-imer.s.h /a>> 23 /a>#include <a href="dinclude/linux/interrupt.h" class="fef=">linux/interrupt.h /a>> 24 /a>#include <a href="dinclude/linux/imer.h" class="fef=">linux/tmer.h /a>> 25 /a>#include <a href="dinclude/linux/math64ch" class="fef=">linux/math64ch /a>> 26 1 27 /a>#include <a href="d+ambig=include/asm-alpha/genapic.h|include/asm-arm/genapic.h|include/asm-avr32/genapic.h|include/asm-blackfin/genapic.h|include/asm-cris/genapic.h|include/asm-frv/genapic.h|include/asm-generic/genapic.h|include/asm-h8300/genapic.h|include/asm-i386/genapic.h|include/asm-ia64/genapic.h|include/asm-m32r/genapic.h|include/asm-m68k/genapic.h|include/asm-m68knommu/genapic.h|include/asm-mips/genapic.h|include/asm-mips64/genapic.h|include/asm-parisc/genapic.h|include/asm-powerpc/genapic.h|include/asm-ppc/genapic.h|include/asm-s390/genapic.h|include/asm-sh/genapic.h|include/asm-sh64/genapic.h|include/asm-sparc/genapic.h|include/asm-sparc64/genapic.h|include/asm-um/genapic.h|include/asm-v850/genapic.h|include/asm-x86/genapic.h|include/asm-x86_64/genapic.h|include/asm-xtensa/genapic.h" class="falt">asm/genapic.h /a>> 28 /a>#include <a href="d+ambig=include/asm-alpha/uvuv_mhub.h|include/asm-arm/uvuv_mhub.h|include/asm-avr32/uvuv_mhub.h|include/asm-blackfin/uvuv_mhub.h|include/asm-cris/uvuv_mhub.h|include/asm-frv/uvuv_mhub.h|include/asm-generic/uvuv_mhub.h|include/asm-h8300/uvuv_mhub.h|include/asm-i386/uvuv_mhub.h|include/asm-ia64/uvuv_mhub.h|include/asm-m32r/uvuv_mhub.h|include/asm-m68k/uvuv_mhub.h|include/asm-m68knommu/uvuv_mhub.h|include/asm-mips/uvuv_mhub.h|include/asm-mips64/uvuv_mhub.h|include/asm-parisc/uvuv_mhub.h|include/asm-powerpc/uvuv_mhub.h|include/asm-ppc/uvuv_mhub.h|include/asm-s390/uvuv_mhub.h|include/asm-sh/uvuv_mhub.h|include/asm-sh64/uvuv_mhub.h|include/asm-sparc/uvuv_mhub.h|include/asm-sparc64/uvuv_mhub.h|include/asm-um/uvuv_mhub.h|include/asm-v850/uvuv_mhub.h|include/asm-x86/uvuv_mhub.h|include/asm-x86_64/uvuv_mhub.h|include/asm-xtensa/uvuv_mhub.h" class="falt">asm/uvuv_mhub.h /a>> 29 /a>#include <a href="d+ambig=include/asm-alpha/uvubios.h|include/asm-arm/uvubios.h|include/asm-avr32/uvubios.h|include/asm-blackfin/uvubios.h|include/asm-cris/uvubios.h|include/asm-frv/uvubios.h|include/asm-generic/uvubios.h|include/asm-h8300/uvubios.h|include/asm-i386/uvubios.h|include/asm-ia64/uvubios.h|include/asm-m32r/uvubios.h|include/asm-m68k/uvubios.h|include/asm-m68knommu/uvubios.h|include/asm-mips/uvubios.h|include/asm-mips64/uvubios.h|include/asm-parisc/uvubios.h|include/asm-powerpc/uvubios.h|include/asm-ppc/uvubios.h|include/asm-s390/uvubios.h|include/asm-sh/uvubios.h|include/asm-sh64/uvubios.h|include/asm-sparc/uvubios.h|include/asm-sparc64/uvubios.h|include/asm-um/uvubios.h|include/asm-v850/uvubios.h|include/asm-x86/uvubios.h|include/asm-x86_64/uvubios.h|include/asm-xtensa/uvubios.h" class="falt">asm/uvubios.h /a>> 30 /a>#include <a href="d+ambig=include/asm-alpha/uvuv_.h|include/asm-arm/uvuv_.h|include/asm-avr32/uvuv_.h|include/asm-blackfin/uvuv_.h|include/asm-cris/uvuv_.h|include/asm-frv/uvuv_.h|include/asm-generic/uvuv_.h|include/asm-h8300/uvuv_.h|include/asm-i386/uvuv_.h|include/asm-ia64/uvuv_.h|include/asm-m32r/uvuv_.h|include/asm-m68k/uvuv_.h|include/asm-m68knommu/uvuv_.h|include/asm-mips/uvuv_.h|include/asm-mips64/uvuv_.h|include/asm-parisc/uvuv_.h|include/asm-powerpc/uvuv_.h|include/asm-ppc/uvuv_.h|include/asm-s390/uvuv_.h|include/asm-sh/uvuv_.h|include/asm-sh64/uvuv_.h|include/asm-sparc/uvuv_.h|include/asm-sparc64/uvuv_.h|include/asm-um/uvuv_.h|include/asm-v850/uvuv_.h|include/asm-x86/uvuv_.h|include/asm-x86_64/uvuv_.h|include/asm-xtensa/uvuv_.h" class="falt">asm/uvuv_.h /a>> 3> 1 32 /a> href="d+code=MODULE_AUTHOR" class="sef=">MODULE_AUTHOR /a>( spa4 class="string">"Dimitri Sivanich <sivanich@sgi.com>" /spa4.); 33 /a> href="d+code=MODULE_DESCRIPTION" class="sef=">MODULE_DESCRIPTION /a>( spa4 class="string">"SGI UV Memory Mapped RTC Timer" /spa4.); 34 /a> href="d+code=MODULE_LICENSE" class="sef=">MODULE_LICENSE /a>( spa4 class="string">"GPL" /spa4.); 35 1 36 /a> spa4 class="comment">/* nam3 of the device, usually in /dev */ /spa4.1 37 /a>#define href="d+code=UV_MMTIMER_NAME" class="sef=">UV_MMTIMER_NAME /a> spa4 class="string">"mmtimer" /spa4.1 38 /a>#define href="d+code=UV_MMTIMER_DESC" class="sef=">UV_MMTIMER_DESC /a> spa4 class="string">"SGI UV Memory Mapped RTC Timer" /spa4.1 39 /a>#define href="d+code=UV_MMTIMER_VERSION" class="sef=">UV_MMTIMER_VERSION /a> spa4 class="string">"1.0" /spa4.1 40 1 4> 1static long href="d+code=v_mmtimer._ioctl" class="sef=">v_mmtimer._ioctl /a>(struct href="d+code=file" class="sef=">file /a> * href="d+code=file" class="sef=">file /a>, unsigned int href="d+code=cmd" class="sef=">cmd /a>, 42 /a> unsigned long href="d+code=arg" class="sef=">arg /a>); 43 1static int href="d+code=v_mmtimer._mmap" class="sef=">v_mmtimer._mmap /a>(struct href="d+code=file" class="sef=">file /a> * href="d+code=file" class="sef=">file /a>, struct href="d+code=vm_area_struct" class="sef=">vm_area_struct /a> * href="d+code=vma" class="sef=">vma /a>); 44 1 45 /a> spa4 class="comment">/* /spa4.1 46 /a> spa4 class="comment"> * Period in femtoseconds (10^-15 s) /spa4.1 47 /a> spa4 class="comment"> */ /spa4.1 48 1static unsigned long href="d+code=v_mmtimer._femtoperiod" class="sef=">v_mmtimer._femtoperiod 1; 49 1 50 1static const struct href="d+code=file_opera v3s" class="sef=">file_opera v3s /a> href="d+code=v_mmtimer._fops" class="sef=">v_mmtimer._fops /a> = { 51 /a> . href="d+code=owner" class="sef=">owner /a> = href="d+code=THIS_MODULE" class="sef=">THIS_MODULE /a>, 52 /a> . href="d+code=mmap" class="sef=">mmap /a> = href="d+code=v_mmtimer._mmap" class="sef=">v_mmtimer._mmap /a>, 53 /a> . href="d+code=unlocked_ioctl" class="sef=">vnlocked_ioctl /a> = href="d+code=v_mmtimer._ioctl" class="sef=">v_mmtimer._ioctl /a>, 54 /a> . href="d+code=llseek" class="sef=">llseek /a> = href="d+code=noop_llseek" class="sef=">noop_llseek /a>, 55 /a>}; 56 1 57 /a> spa4 class="comment">/** /spa4.1 58 /a> spa4 class="comment"> * v_mmtimer._ioctl - ioctl interface for /dev/uv_mmtimer /spa4.1 59 /a> spa4 class="comment"> * @file: file structure for the device /spa4.1 6n va> spa4 class="comment"> * @cmd: command to execute /spa4.1 61 /a> spa4 class="comment"> * @arg: "v3.14al argument to command /spa4.1 62 /a> spa4 class="comment"> * /spa4.1 63 /a> spa4 class="comment"> * Executes the command specified by @cmd. Returns 0 for success, < 0 for /spa4.1 64 /a> spa4 class="comment"> * failure. /spa4.1 65 /a> spa4 class="comment"> * /spa4.1 66 /a> spa4 class="comment"> * Valid commands: /spa4.1 67 /a> spa4 class="comment"> * /spa4.1 68 /a> spa4 class="comment"> * %MMTIMER_GETOFFSET - Should return the offset (rela ve to the start /spa4.1 69 /a> spa4 class="comment"> * of the page where the registers are mapped) for the counter in ques3.14. /spa4.1 7n va> spa4 class="comment"> * /spa4.1 71 /a> spa4 class="comment"> * %MMTIMER_GETRES - Returns the resolu v3.of the clock in femto (10^-15) /spa4.1 72 /a> spa4 class="comment"> * seconds /spa4.1 73 /a> spa4 class="comment"> * /spa4.1 74 /a> spa4 class="comment"> * %MMTIMER_GETFREQ - Copies the frequency.of the clock in Hz to the address /spa4.1 75 /a> spa4 class="comment"> * specified by @arg /spa4.1 76 /a> spa4 class="comment"> * /spa4.1 77 /a> spa4 class="comment"> * %MMTIMER_GETBITS - Returns the number of bits in the clock's counter /spa4.1 78 /a> spa4 class="comment"> * /spa4.1 79 /a> spa4 class="comment"> * %MMTIMER_MMAPAVAIL - Returns 1 if registers ca4 be mmap'd into userspace /spa4.1 8n va> spa4 class="comment"> * /spa4.1 81 /a> spa4 class="comment"> * %MMTIMER_GETCOUNTER - Gets the current 14.13 in the counter and places it /spa4.1 82 /a> spa4 class="comment"> * in the address specified by @arg. /spa4.1 83 /a> spa4 class="comment"> */ /spa4.1 84 1static long href="d+code=v_mmtimer._ioctl" class="sef=">v_mmtimer._ioctl /a>(struct href="d+code=file" class="sef=">file /a> * href="d+code=file" class="sef=">file /a>, unsigned int href="d+code=cmd" class="sef=">cmd /a>, 85 /a> unsigned long href="d+code=arg" class="sef=">arg /a>) 86 /a>{ 87 /a> int href="d+code=ret" class="sef=">ret /a> = 0; 88 1 89 /a> switch ( href="d+code=cmd" class="sef=">cmd /a>) { 85" class="line" nam3, unsig8" class="line" nam3 88 1< ="drivers/chcasa> spa4 class="spa4.1 84 1static long href="d+cod9#37;MMTI9ER_GETCOUNTER - Gets th9 curr91ef="d+code=arg" clas" id 46 /a> spa4 class="comment"> * 9n the ad9ress specified by @arg.9/spa491 75 /a> spa4 class="comment"> * 9/spa4.1<9 href="drivers/char/uv_9mtime9.c#L84" id 9 /a> spa4 class="comment"> * /spa=v_mmtim9r._ioctl" class="sef=">9_mmti9ncy.of the clock in Hz to thmmmmmmmmmmmmmmmm* blic allows fa_mmt simultaneous="lads from a ga4 n smer.tam3 9 /a> spa4 class="comment"> * /spa 9 unsigned l9ng 9s/char/uv_mmtimer.c#L76" id 9 /a> spa4 class="comment"> * /spammtimer.9#L187" id 9 /a> spa4 class="comment"> * /spa=ret" cl9ss="sef=">ret /a> = 0;<9 href9r of bits in the clock'smmmmmmmmmmmmmmmm* nam3 84 1static long href="d+cod9mtimer.c9L189" id 86 /a>{ 88 1 88 1 88 1l02 mmref="d+code=arg" class="sef=">arg /a>); 88 103 mm3ef="d+code=arg" clasb"lak 88"> 88 1l04 mmm3 45 /a> spa4 class="comment">/* 10ude/linux0/module.h" class="fef=">05 mm5="drivers/chcasa> spa4 class="spa4.1 1> 1li06 mm6ef="d+code=arg" claschamtimer.c#L1" namcopy_to_s="lL76"> 85" classopy_to_s="l=file(s/char/uv_mmmtimer.c#L86" id<__s="lL76"> 85" clas__s="l=fil *)imer.c#L86" id 85 /a> 10ude/linux0/errno.h" class="fef=">l07 mm7ef="d+code=arg" class="sef=">arg /a>&timer.c#L1" nam drivers/char/uv_mmtimer.c#L149" id 86 /a>{linu08 mm8ef="d+code=arg" class="sef="mmtimer.c#L188" id 49 1linu09 mm9ef="d+code=arg" clasb"lak 88"> 88 1 4> 1static long href="d+cod1mmtimer.c#LL112" id spa4 class="spa4.1 1> 1llinux11ref="d+code=arg" claschamtimer.c#L1" namcopy_to_s="lL76"> 85" classopy_to_s="l=file(s/char/uv_mmmtimer.c#L86" id<__s="lL76"> 85" clas__s="l=fil *)imer.c#L86" id 85 /a> 1lude/linuxx/kernel.h" class="fef=">>linu113ef="d+code=arg" class="sef=">arg /a>&timer.c#L1" namsn_rtc_cycles_ne"_"line"6" class="line"sn_rtc_cycles_ne"_"line"m3 85 /a> 1lude/linuxx/ioctl.h" class="fef=">llinux114ef="d+code=arg" class="sef=">arg /a>sizeof(s/char/uv_mmm))L86"> 86 /a>{>linu11ref="d+code=arg" class="sef="mmtimer.c#L188" id 49 1liinux/116ef="d+code=arg" clasb"lak 88"> 88 1llinux1errno.88"> 88 1linuux/mm118="drivers/chcasa> spa4 class="spa4.1 1> 1linuux/fs119ef="d+code=arg" clasmmtimer.c#L188" id 44 1lin12 ef="d+code=arg" clasb"lak 88"> 88 112m3 12 /a>#include <a href="dincluude/linux//typ3s.h" class="fef=">liinux122="drivers/chcasa> spa4 class="spa4.1 12 /a>#include <a href="dincluude/linuxx/interrupt.h" class="fe1f=">l123ef="d+code=arg" clasmmtimer.c#L188" id 88 1l1inux/124ef="d+code=arg" clasb"lak 88"> 88 1linu12m3 36 /a> spa4 class="comment">/* 1mmtimer.c1#L127" id 12 /a>#include <a href="dincluude/linuxde/asm-alpha/genapic.h|i1nclud127ef="d+code=arg" claschamtimer.c#L1" namcopy_to_s="lL76"> 85" classopy_to_s="l=file(s/char/uv_mmmtimer.c#L86" id<__s="lL76"> 85" clas__s="l=fil *)imer.c#L86" id 85 /a> 1big=inclu1de/asm-alpha/uvuv_mhub.h1|incl128ef="d+code=arg" class="sef="""""""""(s/char/uv_mmmt*)imer.c#L86" id< L78al r_83" id 85 /a> 1bude/linuxde/asm-alpha/uvubios.h|i1nclud129ef="d+code=arg" class="sef="""""""""sizeof(s/char/uv_mmm))L86"> 86 /a>{ 49 1 88 1MODULE_AUTHOR /1a>( s132="drivers/chdefault:12"> 12 /a>#include <a href="dincl3ude/linux//kernel.h" class="fef=">l=">l133ef="d+code=arg" clasmmtimer.c#L188" id 49 1 88 1 88 1 88 1UV_MM1TIMER1NAME /}88"> 88 1UV_MM1TIMER13m3 89 /a> switch ( href="d1_MMTIMER_1VERSION" class="sef=">UV1_MMTI13gisters ca4 be mmap'd ie" nam3 58 /a> spa4 class="comment"> * 1mmtimer.c1#L141" id 8n va> spa4 class="comment"> * 1e=v_mmtim1er._ioctl" class="sef=">1v_mmt14.1 6n va> spa4 class="comment"> * 1 1 unsigned l1ong 141 6n va> spa4 class="comment"> * 1 ude/linuxr._mmap" class="sef=">v_1mmtim14c#L74" id 74 /a> spa4 class="comment"> * 1mmtimer.c1#L145" id 74 /a> spa4 class="comment"> * 1mmtimer.c1 href="drivers/char/uv_m1mtime1.c#L46" id 9 /a> spa4 class="comment"> * /sp1Period in1 femtoseconds (10^-15 s)1 /spa1.1 1> 1(struct href="d+code=file" class="sef=">file /a> * href="d+code=file" class="sef=">file /a>, struct href="d+code=vm_area_struct" class="sef=">vm_area_struct /a> * href="d+code=vma" class="sef=">vma /a>); 1> 1 88 1 4> 1static long href="d+cod1wner" cla1ss="sef=">owner /a> = 1href=1d+code=THIS_MOchamtimer.c#L1" nam 4> 1static long href="d+cod1w 1s="sef=">mmap /a> = hr1ef="d15ref="d+code=arg" clasuv_mmti-mmtimer.c#L188"EINVAhimer.c#L149" idEINVAh" na 88"> 88 1vnloc1ked_i1ctl /a88"> 88 1 4> 1static long href="d+cod1wmtimer.c1.c#L156" id 88 1 57 /a> spa4 class="comment">/**1 /spa4.1<1a href="drivers/char/uv_1mmtim157d+code=noop_chamtimer.c#L1" namPAGE_SIZ2" id 86 /a>{ 88 1 50 1static const struct hre1@cmd: com1mand to execute /spa4.1<1a hre16 ef="d+code=atimer.c#L1" nam 44 1 12 /a>#include <a href="dincl/spa4.1 44 1 44 1 44 1 36 /a> spa4 class="comment">/* 16ude/linux//init.h" class="fef=">linne" 166d+code=noop_chamtimer.c#L1" namr/ na_pfn_range 85 /a> 1/spa4.1arg /a>d+code=atimer.c#L1" namPAGE_SIZ2" id, unsig8" class="line" nam3<1%MMTI1MER_GETOFFSET - Should r1eturn168ef="d+code=arg" clasmmtimer.c#L188"print5" id 35 1 44 1 88 1 12 /a>#include <a href="dinclseconds /1spa4.1 88 1 88 1 45 /a> spa4 class="comment">/* 1specified1 by @arg /spa4.1(s* href="d+code=vma" cclass="linuot; /spa4.1file /a> * href="d+class="" nam3, unsig8" class="line" nam3<1/spa4.1 85 /a> 1%MMTI1MER_GETBITS - Returns th1e num177ef="d+code=atimer.c#L1" nam>"mmtimer" /spa4.1 85 /a> 1%MMTI1 href="drivers/char/uv_m1mtime178ef="d+code=a&timer.c#L1" nam drivers/cmer.c#L151" id 85 /a> 1&f the pa1MER_MMAPAVAIL - Returns 11 if 1egiste/L56"> 56 1 4> 1static long href="d+cod1%MMTI1MER_GETCOUNTER - Gets th1e cur18m3 12 /a>#include <a href="dinclin the ad1dress specified by @arg.1 /spa1.1 58 /a> spa4 class="comment"> * 1 /spa4.1<1a href="drivers/char/uv_1mmtim1r.c#L84" id 58 /a> spa4 class="comment"> * 1 mtimer.c1er._ioctl" class="sef=">1v_mmt18ncy.of the clock in Hz to thenam3 58 /a> spa4 class="comment"> * 1 pecified1 unsigned l1ong 18c#L46" id 9 /a> spa4 class="comment"> * /sp1_mmtimer.1c#L187" id 1> 1ret /a> = 0;<1a hre18.c#L4p /a>(struct href="d+cod_hanitL76"> 85" clas__anitef="dm href="d+code=file" claanitL76"> 85" clase=file" claanit=filevoidL86"> 86 /a>{cmd /a>) 1{ 85" clasis_s="system=file/" nam3, unsig8" class="line" nam3<1/L88"> 818 1< 1 19 ef="d+code=arg" clasmmtimer.c#L188"print5" id"mmtimer" /spa4.1 35 1 88 1 88 1 88 119_mmt194ef="d+code=at id 46 /a> spa4 class="comment"> * 1a 19 unsigned l19ng 19s/char/uv_mmtimer.c#L76" id 58 /a> spa4 class="comment"> * 1ammtimer.19#L187" id 1> 1ret /a> = 0;<19 hre197d+code=noop_chamtimer.c#L1" namsn_rtc_cycles_ne"_"line"6" class="line"sn_rtc_cycles_ne"_"line"m3, unsig8" class="line" nam3<1/mtimer.c19L189" id, unsig8" class="line" nam3<1/ude/linux//fs.h" class="fef=">linux"mmtimer" /spa4.1 35 1 88 1 88 1202 2mref="88"> 88 1 88 1204 204ef="d+code=arg" class="sef=">arg /a>timer.c#L1" namsn_rtc_cycles_ne"_"line"6" class="line"sn_rtc_cycles_ne"_"line"m3 88 1arg /a>timer.c#L1" namsn_rtc_cycles_ne"_"line"6" class="line"sn_rtc_cycles_ne"_"line"m3 88 1l206 20m3 27 /a>#include <a href="d+amb0ude/linu20/errno.h" class="fef=">207 207d+code=noop_chamtimer.c#L1" namclas_r/uv_mmtuot; /spa4.1file /a> * href="d+class="" na/" nam3, unsig8" class="line" nam3<20ude/linu20/mm.h" class="fef=">lin208 2m8ef="d+code=arg" clasmmtimer.c#L188"print5" id, unsig8" class="line" nam3<20ude/linu20/fs.h" class="fef=">lin209 2m9ef="d+code=arg" class="sef=="d+code=vma" c>"mmtimer" /spa4.1 35 1 88 1 88 12linux21ref="88"> 88 1linu213ef="d+code=atimer.c#L1" namprint5" id"mmtiUV Memory Mapped RTC Timer" /spa4,am3, unsig8" class="line" nam3<2lude/linu2x/ioctl.h" class="fef=">2linux214ef="d+code=arg" clas="d+code=vma" c>"mmtit;1.0" /spa4.1linu21ref="d+code=arg" clastimer.c#L1" namsn_rtc_cycles_ne"_"line"6" class="line"sn_rtc_cycles_ne"_"line"m3 35 1l2inux/21m3 27 /a>#include <a href="d+amb ude/linu2x/errno.h" class="fef=">2linux217d+code=noop_uv_mmti/L88"> 88 1lin2ux/mm218="dr}88"> 88 1lin2ux/fs21m3 50 1static const struct hre2lude/linu2x/mmimer.ch" class="fef=2">lin22 ef="timer.c#L1" namcoduleaanitL76"> 85" clascoduleaanit=filemmtimer.c#L188"e=file" claanitL76"> 85" clase=file" claanit=fil/L35"> 35 122m3
blr.crigi id 35 http://sourceforge.net/projects/lxtu>LXR ass=s/.cyline,ftlic exne" ="liid 35 m"lito:lxt@echux.no">lxt@echux.noline.
lxt.echux.no kindly hostass="l5"> 35 http://www.redpill-echpro.no">Redpill Lchpro ASline,fprovidmmtimeLchux v3s ul immtclas_fops /a> seruv_m sinceh1995.