"> > <<" +apt type >
iv class<<" gth/;i++ngth!-- --gs[0].leargar arid=" == pri.urs[0].lear
1; engtargapgtaraspt type="js/lxrng-fun >
sso2 {"/spa fe {"/formfe {"a sso2 { href="../linux+vtarg.2/drivers/scsi/a4000t.c">sso2 {"img src="../.static/gfx/right.png" alt=">>">ss"/spa fess"spa class="lxr_search">sso2
sso2 {"input typarghidden" namargnavtarget" f2gtarg">sso2 {"input typargtext" namargsearch" idrgsearch">sso2 {"butt4.0typargsubmit">Searchsso2 {Prefse {"/a>ss"/spa feo2 { {"/divfeo2 { {"form aco11 ="ajax+*" method="post" onsubmit="return false;">ss"input typarghidden" namargajax_lookup" idrgajax_lookup" f2gtarg">so2 { {"/formfeso2 { {"div class="headingbott4m">e "div idrgfile_contents"f
{ {1"/a>"spa  class="comment">/*"/spa fe{ {2"/a>"spa  class="comment"> * Deteco11  routine for the NCR53c710 based Amiga SCSI Controllers for Linux."/spa fe{ {3"/a>"spa  class="comment"> *              Amiga Technologies A4000T SCSI controller."/spa fe{ {4"/a>"spa  class="comment"> *"/spa fe{ {5"/a>"spa  class="comment"> * Written 1997 by Ala  Hourihane <ala h@fairlite.demon.co.uk>"/spa fe{ {6"/a>"spa  class="comment"> * plus modificao11 s of the 53c7xx.c driver to support the Amiga."/spa fe{ {7"/a>"spa  class="comment"> *"/spa fe{ {8"/a>"spa  class="comment"> * Rewritten to use 53c700.c by Kars de Jong <jongk@linux-m68k.org>"/spa fe{ {9"/a>"spa  class="comment"> */"/spa fe{ rgs[afe{ 11"/a>#include <linux/module.h"/a>>e{ 12"/a>#include <linux/platform_device.h"/a>>e{ 13"/a>#include <linux/init.h"/a>>e{ 14"/a>#include <linux/interrupt.h"/a>>e{ 15"/a>#include <linux/slab.h"/a>>e{ 16"/a>#include <asm/amigahw.h"/a>>e{ 17"/a>#include <asm/amigaints.h"/a>>e{ 18"/a>#include <scsi/scsi_host.h"/a>>e{ 19"/a>#include <scsi/scsi_transport_spi.h"/a>>e{ 2gs[afe{ 21"/a>#include "53c700.h"/a>"e{ 22s[afe{ 23s[afe{ 24"/a>static struct{"a href="+code=scsi_host_template" class="sref">scsi_host_template"/a>{"a href="+code=a4000t_scsi_driver_template" class="sref">a4000t_scsi_driver_template"/a>{= {e{ 25"/a>        ."a href="+code=nama" class="sref">nama"/a>           = "spa  class="string">"A4000T builtin SCSI"{ 26"/a>        ."a href="+code=proc_nama" class="sref">proc_nama"/a>      = "spa  class="string">"A4000t"{ 27"/a>        ."a href="+code=this_id" class="sref">this_id"/a>        = 7,e{ 28"/a>        ."a href="+code=module" class="sref">module"/a>         ={"a href="+code=THIS_MODULE" class="sref">THIS_MODULE"/a>,e{ 29"/a>};e{ 3gs[afe{ 31s[afe{ 32"/a>#define "a href="+code=A4000T_SCSI_OFFSET" class="sref">A4000T_SCSI_OFFSET"/a>      0x40e{ 33s[afe{ 34"/a>static int "a href="+code=__init" class="sref">__init"/a>{"a href="+code=amiga_a4000t_scsi_probe" class="sref">amiga_a4000t_scsi_probe"/a>(struct{"a href="+code=platform_device" class="sref">platform_device"/a>{*"a href="+code=pdev" class="sref">pdev"/a>)e{ 35"/a>{e{ 36"/a>        struct{"a href="+code=resource" class="sref">resource"/a>{*"a href="+code=res" class="sref">res"/a>;e{ 37"/a>        "a href="+code=phys_addr_t" class="sref">phys_addr_t"/a>{"a href="+code=scsi_addr" class="sref">scsi_addr"/a>;e{ 38"/a>        struct{"a href="+code=NCR_700_Host_Paramaters" class="sref">NCR_700_Host_Paramaters"/a>{*"a href="+code=hostdata" class="sref">hostdata"/a>;e{ 39"/a>        struct{"a href="+code=Scsi_Host" class="sref">Scsi_Host"/a>{*"a href="+code=host" class="sref">host"/a>;e{ 4gs[afe{ 41"/a>        "a href="+code=res" class="sref">res"/a> ={"a href="+code=platform_get_resource" class="sref">platform_get_resource"/a>("a href="+code=pdev" class="sref">pdev"/a>,{"a href="+code=IORESOURCE_MEM" class="sref">IORESOURCE_MEM"/a>,{0);e{ 42"/a>        if (!"a href="+code=res" class="sref">res"/a>)e{ 43"/a>                return -"a href="+code=ENODEV" class="sref">ENODEV"/a>;e{ 44s[afe{ 45"/a>        if (!"a href="+code=request_mem_region" class="sref">request_mem_region"/a>("a href="+code=res" class="sref">res"/a>->"a href="+code=start" class="sref">start"/a>,{"a href="+code=resource_size" class="sref">resource_size"/a>("a href="+code=res" class="sref">res"/a>),e{ 46"/a>                                "spa  class="string">"A4000T builtin SCSI"{ 47"/a>                return -"a href="+code=EBUSY" class="sref">EBUSY"/a>;e{ 48s[afe{ 49"/a>        "a href="+code=hostdata" class="sref">hostdata"/a> ={"a href="+code=kzalloc" class="sref">kzalloc"/a>(sizeof(struct{"a href="+code=NCR_700_Host_Paramaters" class="sref">NCR_700_Host_Paramaters"/a>),e{ 50"/a>                           "a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL"/a>);e{ 51"/a>        if (!"a href="+code=hostdata" class="sref">hostdata"/a>) {e{ 52"/a>                "a href="+code=dev_err" class="sref">dev_err"/a>(&"a href="+code=pdev" class="sref">pdev"/a>->"a href="+code=dev" class="sref">dev"/a>,{"spa  class="string">"Failed to allocate host data\n"{ 53"/a>                goto "a href="+code=out_release" class="sref">out_release"/a>;e{ 54"/a>        }e{ 55s[afe{ 56"/a>        "a href="+code=scsi_addr" class="sref">scsi_addr"/a> ={"a href="+code=res" class="sref">res"/a>->"a href="+code=start" class="sref">start"/a> + "a href="+code=A4000T_SCSI_OFFSET" class="sref">A4000T_SCSI_OFFSET"/a>;e{ 57s[afe{ 58"/a>        "spa  class="comment">/* Fill in the required pieces of hostdata */"/spa fe{ 59"/a>        "a href="+code=hostdata" class="sref">hostdata"/a>->"a href="+code=base" class="sref">base"/a> ={(void "a href="+code=__iomem" class="sref">__iomem"/a>{*)"a href="+code=ZTWO_VADDR" class="sref">ZTWO_VADDR"/a>("a href="+code=scsi_addr" class="sref">scsi_addr"/a>);e{ 60"/a>        "a href="+code=hostdata" class="sref">hostdata"/a>->"a href="+code=clock" class="sref">clock"/a> ={50;e{ 61"/a>        "a href="+code=hostdata" class="sref">hostdata"/a>->"a href="+code=chip710" class="sref">chip710"/a> ={asso263"out_release" cla2;A4000T builtin Ss
_shLJte"/a>{= {estart"/a> + "a href=6s="strin6">"Failed to alloc6te ho63sref">chip710"/a> ={asso263"out_release" cla2;A4000T builtin Ss
_shLJte"/a>{= {e{ 61"/a>    EA_gL6art" class="sref">start"/a> + "a href=6goto "a 6ref="+code=out_release"6class6lass="sref">ENODEV"/a>;e{ 57s[afe{ 58"/a>        "spa  class6997 by Alla  Hourihane <ala h@ss="l6ne" namargL55">{ 55s[afe{ 39"/a>        struct{56" class="line" noc" clasdref="ef="+code=kzalloc" clasdref="52" class="line" namargL5ic struct{"a href="+code=scsi_host_template" class="sref">scsi_host_templon"/a>("a href="+"out_release" cla2;A4000T builtin S(sizeof(struct{"a href="+code=NCR_6+code=A4600T_SCSI_OFFSET" class=6sref"6tin SCSI"{ 52"/a>                "a href="+code=dev_err" class="sref">dev_err"ode=ZTWO_VADDR" class="sref">ZTWO_VAs/scsi/a6000t.c#L57" idrgL57" cl6ss="l6ne" namargL57RNEL"/a>);e        struct{ class="line" namargL51">{ 51"/a>   6"comment6>/* Fill in the require6 piec69in SCSI"{ 52"/a>                "a href="+code=dev_err" class="sref">dev_err"/>"spa  class="comment"> * plus modDDR"/a>(7a href="+code=scsi_addr7 clas70_Host_Paramaters"/a>),e(&"a href="+code=pdev"No"/a>-&gref="ed; boardss="figurs/scs  clalem?a href="+code=dev" class="sref">dev"/a>,{"spa  cla7ata"/a>-7gt;"a href="+code=clock7 clas71_Host_Paramaters"/a>);estart"/a> + "a href=7"/a>->7"a href="+code=chip710"7class7"sref">chip71lease"/a>;e"Failed to alloc7te ho7SI_OFFSET"/a>      0x40e{ 55s[afe{ 39"/a>        struct{"a href="+code=dev_eef="drivers/scsi/a4000t.c#L27" idr= 7 class="sref">start"/a> + "a href=7000t.c#L74" idrgL54" class="line7 nama75e" namargL55">{ 55s[afe{ 39"/a>        struct{"a href="+code=dev_eamargL59">{ 59"/a>        "a hlass="line" namargL37">{ 37"/a>        "a href="+code=phys_addr_t" class="sref">phys_a7997 by A7la  Hourihane <ala h7ss="l7ne" namargL55">{ 55s[afe{ 39"/a>        struct{"a href="+code=dev_eirq{ 39"/a>       irq   "a hlass="line" namIRQ_AMIGA_PORTStform_get_resourRQ_AMIGA_PORTS+code=phys_addr_t" class="sref">phys_a7dificao111 s of the 53c7xx.c drivsref"7A4000T_SCSI_OFFSET"/a>;e       drivers/irqef="+code=__iomem" c39">{ 39"/a>        struct{"a href="+code=dev_eirq{ 39"/a>       irq   "on"/a>("a href="+oc" clasint{ 37"/a>        oc" clasint{form_get_resource" claRQF_SHAREDtform_get_resourRQF_SHAREDerr"/a>(&"a href="+code=pdev"ref="d-eproc_7"comment7>/* Fill in the require7 piec79in SCSI"{ 55s[afe{ 39"/a>        struct{) class="line" namargL51">{ 51"/a>   8DDR"/a>(8a href="+code=scsi_addr8 clas80_Host_Paramaters"/a> {e{ 52"/a>                "a href="+code=dev_err" class="sref">dev_err"/a>(&"a href="+code=pdev"drivers/irq fclassa href="+code=dev" class="sref">dev"/a>,{"spa  cla8ata"/a>-8gt;"a href="+code=clock8 clas81_Host_Paramaters"/a>);e{ 39"/a>       scsipcsi39">+code=phys_addr_t" class="sref">phys_a8"/a>->8"a href="+code=chip710"8class8"sref">chip71lease"/a>;e"Failed to alloc8te ho8SI_OFFSET"/a>      0x40e{ 55s[aferes"/a> ={"a href="+code=platform_get_resource" cl39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a8000t.c#L84" idrgL54" class="line8 nama85e" namargL55">{ 55s[afe{ 39"/a>       "a hrscani39">ef="+code=__iomem" c39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a8997 by A8la  Hourihane <ala h8ss="l8ne" namargL55))ehost8dificao181 s of the 53c7xx.c dri8sref"8A4000T_SCSI_OFFSET"/a>;e{ {7"/a>ss="l8ne" na href="drivers/scsipcsi39">{ 39"/a>       scsipcsi39">+cod:T_SCSI_OFFSET"/a>;e/* Fill in the require8 piec8s of hostdata */"/spa fe       "a hrss="lpcsef="+code=__iomem" c39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a9DDR"/a>(9a href="+code=scsi_addr9 clas90e" na href="drivers/scsifret.c#L53" idrgL53" clfretart":T_SCSI_OFFSET"/a>;e-9gt;"a href="+code=clock9 clas9="sref">clock"/a> ={50;eers/scsi/a4000t.c#L51" idrgL51" e=phys_addr_t" class="sref">phys_a9"/a>->9"a href="+code=chip710"9class92e" na href="drivers/scsi/a4000t.c#L53" idrgL53" class="line" :T_SCSI_OFFSET"/a>;e"Failed to alloc9te ho93sref">chip710"/a> ={asso263ass="li/scsi/a4000t.c#L45" idrgL45"s="li/scsi/a4000margL45">{ 45"/a>        if (!"a href="+code=request_mem_region" class="sref">request_mem_region"/a>("a href="+code=res" class="sref">res"/a>->"a href="+code=start" class="sref">start"/a>,{"a hre e=phys_addr_t" class="sref">phys_a9goto "a 9ref="+code=out_release"9class94e" namargL55))e{ 43"/a>        9000t.c#L94" idrgL54" class="line9 nama95e" nlease"/a>;e;e{ 33s[afestatic int "a href="+code=__init"remov>a hreff">__init"/a>{"a href="+code=amiga_a4000t_scsi_probe" class="sref">amiga_a4000t_scsi_probe"/a>(struct{"a href="+code=platform_device" class="sref">p9 class="9line" namargL7">{ {7"/a9ss="l9ne" nlass="line" namargL51">{ 51"/a>   9se 53c7000.c by Kars de Jong < piec9ss="sref">hostdata"/a>;e{ 39"/a>        struct{c#L41" idrgL41" class="line" naefv_release" cla2;A400  "a hrefgetrefv_rel class="sref">res"/a> ={"a href="+code=platform e=phys_addr_t" class="sref">phys_a10lass="linee" namargL9">{ {9"/a>"spa clapa s="sref">hostdata"/a>;e{ 38"/a>        struct{"a href="+code=NCR_700_Host_Paramatea hlass="line" namass="lpt" ="sref">request_ss="lpt" ef="+code=__iomem" c39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a10s/scsi/a40000t.c#L10" idrgL10" cla01clapa1s="sref">hostdata"/a>;e{ 36"/a>        strc#L41" idrgL41" class="line" namargL41">{ 41"/a>        "a href="+code=res" class="sref">res"/a> ={"a href="+code=platform_get_resource" class="sref">platform_get_resource"/a>("a href="+code=pdev" class="sref">pdev"/a>,{"a h10f="includ0e/linux/module.h" class=02claparef">53c700.h"/a>"eli03clapa3sref">chip710"/a> ={asso263init"remov>i39">{ 39"/a>       "a hrremov>i39">ef="+code=__iomem" c39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a10 href="in0clude/linux/init.h" clas04clapa4e" namargL55">{ 55s[afe{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a105href="in04" idrgL54" class="linen04"lapa5e" namargL55">{ 55s[afeers/scsi/a4000t.c#L51" idrgL51" e=phys_addr_t" class="sref">phys_a10 href="in0clude/linux/slab.h" clas06"lapane" namargL55">{ 55s[afe       fret/irqef="+code=__iomem" c39">{ 39"/a>        struct{"a href="+code=dev_eirq{ 39"/a>       irq   "on"/a>("a href="+39">{ 39"/a>        struct{)e=phys_addr_t" class="sref">phys_a10clude/asm0-xtensa/amigahw.h" class07"lapa" class="sref">res"/a>;e{ 45"/a>        if (!"a href="+code=request_mem_region" class="sref">request_mem_region"/a>("a href="+code=res" class="sref">res"/a>->"a href="+code=start" class="sref">start"/a>,{"a hre e=phys_addr_t" class="sref">phys_a10e/asm-xte0nsa/amigaints.h" class="08"lapane" namargL57))ehost10nclude/sc0si/scsi_host.h" class="f09"lapa9e" nlease"/a>;e{ {9"/a>"sppa  c1ass="comment"> */"/spa fe{ 23s[afe{ 51"/a>   1ef="includde/linux/module.h" class=="fre11"sref">chip71      = 7,estatic int "a hremov>a hrc#L41" idrgL41" cl.cexiv_pers/scsi/a4000t.cexiv_pf="+code=start" clasref="+code=__init"remov>static int "a href="+code=__init"remov>a hr>(sizeof(struct{"a href="+code=NCR_1platform_ddevice.h" class="fref">liinux/113sref">chip71      = 7,e{ 51"/a>   1e href="innclude/linux/init.h" classs="f114e" namargL55">chip71      = 7,e{ 26"/a>ref="-ref="d-eproc_1clude/linuux/interrupt.h" class="frref">115e" namargL55">chip71      = 7,e{ 28"/a>        ."a href="+code=module" class="sref">module"/a>     1a href="innclude/linux/slab.h" classs="f11ne" namargL55}dule" class="sref">module"/a>     1aclude/asmm-xtensa/amigahw.h" classs="fa1t">asm">THIS_MODULE"/a>,eEBUSY"/a>;e{ 33s[afe{ 3drivers/scsi/a4000tne" namargL34">{ 3drivf="+cef="de=platform_device" class="sref">p1transport1_spi.h" class="fref">scs1i/scs1_translass="line" namargL51">{ 51"/a>   1rs/scsi/a14000t.c#L20" idrgL20" cl1ass="121e" namargL57))estatic int "a he" class=""/spa34"/a>52" class="line" namargL5ref="+code=__init"""/spa4000t_scsi_probref="+code=__init"""/spa strdule" class="sref">module"/a>     1hostdata"/a>))))))))))))))))))))))"line" namargL5ref="+code=__init"4"/a>static int "a href="+code=__init" class="s e=phys_addr_t" class="sref">phys_a1rs/scsi/a14000t.c#L22" idrgL22" cl1ass="1ine" nlease"/a>;eENODEV"/a>;ea40001t_scs1_drive"line" namargL50t.c#L3drivers/scsi/a4000t0t.c#L3drivf="+code=start" clasref="+code=__init"drivers/scsi/a4000tne" namargL34">{ 3drivf="+ e=phys_addr_t" class="sref">phys_a1r href="inclass="string">"A40100T b1264000T_SCSI_OFFSET"/a>;e 1     = "spa  class="stri1ng">&12A4000amargL3ef="+code=hostdata" clexivers/scsi/a4000t.cexive" na href="drivers/ref="+code=__init"exivers/scsi/a4000tref="+code=__init"exivf="+cef="de=platform_device" class="sref">p1te/asm-xtef="+code=this_id" class=1"sref12ne" nlass="line" namargL51">{ 51"/a>   1    ={"a 1href="+code=THIS_MODULE"1 clas12s of hostdata */"/spa fephys_a1/scsi/a40100t.c#L29" idrgL29" clas1s="li1e" namlease"/a>;e{ 3gs[afephys_a1/latform_deevice.h" class="fref">linss="1CSI_OFFSET"/a>      0x40ebase"/a> ={(="+cod_AUTHOef="+cors/scsi/a4000t.c#L46" idrgLi/a4000t.c#L5" idrgL5" class="line" namargL5">{  /   ."a href="+FSET"/a>      0x40e{*"a href="+cod1e=pde135e" namargL55">chipors/scsi/a4000t.c#L46" idrg8" idrgL8" class="line" namargL8">{ {8"/ahref="+code=dev" class="sref">dev"/a>,{"spa  cla1s/scsi/a41000t.c#L35" idrgL35" cla1ss="l1ne" naode=start" clas="+cod_DESCRIPTIONf">base"/a> ={(="+cod_DESCRIPTIONf="+cors/scsi/a4000t.c#L46" idrgLscsi/L46" clc#L2"Cidrgref">dhref="+code=dev" class="sref">dev"/a>,{"spa  cla1sama"/a> 1esource"/a>{*"a href="+c1ode=r1s" claode=start" clas="+cod_LICENS8"/a>        ."a="+cod_LICENS8f="+cors/scsi/a4000t.c#L46" idrgGPLhref="+code=dev" class="sref">dev"/a>,{"spa  cla1se/asm-xte{"a href="+code=scsi_add1r" cl1ss="srode=start" clas="+cod_ALIAStform_get_resou="+cod_ALIASf="+cors/scsi/a4000t.c#L46" idrge" class:ref="-ref="d-edev"/a>,{"spa  cla1s   ={"a 1>{*"a href="+code=hostda1ta" c1ass="s
The original LXR software.c#L00t. class="shttp://->"lasge.net/projects/lx4s>LXR  hreurivyregiont.c# experief="al ">descs c#L class="smailto:lx4" nama.no">lx4" nama.noregi.
ingbottm">
lx4. nama.no kindly"/a>-ed c#L class="shttp://www.redpill- napro.no">Redpill/a>"pro ASf="+,  clvider58" Lnamass="{"dic#Leand opers/scsi/serref"i/sincerive5.
ingbott4m/bodyttm/htmlar