linux/drivers/uio/uio_sercos3.c
<<
>>
6.16.30" > v2.6.ecsubmin creturn doh" meth(this);right.png"nput typn> hidden" namn> navtarge.6.ption> right.png"nput typn> text" namn> 6.16.30id> 6.16.3ight.pngbutt submin">S6.16. ajax+*30" > v2.6.ecsubmin creturn false;righg"nput typn> hidden" namn> ajaxhlookup30id> ajaxhlookup30ption> rigrs/uinux+v3.6.grs/uinudivion="+seheadingbott 6.16._results"ion="+se 6.16._results"/li contenn">f udiviid> file_contenns"6

L13>uin1uxarm action="+secommenn">/* atic/gf: UIO L23>uin2uxarc L33>uin3uxarm action="+secommenn">uinCopy/span (C) 2008 Los3tronix GmbH"> L4">uin4uxarm action="+secommenn">uin Author: John Ogness <john.ogness@los3tronix.de="lx"> L5">uin5uxarc L6">uin6uxarm action="+secommenn">uinThis is a straspan-+v3ward UIO L7">uin7uxarm action="+secommenn">uinby the interrupt handl s and re-enabled via a write to the UIO L8">uin8uxarm action="+secommenn">uinby the uati acce-part."> L9">uin9uxarc L10">ui2.6.arm action="+secommenn">uinThe.ecly part that may atem odd is the uat of a logical OR when"> L113>ui11uxarm action="+secommenn">uinstoring and restoring enabled interrupts.nThis is done becauat the"> L123>ui12uxarm action="+secommenn">uinuati acce-part couldidir L133>ui13uxarm action="+secommenn">uinat any time.nTo reduce v2sible conflicts, the kernel L14">ui14uxarm action="+secommenn">uina logical OR to make more controlled changes (rathe3 thctibaindly"> L15">ui15uxarm action="+secommenn">uinog swriting p/uvious0ptions)."> L16">ui16uxarc L17">ui17uxarm action="+secommenn">uinRcce condi" s exist if the uati acce-partidir L18">ui18uxarm action="+secommenn">uinInterrupt Enable Register while in operat .nThe.consequences a/u"> L19">ui19uxarm action="+secommenn">uinthat certain interrupts wouldifail to be enabled v3 disabled. For"> L20">ui2.6.arm action="+secommenn">uinthis reason, the uati acce-partishouldiecly dir L213>ui21uxarm action="+secommenn">uinInterrupt Enable Register at the beginning (to ge.nthings going)."> L223>ui22uxarm action="+secommenn">uinThe uati acce-particctisafely disableiinterrupts at any time uaing"> L233>ui23uxarm action="+secommenn">uina write to the UIO L24">ui24uxarm action="+secommenn">*/"> L25">ui25uxarc L26">ui26uxar#include <cos3./ L27">ui27uxar#include <cos3./module.huxar="lxc L28">ui28uxar#include <cos3./pci.huxar="lxc L29">ui29uxar#include <cos3.//.st L3030on="+seaine30namn> L30">ui30uxar#include <cos3./io.huxar="lxc L313>ui31uxar#include <cos3./slab.huxar="lxc L323>ui32uxarc L333>ui33uxarm action="+secommenn">/* ID's +v3 SERCOS III PCI card (PLX 9030) */"> L34">ui34uxar#define/drio/uio_+code=SERCOS_SUB_VENDOR_ID"ion="+se /ui">SERCOS_SUB_VENDOR_IDuxar 0x1971f L35">ui35uxar#define/drio/uio_+code=SERCOS_SUB_SYSID_353030on="+se /ui">SERCOS_SUB_SYSID_3530uxar 0x3530f L36">ui36uxar#define/drio/uio_+code=SERCOS_SUB_SYSID_353530on="+se /ui">SERCOS_SUB_SYSID_3535uxar 0x3535f L37">ui37uxar#define/drio/uio_+code=SERCOS_SUB_SYSID_378030on="+se /ui">SERCOS_SUB_SYSID_3780uxar 0x3780f L38">ui38uxarc L39">ui39uxarm action="+secommenn">/* Interrupt Enable Register */"> L40">ui40uxar#define/drio/uio_+code=IER0_OFFSET30on="+se /ui">IER0_OFFSETuxar 0x08f L413>ui41uxarc L423>ui42uxarm action="+secommenn">/* Interrupt Status0Register */"> L433>ui43uxar#define/drio/uio_+code=ISR0_OFFSET30on="+se /ui">ISR0_OFFSETuxar 0x18f L44">ui44uxarc L45">ui45uxarstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar {c L46">ui46uxar rs/uinurio/uio_+code=u3230on="+se /ui">u32uxarnurio/uio_+code=ier0_cache30on="+se /ui">ier0_cacheuxarxc L47">ui47uxar rs/uinurio/uio_+code=spinlock_t30on="+se /ui">apinlock_tuxarnurio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxarxc L48">ui48uxar}xc L49">ui49uxarc L50">ui5.6.arm action="+secommenn">/* this fun6" ="+umes ier0_cache_lock is locked! */"> L513>ui51uxarst">atic/gf_disable_interruptsuxar(struct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxar,f L523>ui52uxar rs/uinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar *urio/uio_+code=pimg30on="+se /ui">pimguxar)f L533>ui53uxar{c L54">ui54uxar rs/uinvoid/drio/uio_+code=__iomem30on="+se /ui">__iomemuxarn*urio/uio_+code=ier030on="+se /ui">ier0uxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar[3].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxarn+/drio/uio_+code=IER0_OFFSET30on="+se /ui">IER0_OFFSETuxarxc L55">ui55uxarc L56">ui56uxar rs/uinu action="+secommenn">/* add enabled interrupts to cache */"> L57">ui57uxar rs/uinurio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache30on="+se /ui">ier0_cacheuxar |=nurio/uio_+code=ioread3230on="+se /ui">ioread32uxar(urio/uio_+code=ier030on="+se /ui">ier0uxar)xc L58">ui58uxarc L59">ui59uxar rs/uinu action="+secommenn">/* disableiinterrupts */"> L60">ui60uxar rs/uinurio/uio_+code=iowrite3230on="+se /ui">iowrite32uxar(0,nurio/uio_+code=ier030on="+se /ui">ier0uxar)xc L613>ui61uxar}c L623>ui62uxarc L633>ui63uxarm action="+secommenn">/* this fun6" ="+umes ier0_cache_lock is locked! */"> L64">ui64uxarst">atic/gf_enable_interruptsuxar(struct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxar,f L65">ui65uxar rs/uinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar *urio/uio_+code=pimg30on="+se /ui">pimguxar)f L66">ui66uxar{c L67">ui67uxar rs/uinvoid/drio/uio_+code=__iomem30on="+se /ui">__iomemuxarn*urio/uio_+code=ier030on="+se /ui">ier0uxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar[3].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxarn+/drio/uio_+code=IER0_OFFSET30on="+se /ui">IER0_OFFSETuxarxc L68">ui68uxarc L69">ui69uxar rs/uinu action="+secommenn">/* restore p/uviously enabled interrupts */"> L70">ui70uxar rs/uinurio/uio_+code=iowrite3230on="+se /ui">iowrite32uxar(urio/uio_+code=ioread3230on="+se /ui">ioread32uxar(urio/uio_+code=ier030on="+se /ui">ier0uxar) |nurio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache30on="+se /ui">ier0_cacheuxar,nurio/uio_+code=ier030on="+se /ui">ier0uxar)xc L713>ui71uxar rs/uinurio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache30on="+se /ui">ier0_cacheuxar = 0xc L723>ui72uxar}c L733>ui73uxarc L74">ui74uxarst">irqreturn_tuxarnurio/uio_+code=atic/gf_handl s30on="+se /ui">atic/gf_handl suxar(int "rio/uio_+code=irq30on="+se /ui">irquxar,nstruct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxar)f L75">ui75uxar{c L76">ui76uxar rs/uinstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar *urio/uio_+code=pimg30on="+se /ui">pimguxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=pimg30on="+se /ui">pimguxarxc L77">ui77uxar rs/uinvoid/drio/uio_+code=__iomem30on="+se /ui">__iomemuxarn*urio/uio_+code=isr030on="+se /ui">isr0uxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar[3].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxarn+/drio/uio_+code=ISR0_OFFSET30on="+se /ui">ISR0_OFFSETuxarxc L78">ui78uxar rs/uinvoid/drio/uio_+code=__iomem30on="+se /ui">__iomemuxarn*urio/uio_+code=ier030on="+se /ui">ier0uxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar[3].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxarn+/drio/uio_+code=IER0_OFFSET30on="+se /ui">IER0_OFFSETuxarxc L79">ui79uxarc L80">ui80uxar rs/uinif (!(urio/uio_+code=ioread3230on="+se /ui">ioread32uxar(urio/uio_+code=isr030on="+se /ui">isr0uxar) &nurio/uio_+code=ioread3230on="+se /ui">ioread32uxar(urio/uio_+code=ier030on="+se /ui">ier0uxar)))f L813>ui81uxar rs/uinnnnnnnnnreturn drio/uio_+code=IRQ_NONE30on="+se /ui">IRQ_NONEuxarxc L823>ui82uxarc L833>ui83uxar rs/uinurio/uio_+code=spin_lock30on="+se /ui">spin_lockuxar(&urio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxar)xc L84">ui84uxar rs/uinurio/uio_+code=stic/gf_disable_interrupts30on="+se /ui">atic/gf_disable_interruptsuxar(urio/uio_+code=info30on="+se /ui">infouxar,nurio/uio_+code=pimg30on="+se /ui">pimguxar)xc L85">ui85uxar rs/uinurio/uio_+code=spin_unlock30on="+se /ui">spin_unlockuxar(&urio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxar)xc L86">ui86uxarc L87">ui87uxar rs/uinreturn drio/uio_+code=IRQ_HANDLED"ion="+se /ui">IRQ_HANDLEDuxarxc L88">ui88uxar}c L89">ui89uxarc L90">ui90uxarst">atic/gf_irqcontroluxar(struct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxar, "rio/uio_+code=a3230on="+se /ui">s32uxarnurio/uio_+code=irq_on30on="+se /ui">irq_onuxar)f L913>ui91uxar{c L923>ui92uxar rs/uinstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar *urio/uio_+code=pimg30on="+se /ui">pimguxarn=nurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=pimg30on="+se /ui">pimguxarxc L933>ui93uxarc L94">ui94uxar rs/uinurio/uio_+code=spin_lock_irq30on="+se /ui">spin_lock_irquxar(&urio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxar)xc L95">ui95uxar rs/uinif (urio/uio_+code=irq_on30on="+se /ui">irq_onuxar)f L96">ui96uxar rs/uin rs/uinurio/uio_+code=stic/gf_enable_interrupts30on="+se /ui">atic/gf_enable_interruptsuxar(urio/uio_+code=info30on="+se /ui">infouxar,nurio/uio_+code=pimg30on="+se /ui">pimguxar)xc L97">ui97uxar rs/uinelsec L98">ui98uxar rs/uin rs/uinurio/uio_+code=stic/gf_disable_interrupts30on="+se /ui">atic/gf_disable_interruptsuxar(urio/uio_+code=info30on="+se /ui">infouxar,nurio/uio_+code=pimg30on="+se /ui">pimguxar)xc L99">ui99uxar rs/uinurio/uio_+code=spin_unlock_irq30on="+se /ui">spin_unlock_irquxar(&urio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxar)xc L100">u100uxarc L101">u101uxar rs/uinreturn 0xc L102">u102uxar}c L103">u103uxarc L104">u104uxarst">atic/gf_setup_iomemuxar(struct/drio/uio_+code=pci_deg30on="+se /ui">pci_deguxar *urio/uio_+code=deg30on="+se /ui">deguxar,nstruct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxar,f L105">u105uxar rs/uinnnnnnnnnnnnnnnnnnnnnnnnint "rio/uio_+code=n30on="+se /ui">nuxar,nint "rio/uio_+code=pci_bar30on="+se /ui">pci_baruxar)f L106">u106uxar{c L107">u107uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=addr30on="+se /ui">addruxarn=nurio/uio_+code=pci_resource_st"rt30on="+se /ui">pci_resource_st"rtuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=pci_bar30on="+se /ui">pci_baruxar)xc L108">u108uxar rs/uinif (!urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=addr30on="+se /ui">addruxar)f L109">u109uxar rs/uinnnnnnnnnreturn -1xc L110">u110uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxarn=nurio/uio_+code=ioremap30on="+se /ui">ioremapuxar(urio/uio_+code=pci_resource_st"rt30on="+se /ui">pci_resource_st"rtuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=pci_bar30on="+se /ui">pci_baruxar),f L111">u111uxar rs/uinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnurio/uio_+code=pci_resource_len30on="+se /ui">pci_resource_lenuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=pci_bar30on="+se /ui">pci_baruxar))xc L1123>u112uxar rs/uinif (!urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxar)f L1133>u113uxar rs/uinnnnnnnnnreturn -1xc L114">u114uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=size30on="+se /ui">sizeuxarn=nurio/uio_+code=pci_resource_len30on="+se /ui">pci_resource_lenuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=pci_bar30on="+se /ui">pci_baruxar)xc L115">u115uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=n30on="+se /ui">nuxar].urio/uio_+code=memtypn30on="+se /ui">memtypnuxarn=nurio/uio_+code=UIO_MEM_PHYS30on="+se /ui">UIO_MEM_PHYSuxarxc L116">u116uxar rs/uinreturn 0xc L117">u117uxar}c L118">u118uxarc L119">u119uxarst">__deginituxarnurio/uio_+code=atic/gf_pci_probe30on="+se /ui">stic/gf_pci_probeuxar(struct/drio/uio_+code=pci_deg30on="+se /ui">pci_deguxar *urio/uio_+code=deg30on="+se /ui">deguxar,f L120">u120uxar rs/uinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnconstnstruct/drio/uio_+code=pci_degice_id30on="+se /ui">pci_degice_iduxarn*urio/uio_+code=id30on="+se /ui">iduxar)f L1213>u121uxar{c L1223>u122uxar rs/uinstruct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxarxc L1233>u123uxar rs/uinstruct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar *urio/uio_+code=pimg30on="+se /ui">pimguxarxc L124">u124uxar rs/uinint "rio/uio_+code=i30on="+se /ui">iuxarxc L125">u125uxarc L126">u126uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxarn=nurio/uio_+code=kzalloc30on="+se /ui">kzallocuxar(sizeof(struct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxar),n"rio/uio_+code=GFP_KERNEL30on="+se /ui">GFP_KERNELuxar)xc L127">u127uxar rs/uinif (!urio/uio_+code=info30on="+se /ui">infouxar)f L128">u128uxar rs/uin rs/uinreturn -urio/uio_+code=ENOMEM30on="+se /ui">ENOMEMuxarxc L129">u129uxarc L130">u130uxar rs/uinurio/uio_+code=pimg30on="+se /ui">pimguxarn=nurio/uio_+code=kzalloc30on="+se /ui">kzallocuxar(sizeof(struct/drio/uio_+code=atic/gf_pimg30on="+se /ui">atic/gf_pimguxar),n"rio/uio_+code=GFP_KERNEL30on="+se /ui">GFP_KERNELuxar)xc L1313>u131uxar rs/uinif (!urio/uio_+code=pimg30on="+se /ui">pimguxar)f L1323>u132uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_free30on="+se /ui">out_freeuxarxc L1333>u133uxarc L134">u134uxar rs/uinif (drio/uio_+code=pci_enable_degice30on="+se /ui">pci_enable_degiceuxar(urio/uio_+code=deg30on="+se /ui">deguxar))f L135">u135uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_free_pimg30on="+se /ui">out_free_pimguxarxc L136">u136uxarc L137">u137uxar rs/uinif (urio/uio_+code=pci_request_reg s30on="+se /ui">pci_request_reg suxar(urio/uio_+code=deg30on="+se /ui">deguxar,n" action="+sestring">"atic/gf""> <))f L138">u138uxar rs/uin rs/uingoton"rio/uio_+code=out_disable30on="+se /ui">out_disableuxarxc L139">u139uxarc L140">u140uxar rs/uinu action="+secommenn">/* we.ecly need PCI BAR's 0, 2, 3, 4, 5 */"> L1413>u141uxar rs/uinif ("rio/uio_+code=atic/gf_setup_iomem30on="+se /ui">atic/gf_setup_iomemuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar,n0, 0))f L1423>u142uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L1433>u143uxar rs/uinif ("rio/uio_+code=atic/gf_setup_iomem30on="+se /ui">atic/gf_setup_iomemuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar,n1, 2))f L144">u144uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L145">u145uxar rs/uinif (urio/uio_+code=atic/gf_setup_iomem30on="+se /ui">atic/gf_setup_iomemuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar,n2, 3))f L146">u146uxar rs/uin rs/uingoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L147">u147uxar rs/uinif (urio/uio_+code=atic/gf_setup_iomem30on="+se /ui">atic/gf_setup_iomemuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar,n3, 4))f L148">u148uxar rs/uin rs/uingoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L149">u149uxar rs/uinif (urio/uio_+code=atic/gf_setup_iomem30on="+se /ui">atic/gf_setup_iomemuxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar,n4, 5))f L150">u150uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L1513>u151uxarc L1523>u152uxar rs/uinurio/uio_+code=apin_lock_init30on="+se /ui">apin_lock_inituxar(&urio/uio_+code=pimg30on="+se /ui">pimguxar-="lx"rio/uio_+code=ier0_cache_lock30on="+se /ui">ier0_cache_lockuxar)xc L1533>u153uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=pimg30on="+se /ui">pimguxarn=nurio/uio_+code=pimg30on="+se /ui">pimguxarxc L154">u154uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=namn30on="+se /ui">namnuxarn=nu action="+sestring">"Stic/g_III_PCI""> L155">u155uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=g srion30on="+se /ui">g srionuxarn=nu action="+sestring">"0.0.1""> L156">u156uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=irq30on="+se /ui">irquxarn=nurio/uio_+code=deg30on="+se /ui">deguxar-="lx"rio/uio_+code=irq30on="+se /ui">irquxarxc L157">u157uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=irq_flags30on="+se /ui">irq_flagsuxarn=nurio/uio_+code=IRQF_SHARED"ion="+se /ui">IRQF_SHAREDuxarxc L158">u158uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=handl s30on="+se /ui">handl suxarn=nurio/uio_+code=atic/gf_handl s30on="+se /ui">atic/gf_handl suxarxc L159">u159uxar rs/uinurio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=irqcontrol30on="+se /ui">irqcontroluxarn=nurio/uio_+code=atic/gf_irqcontrol30on="+se /ui">atic/gf_irqcontroluxarxc L160">u160uxarc L1613>u161uxar rs/uinurio/uio_+code=pci_set_drvdata30on="+se /ui">pci_set_drvdatauxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar)xc L1623>u162uxarc L1633>u163uxar rs/uinif ("rio/uio_+code=/.stregister_degice30on="+se /ui">/.stregister_degiceuxar(&urio/uio_+code=deg30on="+se /ui">deguxar-="lx"rio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=info30on="+se /ui">infouxar))f L164">u164uxar rs/uinnnnnnnnngoton"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxarxc L165">u165uxarc L166">u166uxar rs/uinreturn 0xc L167">u167uxarc L168">u168uxar"rio/uio_+code=out_unmap30on="+se /ui">out_unmapuxar:c L169">u169uxar rs/uin+v3 (urio/uio_+code=i30on="+se /ui">iuxar = 0x "rio/uio_+code=i30on="+se /ui">iuxar < 5x "rio/uio_+code=i30on="+se /ui">iuxar++) {c L170">u170uxar rs/uinnnnnnnnnif (urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=i30on="+se /ui">iuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxar)f L1713>u171uxar rs/uinnnnnnnnnnnnnnnnnurio/uio_+code=iounmap30on="+se /ui">iounmapuxar(urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=i30on="+se /ui">iuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxar)xc L1723>u172uxar rs/uin}c L1733>u173uxar rs/uinurio/uio_+code=pci_release_reg s30on="+se /ui">pci_release_reg suxar(urio/uio_+code=deg30on="+se /ui">deguxar)xc L174">u174uxar"rio/uio_+code=out_disable30on="+se /ui">out_disableuxar:c L175">u175uxar rs/uinurio/uio_+code=pci_disable_degice30on="+se /ui">pci_disable_degiceuxar(urio/uio_+code=deg30on="+se /ui">deguxar)xc L176">u176uxar"rio/uio_+code=out_free_pimg30on="+se /ui">out_free_pimguxar:c L177">u177uxar rs/uinurio/uio_+code=kfree30on="+se /ui">kfreeuxar(urio/uio_+code=pimg30on="+se /ui">pimguxar)xc L178">u178uxar"rio/uio_+code=out_free30on="+se /ui">out_freeuxar:c L179">u179uxar rs/uinurio/uio_+code=kfree30on="+se /ui">kfreeuxar(urio/uio_+code=info30on="+se /ui">infouxar)xc L180">u180uxar rs/uinreturn -urio/uio_+code=ENODEV30on="+se /ui">ENODEVuxarxc L1813>u181uxar}c L1823>u182uxarc L1833>u183uxarst">stic/gf_pci_removeuxar(struct/drio/uio_+code=pci_deg30on="+se /ui">pci_deguxar *urio/uio_+code=deg30on="+se /ui">deguxar)f L184">u184uxar{c L185">u185uxar rs/uinstruct/drio/uio_+code=/.stinfo30on="+se /ui">u.stinfouxarn*urio/uio_+code=info30on="+se /ui">infouxarn=nurio/uio_+code=pci_get_drvdata30on="+se /ui">pci_get_drvdatauxar(urio/uio_+code=deg30on="+se /ui">deguxar)xc L186">u186uxar rs/uinint "rio/uio_+code=i30on="+se /ui">iuxarxc L187">u187uxarc L188">u188uxar rs/uinurio/uio_+code=/.stunregister_degice30on="+se /ui">/.stunregister_degiceuxar(urio/uio_+code=info30on="+se /ui">infouxar)xc L189">u189uxar rs/uinurio/uio_+code=pci_release_reg s30on="+se /ui">pci_release_reg suxar(urio/uio_+code=deg30on="+se /ui">deguxar)xc L190">u190uxar rs/uinurio/uio_+code=pci_disable_degice30on="+se /ui">pci_disable_degiceuxar(urio/uio_+code=deg30on="+se /ui">deguxar)xc L1913>u191uxar rs/uinurio/uio_+code=pci_set_drvdata30on="+se /ui">pci_set_drvdatauxar(urio/uio_+code=deg30on="+se /ui">deguxar,n"rio/uio_+code=NULL30on="+se /ui">NULLuxar)xc L1923>u192uxar rs/uin+v3 (urio/uio_+code=i30on="+se /ui">iuxar = 0x "rio/uio_+code=i30on="+se /ui">iuxar < 5x "rio/uio_+code=i30on="+se /ui">iuxar++) {c L1933>u193uxar rs/uinnnnnnnnnif (urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=i30on="+se /ui">iuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxar)f L194">u194uxar rs/uinnnnnnnnnnnnnnnnnurio/uio_+code=iounmap30on="+se /ui">iounmapuxar(urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=mem30on="+se /ui">memuxar["rio/uio_+code=i30on="+se /ui">iuxar].urio/uio_+code=internal_addr30on="+se /ui">internal_addruxar)xc L195">u195uxar rs/uin}c L196">u196uxar rs/uinurio/uio_+code=kfree30on="+se /ui">kfreeuxar(urio/uio_+code=info30on="+se /ui">infouxar-="lx"rio/uio_+code=pimg30on="+se /ui">pimguxar)xc L197">u197uxar rs/uinurio/uio_+code=kfree30on="+se /ui">kfreeuxar(urio/uio_+code=info30on="+se /ui">infouxar)xc L198">u198uxar}c L199">u199uxarc L200">u200uxarst">pci_degice_iduxarndrio/uio_+code=atic/gf_pci_ids30on="+se /ui">atic/gf_pci_idsuxar[] "rio/uio_+code=__deginitdata30on="+se /ui">__deginitdatauxar = {c L201">u201uxar rs/uin{c L202">u202uxar rs/uinnnnnnnnn.urio/uio_+code=vendor30on="+se /ui">vendoruxar = rs/uinurio/uio_+code=PCI_VENDOR_ID_PLX30on="+se /ui">PCI_VENDOR_ID_PLXuxar,c L203">u203uxar rs/uinnnnnnnnn.urio/uio_+code=degice30on="+se /ui">degiceuxar = rs/uinurio/uio_+code=PCI_DEVICE_ID_PLX_903030on="+se /ui">PCI_DEVICE_ID_PLX_9030uxar,c L204">u204uxar rs/uinnnnnnnnn.urio/uio_+code=subvendor30on="+se /ui">subvendoruxar = rs/urio/uio_+code=SERCOS_SUB_VENDOR_ID"ion="+se /ui">SERCOS_SUB_VENDOR_IDuxar,c L205">u205uxar rs/uinnnnnnnnn.urio/uio_+code=subdegice30on="+se /ui">subdegiceuxar = rs/urio/uio_+code=SERCOS_SUB_SYSID_353030on="+se /ui">SERCOS_SUB_SYSID_3530uxar,c L206">u206uxar rs/uin},c L207">u207uxar rs/uin{c L208">u208uxar rs/uin rs/uin.urio/uio_+code=vendor30on="+se /ui">vendoruxar = rs/uinurio/uio_+code=PCI_VENDOR_ID_PLX30on="+se /ui">PCI_VENDOR_ID_PLXuxar,c L209">u209uxar rs/uinnnnnnnnn.urio/uio_+code=degice30on="+se /ui">degiceuxar = rs/uinurio/uio_+code=PCI_DEVICE_ID_PLX_903030on="+se /ui">PCI_DEVICE_ID_PLX_9030uxar,c L210">u210uxar rs/uinnnnnnnnn.urio/uio_+code=subvendor30on="+se /ui">subvendoruxar = rs/urio/uio_+code=SERCOS_SUB_VENDOR_ID"ion="+se /ui">SERCOS_SUB_VENDOR_IDuxar,c L211">u211uxar rs/uinnnnnnnnn.urio/uio_+code=subdegice30on="+se /ui">subdegiceuxar = rs/urio/uio_+code=SERCOS_SUB_SYSID_353530on="+se /ui">SERCOS_SUB_SYSID_3535uxar,c L2123>u212uxar rs/uin},c L2133>u213uxar rs/uin{c L214">u214uxar rs/uinnnnnnnnn.urio/uio_+code=vendor30on="+se /ui">vendoruxar = rs/uinurio/uio_+code=PCI_VENDOR_ID_PLX30on="+se /ui">PCI_VENDOR_ID_PLXuxar,c L215">u215uxar rs/uinnnnnnnnn.urio/uio_+code=degice30on="+se /ui">degiceuxar = rs/uinurio/uio_+code=PCI_DEVICE_ID_PLX_903030on="+se /ui">PCI_DEVICE_ID_PLX_9030uxar,c L216">u216uxar rs/uin rs/uin.urio/uio_+code=subvendor30on="+se /ui">subvendoruxar = rs/urio/uio_+code=SERCOS_SUB_VENDOR_ID"ion="+se /ui">SERCOS_SUB_VENDOR_IDuxar,c L217">u217uxar rs/uinnnnnnnnn.urio/uio_+code=subdegice30on="+se /ui">subdegiceuxar = rs/urio/uio_+code=SERCOS_SUB_SYSID_378030on="+se /ui">SERCOS_SUB_SYSID_3780uxar,c L218">u218uxar rs/uin},c L219">u219uxar rs/uin{n0, }c L220">u220uxar}xc L2213>u221uxarc L2223>u222uxarst">pci_dimg suxarndrio/uio_+code=atic/gf_pci_dimg s30on="+se /ui">atic/gf_pci_dimg suxar = {c L2233>u223uxar rs/uin.urio/uio_+code=namn30on="+se /ui">namnuxarn=nu action="+sestring">"atic/gf""> <,c L224">u224uxar rs/uin.urio/uio_+code=id_table30on="+se /ui">id_tableuxarn=nurio/uio_+code=atic/gf_pci_ids30on="+se /ui">atic/gf_pci_idsuxar,c L225">u225uxar rs/uin.urio/uio_+code=probe30on="+se /ui">probeuxarn=nurio/uio_+code=atic/gf_pci_probe30on="+se /ui">stic/gf_pci_probeuxar,c L226">u226uxar rs/uin.urio/uio_+code=remove30on="+se /ui">removeuxarn=nurio/uio_+code=atic/gf_pci_remove30on="+se /ui">stic/gf_pci_removeuxar,c L227">u227uxar}xc L228">u228uxarc L229">u229uxarst">__inituxarnurio/uio_+code=atic/gf_init_module30on="+se /ui">atic/gf_init_moduleuxar(void)f L230">u230uxar{c L2313>u231uxar rs/uinreturn urio/uio_+code=pci_register_dimg s30on="+se /ui">pci_register_dimg suxar(&urio/uio_+code=atic/gf_pci_dimg s30on="+se /ui">atic/gf_pci_dimg suxar)xc L2323>u232uxar}c L2333>u233uxarc L234">u234uxarst">__exituxarnurio/uio_+code=atic/gf_exit_module30on="+se /ui">atic/gf_exit_moduleuxar(void)f L235">u235uxar{c L236">u236uxar rs/uinurio/uio_+code=pci_unregister_dimg s30on="+se /ui">pci_unregister_dimg suxar(&urio/uio_+code=atic/gf_pci_dimg s30on="+se /ui">atic/gf_pci_dimg suxar)xc L237">u237uxar}c L238">u238uxarc L239">u239uxar"rio/uio_+code=module_init30on="+se /ui">module_inituxar(urio/uio_+code=atic/gf_init_module30on="+se /ui">atic/gf_init_moduleuxar)xc L240">u240uxar"rio/uio_+code=module_exit30on="+se /ui">module_exituxar(urio/uio_+code=atic/gf_exit_module30on="+se /ui">atic/gf_exit_moduleuxar)xc L2413>u241uxarc L2423>u242uxarurio/uio_+code=MODULE_DESCRIPTION30on="+se /ui">MODULE_DESCRIPTIONuxar(u action="+sestring">"UIO <)xc L2433>u243uxarurio/uio_+code=MODULE_AUTHOR30on="+se /ui">MODULE_AUTHORuxar(u action="+sestring">"John Ogness <john.ogness@ainutronix.de="lx""> <)xc L244">u244uxar"rio/uio_+code=MODULE_LICENSE30on="+se /ui">MODULE_LICENSEuxar(u action="+sestring">"GPL v2""> <)xc L245">u245uxar

The original LXR software by the LXR communityuxar,nthis experimennal g srion by lxr@ainux.nouxar.
lxr.ainux.no kindly hosted by Redpill Linpro ASuxar,nprovid snof Linuxnconsulting and oper">