linux/drivers/pcmcia/omap_cf.c
<<
2lue2lue2lo/spa.142lospa. class="lxr_search">2lue2lue hidden" namn> navtarget" lu3on> ">2lue text" namn> search" id> search">2lue submit">Search2lue2lo/spa.14ue2loinput typn> hidden" namn> ajax_lookup" id> ajax_lookup" lu3on> ">2ue search_results" class="search_results"4 <14ue content">4 odiv id> file_contents"1
28/7c/b33f0eeb41e50b5b3a876ff87e11d582a04f_3/0"1
L1" class="line" namn>
L1">/ /1o/a>ospa. class="comment">/*o/spa.14
L2" class="line" namn>
L2">/ /2o/a>ospa. class="comment"> * omap_cf.c -- OMAP 16xx Compac Flash controller drivero/spa.14
L3" class="line" namn>
L3">/ /3o/a>ospa. class="comment"> *o/spa.14
L4" class="line" namn>
L4">/ /4o/a>ospa. class="comment"> * Copyright (c) 2005 David Brownello/spa.14
L5" class="line" namn>
L5">/ /5o/a>ospa. class="comment"> *o/spa.14
L6" class="line" namn>
L6">/ /6o/a>ospa. class="comment"> * This program is free software; you ca. redistribute it and/or modifyo/spa.14
L7" class="line" namn>
L7">/ /7o/a>ospa. class="comment"> * it under the terms of the GNU General Public License as published byo/spa.14
L8" class="line" namn>
L8">/ /8o/a>ospa. class="comment"> * the Free Software Founda v3.; either version22 of the License, oro/spa.14
L9" class="line" namn>
L9">/ /9o/a>ospa. class="comment"> * (at your 
  v3.) any later version.o/spa.14
L10" class="line" namn>
L10">/ 
	  a>ospa. class="comment"> */o/spa.14
L11" class="line" namn>
L11">/ 11o/a>4
L12" class="line" namn>
L12">/ 12o/a>#include <linux/module.ho/a>>4
L13" class="line" namn>
L13">/ 13o/a>#include <linux/kernel.ho/a>>4
L14" class="line" namn>
L14">/ 14o/a>#include <linux/platform_device.ho/a>>4
L15" class="line" namn>
L15">/ 15o/a>#include <linux/errno.ho/a>>4
L16" class="line" namn>
L16">/ 16o/a>#include <linux/init.ho/a>>4
L17" class="line" namn>
L17">/ 17o/a>#include <linux/delay.ho/a>>4
L18" class="line" namn>
L18">/ 18o/a>#include <linux/interrupt.ho/a>>4
L19" class="line" namn>
L19">/ 19o/a>#include <linux/slab.ho/a>>4
L20" class="line" namn>
L20">/ 20o/a>4
L21" class="line" namn>
L21">/ 21o/a>#include <pcmcia/ss.ho/a>>4
L22" class="line" namn>
L22">/ 22o/a>4
L23" class="line" namn>
L23">/ 23o/a>#include <mach/hardware.ho/a>>4
L24" class="line" namn>
L24">/ 24o/a>#include <asm/io.ho/a>>4
L25" class="line" namn>
L25">/ 25o/a>#include <asm/sizes.ho/a>>4
L26" class="line" namn>
L26">/ 26o/a>4
L27" class="line" namn>
L27">/ 27o/a>#include <plat/mux.ho/a>>4
L28" class="line" namn>
L28">/ 28o/a>#include <plat/tc.ho/a>>4
L29" class="line" namn>
L29">/ 29o/a>4
L30" class="line" namn>
L30">/ 30o/a>4
L31" class="line" namn>
L31">/ 31o/a>ospa. class="comment">/* NOTE:  don't expect this to support many I/O cards.  The 16xx chips haveo/spa.14
L32" class="line" namn>
L32">/ 32o/a>ospa. class="comment"> * hard-wired timings to support Compac  Flash memory cards; they won't worko/spa.14
L33" class="line" namn>
L33">/ 33o/a>ospa. class="comment"> * with various other devices (like WLAN adapters) without some externalo/spa.14
L34" class="line" namn>
L34">/ 34o/a>ospa. class="comment"> * logic to help out.o/spa.14
L35" class="line" namn>
L35">/ 35o/a>ospa. class="comment"> *o/spa.14
L36" class="line" namn>
L36">/ 36o/a>ospa. class="comment"> * NOTE:  CF controller docs disagree with address space docs as to whereo/spa.14
L37" class="line" namn>
L37">/ 37o/a>ospa. class="comment"> * CF_BASE really lives; this is a doc erratum.o/spa.14
L38" class="line" namn>
L38">/ 38o/a>ospa. class="comment"> */o/spa.14
L39" class="line" namn>
L39">/ 39o/a>#define/oa href="+code=CF_BASE" class="sref">CF_BASEo/a> 0xfffe28004
L40" class="line" namn>
L40">/ 40o/a>4
L41" class="line" namn>
L41">/ 41o/a>ospa. class="comment">/* status; read after IRQ */o/spa.14
L42" class="line" namn>
L42">/ 42o/a>#define/oa href="+code=CF_STATUS" class="sref">CF_STATUSo/a>                       (oa href="+code=CF_BASE" class="sref">CF_BASEo/a> + 0x00)4
L43" class="line" namn>
L43">/ 43o/a>#       define//oa href="+code=CF_STATUS_BAD_READ" class="sref">CF_STATUS_BAD_READo/a>      (1 << 2)4
L44" class="line" namn>
L44">/ 44o/a>#       define//oa href="+code=CF_STATUS_BAD_WRITE" class="sref">CF_STATUS_BAD_WRITEo/a>     (1 << 1)4
L45" class="line" namn>
L45">/ 45o/a>#       define//oa href="+code=CF_STATUS_CARD_DETECT" class="sref">CF_STATUS_CARD_DETECTo/a>   (1 << 0)4
L46" class="line" namn>
L46">/ 46o/a>4
L47" class="line" namn>
L47">/ 47o/a>ospa. class="comment">/* which chipselect (CS0..CS3) is used for CF (ac vve low) */o/spa.14
L48" class="line" namn>
L48">/ 48o/a>#define/oa href="+code=CF_CFG" class="sref">CF_CFGo/a>                          (oa href="+code=CF_BASE" class="sref">CF_BASEo/a> + 0x02)4
L49" class="line" namn>
L49">/ 49o/a>4
L50" class="line" namn>
L50">/ 5	  a>ospa. class="comment">/* card reset */o/spa.14
L51" class="line" namn>
L51">/ 51o/a>#define/oa href="+code=CF_CONTROL" class="sref">CF_CONTROLo/a>                      (oa href="+code=CF_BASE" class="sref">CF_BASEo/a> + 0x04)4
L52" class="line" namn>
L52">/ 52o/a>#       define//oa href="+code=CF_CONTROL_RESET" class="sref">CF_CONTROL_RESETo/a>        (1 << 0)4
L53" class="line" namn>
L53">/ 53o/a>4
L54" class="line" namn>
L54">/ 54o/a>#define/oa href="+code=omap_cf_present" class="sref">omap_cf_presento/a>() (!(oa href="+code=omap_readw" class="sref">omap_readwo/a>(oa href="+code=CF_STATUS" class="sref">CF_STATUSo/a>) &/oa href="+code=CF_STATUS_CARD_DETECT" class="sref">CF_STATUS_CARD_DETECTo/a>))4
L55" class="line" namn>
L55">/ 55o/a>4
L56" class="line" namn>
L56">/ 56o/a>ospa. class="comment">/*--------------------------------------------------------------------------*/o/spa.14
L57" class="line" namn>
L57">/ 57o/a>4
L58" class="line" namn>
L58">/ 58o/a>static const char/oa href="+code=driver_namn" class="sref">driver_namno/a>[] = ospa. class="string">"omap_cf"o/spa.1;4
L59" class="line" namn>
L59">/ 59o/a>4
L60" class="line" namn>
L60">/ 60o/a>struct oa href="+code=omap_cf_socket" class="sref">omap_cf_socketo/a> {4
L61" class="line" namn>
L61">/ 61o/a>        struct oa href="+code=pcmcia_socket" class="sref">pcmcia_socketo/a>    oa href="+code=socket" class="sref">socketo/a>;4
L62" class="line" namn>
L62">/ 62o/a>4
L63" class="line" namn>
L63">/ 63o/a>        struct oa href="+code=timer_list" class="sref">timer_listo/a>       oa href="+code=timer" class="sref">timero/a>;4
L64" class="line" namn>
L64">/ 64o/a>        unsigned                oa href="+code=present" class="sref">presento/a>:1;4
L65" class="line" namn>
L65">/ 65o/a>        unsigned                oa href="+code=ac vve" class="sref">ac vveo/a>:1;4
L66" class="line" namn>
L66">/ 66o/a>4
L67" class="line" namn>
L67">/ 67o/a>        struct oa href="+code=platform_device" class="sref">platform_deviceo/a>  *oa href="+code=pdev" class="sref">pdevo/a>;4
L68" class="line" namn>
L68">/ 68o/a>        unsigned long           oa href="+code=phys_cf" class="sref">phys_cfo/a>;4
L69" class="line" namn>
L69">/ 69o/a>        oa href="+code=u_int" class="sref">u_into/a>                   oa href="+code=irq" class="sref">irqo/a>;4
L70" class="line" namn>
L70">/ 70o/a>        struct oa href="+code=resource" class="sref">resourceo/a>         oa href="+code=iomem" class="sref">iomemo/a>;4
L71" class="line" namn>
L71">/ 71o/a>};4
L72" class="line" namn>
L72">/ 72o/a>4
L73" class="line" namn>
L73">/ 73o/a>#define/oa href="+code=POLL_INTERVAL" class="sref">POLL_INTERVALo/a>           (2 */oa href="+code=HZ" class="sref">HZo/a>)4
L74" class="line" namn>
L74">/ 74o/a>4
L75" class="line" namn>
L75">/ 75o/a>ospa. class="comment">/*--------------------------------------------------------------------------*/o/spa.14
L76" class="line" namn>
L76">/ 76o/a>4
L77" class="line" namn>
L77">/ 77o/a>static int oa href="+code=omap_cf_ss_init" class="sref">omap_cf_ss_inito/a>(struct oa href="+code=pcmcia_socket" class="sref">pcmcia_socketo/a> *oa href="+code=s" class="sref">so/a>)4
L78" class="line" namn>
L78">/ 78o/a>{4
L79" class="line" namn>
L79">/ 79o/a>        return 0;4
L80" class="line" namn>
L80">/ 80o/a>}4
L81" class="line" namn>
L81">/ 81o/a>4
L82" class="line" namn>
L82">/ 82o/a>ospa. class="comment">/* the timer is primarily to kick this socket's pccardd */o/spa.14
L83" class="line" namn>
L83">/ 83o/a>static void oa href="+code=omap_cf_timer" class="sref">omap_cf_timero/a>(unsigned long oa href="+code=_cf" class="sref">_cfo/a>)4
L84" class="line" namn>
L84">/ 84o/a>{4
L85" class="line" namn>
L85">/ 85o/a>        struct oa href="+code=omap_cf_socket" class="sref">omap_cf_socketo/a>   *oa href="+code=cf" class="sref">cfo/a> = (void *) oa href="+code=_cf" class="sref">_cfo/a>;4
L86" class="line" namn>
L86">/ 86o/a>        unsigned                oa href="+code=present" class="sref">presento/a> = oa href="+code=omap_cf_present" class="sref">omap_cf_presento/a>();4
L87" class="line" namn>
L87">/ 87o/a>4
L88" class="line" namn>
L88">/ 88o/a>        if (oa href="+code=present" class="sref">presento/a> != oa href="+code=cf" class="sref">cfo/a>->oa href="+code=present" class="sref">presento/a>) {4
L89" class="line" namn>
L89">/ 89o/a>                oa href="+code=cf" class="sref">cfo/a>->oa href="+code=present" class="sref">presento/a> = oa href="+code=present" class="sref">presento/a>;4
L90" class="line" namn>
L90">/ 90o/a>                oa href="+code=pr_debug" class="sref">pr_debugo/a>(ospa. class="string">"%s: card %s\n"o/spa.1,/oa href="+code=driver_namn" class="sref">driver_namno/a>,4
L91" class="line" namn>
L91">/ 91o/a>                        oa href="+code=present" class="sref">presento/a> ? ospa. class="string">"present"o/spa.1 : ospa. class="string">"gone"o/spa.1);4
L92" class="line" namn>
L92">/ 92o/a>                oa href="+code=pcmcia_parse_events" class="sref">pcmcia_parse_eventso/a>(&oa href="+code=cf" class="sref">cfo/a>->oa href="+code=socket" class="sref">socketo/a>,/oa href="+code=SS_DETECT" class="sref">SS_DETECTo/a>);4
L93" class="line" namn>
L93">/ 93o/a>        }4
L94" class="line" namn>
L94">/ 94o/a>4
L95" class="line" namn>
L95">/ 95o/a>        if (oa href="+code=cf" class="sref">cfo/a>->oa href="+code=ac vve" class="sref">ac vveo/a>)4
L96" class="line" namn>
L96">/ 96o/a>                oa href="+code=mod_timer" class="sref">mod_timero/a>(&oa href="+code=cf" class="sref">cfo/a>->oa href="+code=timer" class="sref">timero/a>,/oa href="+code=jiffies" class="sref">jiffieso/a> + oa href="+code=POLL_INTERVAL" class="sref">POLL_INTERVALo/a>);4
L97" class="line" namn>
L97">/ 97o/a>}4
L98" class="line" namn>
L98">/ 98o/a>4
L99" class="line" namn>
L99">/ 99o/a>ospa. class="comment">/* This irq handler prevents "irqNNN: nobody cared" messages as driverso/spa.14
L100" class="line" namn>
L100">/100o/a>ospa. class="comment"> * claim the card's IRQ.  It may also detect some card inser v3.s, buto/spa.14
L101" class="line" namn>
L101">/101o/a>ospa. class="comment"> * not removals; it can't always eliminate timer irqs.o/spa.14
L102" class="line" namn>
L102">/102o/a>ospa. class="comment"> */o/spa.14
L103" class="line" namn>
L103">/103o/a>static oa href="+code=irqreturn_t" class="sref">irqreturn_to/a> oa href="+code=omap_cf_irq" class="sref">omap_cf_irqo/a>(int oa href="+code=irq" class="sref">irqo/a>, void *oa href="+code=_cf" class="sref">_cfo/a>)4
L104" class="line" namn>
L104">/104o/a>{4
L105" class="line" namn>
L105">/105o/a>        oa href="+code=omap_cf_timer" class="sref">omap_cf_timero/a>((unsigned long)oa href="+code=_cf" class="sref">_cfo/a>);4
L106" class="line" namn>
L106">/106o/a>        return oa href="+code=IRQ_HANDLED" class="sref">IRQ_HANDLEDo/a>;4
L107" class="line" namn>
L107">/107o/a>}4
L108" class="line" namn>
L108">/108o/a>4
L109" class="line" namn>
L109">/109o/a>static int oa href="+code=omap_cf_get_status" class="sref">omap_cf_get_statuso/a>(struct oa href="+code=pcmcia_socket" class="sref">pcmcia_socketo/a> *oa href="+code=s" class="sref">so/a>,/oa href="+code=u_int" class="sref">u_into/a> *oa href="+code=sp" class="sref">spo/a>)4
L110" class="line" namn>
L110">/1
	  a>{4
L111" class="line" namn>
L111">/111o/a>        if (!oa href="+code=sp" class="sref">spo/a>)4
L112" class="line" namn>
L112">/112o/a>                return -oa href="+code=EINVAL" class="sref">EINVALo/a>;4
L113" class="line" namn>
L113">/113o/a>4
L114" class="line" namn>
L114">/114o/a>        ospa. class="comment">/* NOTE CF is always 3VCARD */o/spa.14
L115" class="line" namn>
L115">/115o/a>        if (oa href="+code=omap_cf_present" class="sref">omap_cf_presento/a>()) {4
L116" class="line" namn>
L116">/116o/a>                struct oa href="+code=omap_cf_socket" class="sref">omap_cf_socketo/a>   *oa href="+code=cf" class="sref">cfo/a>;4
L117" class="line" namn>
L117">/117o/a>4
L118" class="line" namn>
L118">/118o/a>                *oa href="+code=sp" class="sref">spo/a> = oa href="+code=SS_READY" class="sref">SS_READYo/a> |/oa href="+code=SS_DETECT" class="sref">SS_DETECTo/a> |/oa href="+code=SS_POWERON" class="sref">SS_POWERONo/a> |/oa href="+code=SS_3VCARD" class="sref">SS_3VCARDo/a>;4
L119" class="line" namn>
L119">/119o/a>                oa href="+code=cf" class="sref">cfo/a> = oa href="+code=container_of" class="sref">container_ofo/a>(oa href="+code=s" class="sref">so/a>,/struct oa href="+code=omap_cf_socket" class="sref">omap_cf_socketo/a>,/oa href="+code=socket" class="sref">socketo/a>);4
L120" class="line" namn>
L120">/120o/a>                oa href="+code=s" class="sref">so/a>->oa href="+code=pcmcia_irq" class="sref">pcmcia_irqo/a> = 0;4
L121" class="line" namn>
L121">/121o/a>                oa href="+code=s" class="sref">so/a>->oa href="+code=pci_irq" class="sref">pci_irqo/a> = oa href="+code=cf" class="sref">cfo/a>->oa href="+code=irq" class="sref">irqo/a>;4
L122" class="line" namn>
L122">/122o/a>        } else4
L123" class="line" namn>
L123">/123o/a>                *oa href="+code=sp" class="sref">spo/a> = 0;4
L124" class="line" namn>
L124">/124o/a>        return 0;4
L125" class="line" namn>
L125">/125o/a>}4
L126" class="line" namn>
L126">/126o/a>4
L127" class="line" namn>
L127">/127o/a>static int4
L128" class="line" namn>
L1 namn128o/a>a>4
L27" class="line" namn>
L27">/ 27oref">presento/a>#L111" id>
L111" class="line" namn>
L1" class="sref">sages as drive
2luep13cf_socket" cl="+code=omap_cf_id>
L115" class="s15">/115o/a>       D" class="sref">SS_rola>;4so/a>->oap_cf.c#L129" id>
L29" class="line1" nam13pcmcia/omap_cf.c#L10" id>
L10" class="line="line" n1amn>
L31">/ 31o/a>ospa. 1class13qo/a> = oa hrref="drivers/pcmcia/omap_REVISITas drinon-OSK bos ha"many I/Oinclu switchingss="line" namn>
L113">/113o/a>4
L32">/ 32o/a>ospa. c1lass=13f">socketo/a>;witch">/114o/a>       href="+code=pcmcia_irq" class="sref">pcmcVccref="+code=pcmcVcc namn>
L88">/ 88o/a>        if (oa href="+c1" class="1line" namn>
L33">/ 33o/a1>ospa13lass="line" ncase 0:L88">/ 88o/a>        if (oa href="+c1"ode=sp" cref="drivers/pcmcia/omap1_cf.c135ass="line" ncase 33:L88">/ 88o/a>        if (oa href="+c1"ass="linelp out.o/spa.14/115o/a>        ifbreakref="+code=s" class="sref">so/a>->oa125" id>
ine" namn>
L36">/ 36o/a>1ospa.13>ac vveo/a>:1default:L88">/ 88o/a>        if (oa href="+c1"L126" claf.c#L37" id>
L37" class=1"line13>cfo/a>;4/111o/a>        if (!oa href="+code=sp" class="sref">spo/a>)4
L124" cvers/pcmc1ia/omap_cf.c#L39" id>
L319" cl1ss="line" namn>
L39">/ 39o/a>#define/oa hr1ef="+code1=CF_BASE" class="sref">C1F_BAS141f_socket" cl="+code=omap_cf>SS_rola>;4_cfo/a>;4
L54" class="line"namn>
L50">/ 5	  a>ospa. class="commontainer_ofo/a>(oa href="+code=s" class href="dr1ivers/pcmcia/omap_cf.c#L141" i14qo/a> = oa hr14">/114o/a>       href="+code=pcmcia_irq" class="sref">pcmcflaghref="+code=pcmcflagho/a> "+code=omap_cf_presen"drivcode=CF_BASE" clas"drivcodef">sages as drive
2lue;4
L54" class="line"namn>
L="+code=CF_BASE" class="sref">CF_BASEo/a>a> = oa href="+cone"namn>
L50">/ 5	  a>ospa. class="commontainer_ofo/a>(oa href="+code=s" class p_cf.c#L133" id>
L13" class="line" ospa14lass="line" n="+code=cf" class="sref">cfo/a>->oa hrs="line" 1namn>
L44">/ 44o/a>#    1   de145f="drivers/pcmcia/omcfo/a>;40a> = oa href="+cone"namn>
L50">/ 5	  a>ospa. class="commontainer_ofo/a>(oa href="+code=s" class ass="linemn>
L45">/ 45o/a>#      1 defi1e//oa href="+code=CF_STATUS_CARD_DETECT" c1lass="sre1f">CF_STATUS_CARD_DETECT1o/a> 147f_socket" cl="+code=omap_cfento/a> = oa href="+code=present" class="sref">presento/a>;4
L147">/14>cfo/a>;4
L90">/ 90o/a>                f">so/a>->oa href="+code=pcmcia_irq" class="sref">pcmcVccref="+code=pcmcVcc nam f">so/a>->oa href="+code=pcmcia_irq" class="sref">pcmciodriva>              o_103">/103/114o/a>       href="+code=pcmcia_irq" class="sref">pcmcflaghref="+code=pcmcflagho/a>03/114o/a>       href="+code=pcmcia_irq" class="sref">pcmccsc_mas1 namn128o/a>a>4csc_mas1commontainer_ofo/a>(oa href="+code=s" class a doc er1href="+code=CF_CFG" clas1s="sr1f">CF_CFGo/a>                          (oa1 href="+c1ode=CF_BASE" class="sref1">CF_15cf_socket" clamn>
L123">/123o/a>                *oa href="+>/ 49o/a>14
L124" ce/oa href1="+code=CF_CONTROL" clas1s="sr15">iomemo/a>;4
L52">/ 52o/a># 1     15/omap_cf.c#L.14/108o/a>4
L109" class="line" namn>
L109">/109o/a>static int oa hrsages as drive
2lueCF_CONTROL_RESETo/a> 1     15nt oa href="+code=irq" class="sref">irqo/a>href="+co1de=CF_STATUS" class="sre1f">CF15cfo/a>)4presento/a>;4
L90" class="line" namn>
L90">/ 90o/a>                id>
L85" class="l_func__rs/pcmcia/omap_c_func__commontainer_ofo/a>(oa href="+code=s" class_CARD_DET1ECT" class="sref">CF_STA1TUS_C15er" class="sref">omap_cf_timero/a>(ia/omap_cf.c#L127" id>
L127" class="line" namn>
L127">/1_cf.c#L119" id>
L119" class="line" namss="sref">ac vveo/a>d#L5c#L127" id>
L127" clasd#L5c#L127"commontainer_ofo/a>(oa href="+code=s" class_ass="sre1namn>
L56">/ 56o/a>ospa.1 clas15namn>
L106">/106o/a>        return oa href=---------1------------------------1-----15EDo/a>;4/ 97o/a>}4/ 46o/a>4"1omap_16s="line" namn>
L39">/ 39o/a>#define/oa hr1/pcmcia/o1map_cf.c#L60" id>
L60" c1lass=1line" a>}4>/ 61o/a>1        struct oa href="1+code1pcmciap_cf_timero/a>(ia/omap_cf.c o_a/o id>
L127" class="line" nam o_a/o">/108o/a>4
L109" class="line" namn>
L109">/109o/a>static int oa href8o/a>4
L109">/10ioa>              oa hrsages as drive
2lue    oa1 href="+code=socket" cla1ss="s1ef">so href="+code=irq" class="sref">irqo/a>
L63">/ 613o/a>        struct oa h1ref="1code=timer_lis (oa href="+code=omap_cf_present" class="sref">omap_cf_presento/a>()) {4
L116" class="line" namn>
L116">/1_cf.c#L641" id>
L64" class="line" 1namn>16TATUSo/a>) &/oa href="+code=CF_STATUS1ap_cf.c#L165" id>
L65" class="line1" nam166fo/a>)4SS_3VCARDo/a>;4
L119" class="line" namn>
L119">/119o/a>                oa href="+code=cf" class="sref">cfo/a> = oa href="+code=container_of" class="sref">container_ofo/a>(oaref="+code=CF_STATUS1aass="sre1ref="+code=ac vve" class1="sre167f_socket" cl="+code=omap_cfioa>              oa hrq" class="sref">pcmcflaghref="+code=pcmcflagho/a> "+codARD" class="sref"MAP_ACTIVEref="+code=pcmcMAP_ACTIVEo/a>|D" class="sref"MAP_ATTRIBref="+code=pcmcMAP_ATTRIBo/a>|D" class="sref"MAP_16BIde=CF_BASE" clasMAP_16BId116" id>
L116" class="line" namn>
L116">/1_--------1>        struct oa href=1"+cod1=platform_devi="+code=omap_cfioa>              oa hrq" class="sref">pcmca>}rntainer_of" class>}rners/pcmcia/omap_cf.c#L121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"" class="sref">modSZ_4Ke=CF_BASE" clas"Z_4K116" id>
L116" class="line" namn>
L116">/1_ 58o/a>s168" id>
L68" class="line1" nam1>
L68">/ 68o/a>        unsignioa>              oa hrq" class="sref">pcmca>o
L122" class="lin>o
ers/pcmcia/omap_cf.c#Lioa>              oa hrq" class="sref">pcmca>}rntainer_of" class>}rners/p class="sref">modSZ_2Ke=CF_BASE" clas"Z_2K116" - sento/a>:1;41
L69">/ 69o/a>        oa1 href17cf_socket" clamn>
L123">/123o/a>                *oa href="+n>
L70">/1 70o/a>        struct oa1 href17f.c#Lers/pcmcia/omap_cf.c#L124" id>
L124" c       oa1 href="+code=iomem" clas1s="sr1f">iomemo/a>;4
L71" class="line" 1namn>17/omap_cf.c#L.14emo/a>;4/ 61/a>#define/oa href="+cod1e=POL1_INTERp_cf_timero/a>(ia/omap_cf.c6xx_a/o id>
L127" class="line" nam6xx_a/o">/108o/a>4
L109" class="line" namn>
L109">/109o/a>static int oa href8o/a>4
L109">/10a/o id>
L127" clasa/olinesages as drive
2lueirqo/a>s="line" 1namn>
L75">/ 75o/a>ospa.1 clas176fo/a>)4omap_cf_presento/a>()) {4
L116" class="line" namn>
L116">/1---------1------------------------1-----17e=omap_cf_socket" class="sref">omap_cf_socs="sref">1omap_cf_ss_inito/a>(stru1ct oa17presento/a>();4pcmccersca>}rntainer_of" clascersca>}rnlinesages as drive
2lues1to/a> *oa href="+code=s"1 clas17POWERON" class="sref"amn>
L111">/111o/a>        if (!oa href="+code=sp" class="sref">spo/a>)4
L78">/ 78o1/a>{418cf_socket" cl="+code=omap_cf |/oa href="+code=SS_3VCARD" class="sref">SS_3VCARDo/a>;4
L119" class="line" namn>
L119">/119o/a>                oa href="+code=cf" class="sref">cfo/a> = oa href="+code=container_of" class="sref">container_ofo/a>(oa4/1="line" namn>
L79">/ 79o1/a>  181f_socket" cl="+code=omap_cfa/o id>
L127" clasa/olineq" class="sref">pcmc_cf.c#ca>}rntainer_of" clas_cf.c#ca>}rners/pcmcia/omap_cf.c#L121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"ntainer_ofo/a>(oa4
L80" class="line"1 namn182f_socket" cl="+code=omap_cfa/o id>
L127" clasa/olineq" class="sref">pcmcflaghref="+code=pcmcflagho/a> "+codARD" class="sref"MAP_ACTIVEref="+code=pcmcMAP_ACTIVEo/a>|D" class="sref"MAP_ATTRIBref="+code=pcmcMAP_ATTRIBo/a>|D" class="sref"MAP_16BIde=CF_BASE" clasMAP_16BId116" id>
L116" class="line" namn>
L116">/12" id>
L812" class="line" namn>
L812">/ 183resento/a>();4pcmcflaghref="+code=pcmcflagho/a> "+code=omap_cf_presenMAP_ATTRIBref="+code=pcmcMAP_ATTRIBo/a>sages as drive
2luest1atic void oa href="+code1=omap184OWERON" class="sref"="+code=omap_cfa/o id>
L127" clasa/olineq" class="sref">pcmc_cf.c#ca>}rntainer_of" clas_cf.c#ca>}rners/p+ass="line" namn>
LZ_2Ke=CF_BASE" clas"Z_2K116" id>
L116" class="line" namn>
L116">/12        1ng oa href="+code=_cf" c1lass=1sref">_cfo/a>)amn>
L123">/123o/a>                *oa href="+_socket" 1class="sref">omap_cf_soc1keto/1>   *oers/pcmcia/omap_cf.c#L124" id>
L124" cd        1        oa href="+code=p1resen1" class="sref">presento/a> = oa href="+cod1e=omap_cf1_present" class="sref">o1map_c18-----*/o/spa8o/a>4&qverscoperGener ef">_">/119o/a>             op id>
L108" class="line" op ers/pcm href="+code=irq" class="sref">irqo/a>ode=prese1nt" class="sref">present1o/a> 1= oa href="+co.cia/omap_cf.c#Li_cf.c#L76" id>
L76ne" namnON" class="sref"""">_cfo/a>;4
L76" class="line" namn"href="+code=CF_STATUS_CARD_DETECT" c1"+code=cf1" class="sref">cfo/a>-&g1t;oa 1ref="+code=pre.cia/omap_cf.c#Lsuspend id>
L127" classuspend">/1 class="sref"""">_cfo/a>;4/1"href="+code=CF_STATUS_CARD_DETECT" c1">
L70">/1go/a>(ospa. class="strin1g">&q1ot;%s: car.cia/omap_cf.c#Lf.c#L108" id>
L108" classnamn>
L108">/1ass="sref"""">_cfo/a>;4
L108" class="line" namn>
L108">/1"href="+code=CF_STATUS_CARD_DETECT" c1"      oa1t" class="sref">presento1/a> ?1ospa. class="s.cia/omap_cf.c#Lsf.c#L127" id>
L127" clas namn>
L127">/ass="sref"""">_cfo/a>;4
L127" class="line" namn>
L127">/"href="+code=CF_STATUS_CARD_DETECT" c1"" id>
L81class="sref">cfo/a>->1oa hr1f="+code=socke.cia/omap_cf.c#Lsf.c o_a/o id>
L127" clas nam o_a/o">/1ass="sref"""">_cfo/a>;4/1"href="+code=CF_STATUS_CARD_DETECT" c1"83o/a>st1DETECT" class="sref">SS_1DETEC194"+code=socke.cia/omap_cf.c#Lsf.c6xx_a/o id>
L127" clas nam6xx_a/o">/1ss="sref"""">_cfo/a>;4/1"href="+code=CF_STATUS_CARD_DETECT" c1"        193" class="line" namn>
L193">/193o/a>=resource" class="sref">resourceo/a>  1 class="l1ine" namn>
L95">/ 95o/a>1     19//oa href="+code=CF_STATUS_CARD_DETECT" c1ass="sref1">timero/a>,/oa href="+c1ode=j19(1 << 0)4
L74" class="line" namn>
L74">/ 74o/a>4
L75" clas1+code=POL1L_INTERVAL" class="sref"1>POLL1INTERVALo/a>);4
L97" class="line"1 namn1
L97">/ 97o/a>}4
L75" clas2ine" namn2
L99">/ 99o/a>ospa. clas2="com2ent">/* This irq handler preven" classright nowuot;ionly bos h-specifspaass="line"ata iivers/pcmcia/omap_cf.c#L99" id>
L99" class="2ass="line2 namn>
L100">/100o/a>osp2. cla2s="comment"> * claim the card&#omap_cwhatcia/omap_cf.L46" clomap_c.  Bos ha&could want moreto/spa.14
L201" class="line" namn>
L201">/201o/a>ospa. class="comment"> * not removals; it can't always eliminate2timer irq2.o/spa.14/112o/a>                retu2map_cf_ir2" class="sref">omap_cf_i2qo/a>2int oa_cf.c#L.14
L76_ine" namn_cfo/a>;4/ 90o/a>="drivers/obn">/108o/a>4
L66" class="line" namn>
L66irqo/a2/105o/a> 2      oa href="+code=oma2_cf_t2mer" class="sr+code=cf" class="sref">cfo/a> = (void *se = oa href="+codse 116" id>
L116" class="line" namn>
L116">/2ia/omap_c2.c#L106" id>
L106" class2"line20>ac vveo/a>:1;4omap_cf_presento/a>()) {4
L116" class="line" namn>
L116">/2"+code=IR2_HANDLED" class="sref">I2Q_HAN20presento/a>();14<<<<<<<<<<<<<<<<<<<<                oa href="+code=s" class="sref">so/a>->2L107" id>2L107" class="line" namn>2L107"209resento/a>();14<<<<<<<<<<<<<<<<<<<<
L108" class>
L108">/1ref="+code=s" class="sref">so/a>->2ocketo/a>2*oa href="+code=s" class2"sref21s="line" namn>
L39">/ 39o/a>#define/oa hr2_into/a> 2oa href="+code=sp" class2"sref211f_socket" cl="+code=omap_cfse = oa href="+codse 116"_cf.;14 id>
L85" class="f="drivers/pcmcia/omap_cf.cq" class="sref">pcmc="drivers/pcmcia/oap_cf.c.cia/omap_cf.c#Lass="line"ata66" id>
L66" class="line"ata">/1ref="+code=s" class="sref">so/a>->2o1" id>
L2ivers/pcmcia/omap_cf.c#L211" i21qo/a> = oa hr14">/114o/a>       he = oa href="+codse 116"_c= 0 |po/a> = oa href="he = oa href="+codse 116"_" cl 3sages as drive
2lue
L112" clas2="lin21ef="drivers/pcmcia/omamn>
L111">/111o/a>     NODEV (!oa href="+codNODEV">/1ref="+code=s" class="sref">so/a>->2oap_cf_ir2="+code=EINVAL" class="s2ef">E21/a>);4
L114" 2lass=2line" namn>
L1/ 97o/a>}4
L115" class="line" n2mn>
L216fo/a>)4 = 0;4f="drivers/pcmcia/omap_cf.c, 0ontainer_ofo/a>(oa4 = oa hr14">/114o/a>       io/a>                oa h/f="drivers/pcmcia/omap_cf.c#L52" id>
L52" c2keto/a>  2*oa href="+code=cf" clas2="sre2">cfo/a>;4/111o/a>        if (!oa href="+code=sp" class="sref">spo/a>)4S2_DETECTo/a> |/oa href="+2ode=S21">CF_CFGo/a>                          (oa2="sref">s2/a>,/struct oa href="+co2e=oma22cf_socket" cl="+code=omap_cf |/oa href="+code=SS_3VCARD" class="sref"kzallocref="+code=pcmckzalloc">/108izeof4 = oa href="+coGFP_KERNEf (!oa href="+coGFP_KERNEff">container_ofo/a>(oa4                2a hre22spo/a>)4
L52" c2a href="+2ode=pci_irq" class="sref2>pci_22
L111" class="line" namn>
L111">/111o/a>     NOMEM (!oa href="+codNOMEM class="sref">spo/a>)4irqo/a2;4
L104i_cfp_cf.c">/10ss="sref">ac vveo/a>)4
L96" class="line" namn>
L96ontainer_ofo/a>(oa42L123"2class="line" nref">ac vveo/a>)4
L96" class="line" namn>
L96.cia/omap_cf.c#Lfuncenerref="+code=pcmcfuncenerS_3VCARD" class="sref"_cf_pres_cf.c#L104" id>
L104" class="line" nantainer_ofo/a>(oa4spo/a> = 0;42a hre22cfo/a>)4
L96" class="line" namn>
L96.cia/omap_cf.c#L"ata66" id>
L66" cl"ata">/1_cf.>
L104">/104o/ref="drivers/pcm)4
L124">/124o/a>  2     2eturn 0;42L125" class="line" namn>2L125"227f_socket" cl="+code=omap_cf121" id>
L121" class="line" namn>
L121">/12o="drivers/pcmcia/omap_cf.c/pcmcia/omap_cf.c#L="drivers/pcmcia/omap_cf.c#L67" id>
L67" class="line" namn>
L672
L126" cl2ss="line" namn>
L126">/126o/a>22platform_devi="+code=omap_cffss="line namdrv"ata66" id>
L66" class="line namdrv"ata/omap_cf.c#L119" id>f="drivers/pcmcia/omap_cf.c, rivers/pcmcia/o/pcmcia/omap_cf.c#L116"v#L67" id>
L67" class="line" namn>
L672
"sref">S2pcmcia="dif (oa href="222*/o/s22">CF_CFGo/a>                          (oa2t oa href2ude/plat/tc.h" class="fr2ef">p23cf_socket" cl= 80o/a>}4
L29" class="line2" nam231f_socket" cl="+code=omap_cfs108" id>
L108" class>
L108">/1/pcmcia/omap_cf.c#requesmnrqo/a> = 0;4ass="line" namn>
L103">/103D" class="sref"_cf_pres4/1"href="+code=CF_STATUS_CARD_DETECT" c2="line" n2amn>
L31">/ 31o/a>ospa. 2class23
L111" class="line" ncket" cl="+code=omap_cf"line" namn>
L90">/ 90o/a>                id>
L85" class="/pcmcia/omap_cf.c#L116"v#L67" id>
L67" class="line" namn>
L672"line" na2mn>
L32">/ 32o/a>ospa. c2lass=233resento/a>();4
L108" class>
L108">/1/f="drivers/pcmcia/omap_cf.c#L52" id>
L52" c2" class="2line" namn>
L33">/ 33o/a2>ospa234OWERON" class="sref"gotoid>
L85" class="fail0ref="+code=pcmcfail0cf.c#L67" id>
L67" class="line" namn>
L672"ode=sp" 2ref="drivers/pcmcia/omap2_cf.c23cfo/a>)4                oa h/pcmcia/omap_cf.c#io/a>                oa href="+code=s" class="sref">so/a>->2"ass="lin2lp out.o/spa.14
L92" class="line" namn>
L92">/ 92o/a>            .cia/omap_cf.c#Laa_irqo/a> = 0;4so/a>->2"125" id>2ine" namn>
L36">/ 36o/a>2ospa.23 class="sref">presento/a> = oa href="+cod2"L126" cl2f.c#L37" id>
L37" class=2"line23>cfo/a>;4/114o/a>       he = oa href="+codse 116"n>
L88">/ 88o/a>        if (oa href="+c2 a doc er2ratum.o/spa.14/too ... * not removals; it can't always eliminate2vers/pcmc2ia/omap_cf.c#L39" id>
L329" cl24cf_socket" clcase 1:L88">/ 88o/a>        if (oa href="+c2ef="+code2=CF_BASE" class="sref">C2F_BAS24"+code=s" class="sref">so/a>->oa 121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref""cmcia/omap_cf.c#LOMAP_CS1_PHYS="+code=pdev" cOMAP_CS1_PHYSoa href="+code=s" class="sref">so/a>->2 href="dr2ivers/pcmcia/omap_cf.c#L241" i24
L111" class="line" nbreakref="+code=s" class="sref">so/a>->2ne/oa hre2f="+code=CF_STATUS" clas2s="sr24ef="drivers/pcase 2:L88">/ 88o/a>        if (oa href="+c2e class="233" id>
L13" class="line2 ospa244OWERON" class="sref"="+code=omap_cf121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref""cmcia/omap_cf.c#LOMAP_CS2_PHYS="+code=pdev" cOMAP_CS2_PHYSoa href="+code=s" class="sref">so/a>->2 ode=sp" 2namn>
L44">/ 44o/a>#    2   de245f="drivers/pcmcia/ombreakref="+code=s" class="sref">so/a>->2nass="lin2mn>
L45">/ 45o/a>#      2 defi246f="drivers/pcase 3:L88">/ 88o/a>        if (oa href="+c2lass="sre2f">CF_STATUS_CARD_DETECT2o/a> 247f_socket" cls="sref"="+code=omap_cf121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref""cmcia/omap_cf.c#Loa hres3_lass href="drivers/pcmcias3_lass/omapv#L67" id>
L67" class="line" namn>
L672lL126" cl247" class="line" namn>
L247">/24>cfo/a>;4so/a>->2na doc er2href="+code=CF_CFG" clas2s="sr24POWERON" clasdefault:L88">/ 88o/a>        if (oa href="+c2 href="+c2ode=CF_BASE" class="sref2">CF_25cf_socket" class="sregotoiid>
L85" class="fail1 href="drivers/fail1oa href="+code=s" class="sref">so/a>->2>/ 49o/a>24
L124" 2e/oa href2="+code=CF_CONTROL" clas2s="sr252f_socket" cl="+code=omap_cf)4}rners/pcmcia/omap_cf.c#L121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"ref="+code=s" class="sref">so/a>->2>e/oa hre2e" namn>
L52">/ 52o/a># 2     25ef="drivers/pcia/omap_cf.c#L)4/1 cmcia/omap_cf.c#L121" id>
L121" class="line" namn>
L121">/1214/1  class="sref">modSZ_8Ke=CF_BASE" clas"Z_8K116" - sento/a>:1;4CF_CONTROL_RESETo/a> 2     25lass="line" nref">ac vveo/a>)4 cmcia/omap_cf.c#LIORESOURCE_MEM (!oa href="+coIORESOURCE_MEMref"ref="+code=s" class="sref">so/a>->2>ode=sp" 2de=CF_STATUS" class="sre2f">CF25TATUSo/a>) &/oa href="+code=CF_STATUS2_CARD_DET2ECT" class="sref">CF_STA2TUS_C25er" class="srref="drivers/pcmcia/omap_f="+co layerionly re=CFid>
L98"realL98">/ 98mory * not removals; it can't always eliminate2_ass="sre2namn>
L56">/ 56o/a>ospa.2 clas257f_socket" cl="+code=omap_cf121" id>
L121" class="line" namn>
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lio_offs>
L92">/ 92o/a>  io_offs>
">/1_cf.>
L104">/104o/ovals; it can't always eliminate2_L126" cl2------------------------2-----25>cfo/a>;4/ 92o/a>  iore=CF/omap_cf.c#L119" id>121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"" class="sref">modSZ_4Ke=CF_BASE" clas"Z_4K116"    oa href="+codeZ_2Ke=CF_BASE" clas"Z_2K116"v#L67" id>
L67" class="line" namn>
L672/ 58o/a>s2tatic const char/oa href2="+co259resento/a>();f="drivers/pcmcia/o/pcmcia/omap_cf.c#L116"ine" namn>
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lio_offs>
L92">/ 92o/a>  io_offs>
">/1/ovals; it can't always eliminate2>[] = osp2a. class="string">"2omap_26cf_socket" class="sregotoid>
L85" class="fail1 href="drivers/fail1oa href="+code=s" class="sref">so/a>->2/pcmcia/o2map_cf.c#L60" id>
L60" c2lass=26pcmcia/omap_cf.c#L10" id>
L10" class="lin2>/ 61o/a>2        struct oa href="2+code26qo/a> = oa hr14">drivers/pcmcia/orequesmn6xx_reg4 = 0;4121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"    oa href="+codeZ_8Ke=CF_BASE" clas"Z_8K116"" id>
L90" class="line" namn>
L90">/ 90o/a>               )/ovals; it can't always eliminate2>e/oa hre2 href="+code=socket" cla2ss="s26ef="drivers/pcmcia/omgotoid>
L85" class="fail1 href="drivers/fail1oa href="+code=s" class="sref">so/a>->2/ass="sre23o/a>        struct oa h2ref="26/a>);4
L64" class="line" 2namn>26ine" namn>
L1/ 97o/a>}4
L65" class="line2" nam266fo/a>)4W11_1610_CF_CD1 href="drivers/W11_1610_CF_CD1116"v#L67" id>
L67" class="line" namn>
L672aass="sre2ref="+code=ac vve" class2="sre267f_socket" cl="+code=omap_cfs elimig_reg href="drivers/pcmcia/g_reg/omap_cf.c#L119" id>P11_1610_CF_CD2 href="drivers/P11_1610_CF_CD2116"v#L67" id>
L67" class="line" namn>
L672aL126" cl2>        struct oa href=2"+cod2=platform_devi="+code=omap_cfs elimig_reg href="drivers/pcmcia/g_reg/omap_cf.c#L119" id>R11_1610_CF_IOISid>
L115" class="R11_1610_CF_IOISid116"v#L67" id>
L67" class="line" namn>
L672a 58o/a>s268" id>
L68" class="line2" nam2>
L68">/ 68o/a>        unsigns elimig_reg href="drivers/pcmcia/g_reg/omap_cf.c#L119" id>V10_1610_CF_IREQ href="drivers/V10_1610_CF_IREQ116"v#L67" id>
L67" class="line" namn>
L672ne" namn>2
L69">/ 69o/a>        oa2 href27cf_socket" cl="+code=omap_cfs elimig_reg href="drivers/pcmcia/g_reg/omap_cf.c#L119" id>W10_1610_CF_"+code=CF_BASE" clasW10_1610_CF_"+cod116"v#L67" id>
L67" class="line" namn>
L672npcmcia/o2 70o/a>        struct oa2 href27pcmcia/omap_cf.c#L10" id>
L10" class="lin2       oa2 href="+code=iomem" clas2s="sr272f_socket" cl="+code=omap_cf claswriteivers/pcmcia/omap_cf.writei" id>~(1/f="df="dr/114o/a>       he = oa href="+codse 116"na> = oa href="+cone"nFG= oa href="+codne"nFG116"v#L67" id>
L67" class="line" namn>
L672ne/oa hre2" id>
L71" class="line" 2namn>27 namn>
L112">/112o/a>                retu2_L63">/ 62/a>#define/oa href="+cod2e=POL27lass="line" nref">ac vveo/a>pr_infoa>             pr_info/omap_ss="sref">presento/a>;4
L90" class="line" namn>
L90">/ 90o/a>                id>
L85" class="he = oa href="+codse 116" id>
L85" class="io/a>                oa hv#L67" id>
L67" class="line" namn>
L672ncf.c#L642 (2 */oa href="+code=HZ"2 clas27TATUSo/a>) &/oa href="+code=CF_STATUS2s="line" 2namn>
L75">/ 75o/a>ospa.2 clas27er" class="srref="drivers/pcmcia/omap_" classbetteriEMIFS s>
up might many I/Omoreiverss;ref=uot;not removals; it can't always eliminate2---------2------------------------2-----27(1 << 0)4(stru2ct oa27preset;< 0)4s2to/a> *oa href="+code=s"2 clas27L97">/ 97o/a>}4
L78">/ 78o2/a>{428cf_socket" cl="+code=omap_cfento/a> = oa href="+code=present" class="sref">presento/a>;4
L90" class="line" namn>
L90">/ 90o/a>                ovals; it can't always eliminate27pcmcia/o2="line" namn>
L79">/ 79o2/a>  28"+code=s" class="sref">so/a>->oa he = oa href="+codse 116" id>
L85" class="s elic#L5la>;4EMIFS_CCS="+code=pdev" cEMIFS_CCS/omap_cf.c#L119" id>he = oa href="+codse 116"nna> = oa href="+cos elic#L5la>;4EMIFS_ACS="+code=pdev" cEMIFS_ACS/omap_cf.c#L119" id>he = oa href="+codse 116"nnv#L67" id>
L67" class="line" namn>
L6727      oa20" id>
L80" class="line"2 namn282f_socket" cl="+code=omap_cfp_cf.writela>;4he = oa href="+codse 116"nn;lass="srref="drivers/pcmcia/omap_synchOmode 4 etcm* not removals; it can't always eliminate27e/oa hre22" class="line" namn>
L822">/ 28ef="drivers/pcia/omap_cf.c#Lp_cf.writela>;4he = oa href="+codse 116"nn;lass="srref="drivers/pcmcia/omap_OE hold/s>
up * not removals; it can't always eliminate27L63">/ 62atic void oa href="+code2=omap28/a>);4
L1/ 97o/a>}4
L98"id>
L1L98">/ available * not removals; it can't always eliminate2_socket" 2class="sref">omap_cf_soc2keto/28turn 0;4presento/a>;4
L90" class="line" namn>
L90">/ 90o/a>                0;4o2map_c28>cfo/a>;4
L54" class="line"STATUS="+code=pdev" cne"STATUS116"na> = oa href="+cos elic#L5ivers/pcmcia/omap_cf.c#L54" id>
L54" class="line"nFG= oa href="+codne"nFG116"v 0;4present2o/a> 28POWERON" class="sref">SS_POWERONo/a>s elic#L5ivers/pcmcia/omap_cf.c#L54" id>
L54" class="line"namn>
L50">/ 5	  a>ospa. class="commo 0;4cfo/a>-&g2t;oa 29cf_socket" class="sre="+code=omap_cfs elimiclass="comment">/* NOTE CF is always 3VCARD  ? ass="sref">presento/a>;4presento/a>;4
L67" class="line" namn>
L672">
L70">/2go/a>(ospa. class="strin2g">&q29pcmcia/omap_cf.c#L10" id>
L10" class="lin2"      oa2t" class="sref">presento2/a> ?292f_socket" cl="+code=omap_cf)4
L92">/ 92o/a>            .cia/omap_cf.c#Lown.c#L104" id>
L104"wn.co/a> cmcia/omap_cf.c#LTHIS_MODULE#L104" id>
L104THIS_MODULEoa href="+code=s" class="sref">so/a>->2"" id>
L82class="sref">cfo/a>->2oa hr29ef="drivers/pcia/omap_cf.c#L)4
L92">/ 92o/a>            .cia/omap_cf.c#L="drivers/pcmcia/oap_cf.c.cia/omap_cf.c#Laar="comment">/* NOTEaar="co/a> cmss="sref">ac vveo/a>f="drivers/pcmcia/omap_cf.cq" class="sref">pcmc="drivers/pcmcia/oap_cf.cref="+code=s" class="sref">so/a>->2"L63">/ 62DETECT" class="sref">SS_2DETEC29lass="line" nref">ac vveo/a>)4
L92">/ 92o/a>            .cia/omap_cf.c#Lop id>
L108" class=p ers/pcmss="sref">ac vveo/a> CF is aop id>
L108" class="line" op ers/ref="+code=s" class="sref">so/a>->2"        293" class="line" namn>
L293">/29cfo/a>)4
L92">/ 92o/a>            .cia/omap_cf.c#Lwayourceaop id>
L108" classwayourceaop o/a> cmss="sref">ac vveo/a>fccersca>}.c#cop id>
L108" classfccersca>}.c#cop ers/ref="+code=s" class="sref">so/a>->2"socket" 2ine" namn>
L95">/ 95o/a>2     296fo/a>)4
L92" class="line" namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lfeatuway href="drivers/featuwayo/a> cmcia/omap_cf.c#LSS_CAP_PCCARlong)oa href="+cSS_CAP_PCCARlo/a> po/a> = oa href="SS_CAP_STATIC_MAPong)oa href="+cSS_CAP_STATIC_MAPcmcia/omap_cf.c#L10" id>
L10" class="lin2"        2">timero/a>,/oa href="+c2ode=j297f_socket" cls="sref"""""""""""""""""po/a> = oa href="SS_CAP_MEM_ALIGNong)oa href="+cSS_CAP_MEM_ALIGNers/ref="+code=s" class="sref">so/a>->2"L126" cl2L_INTERVAL" class="sref"2>POLL29platform_devi="+code=omap_cfcmcia/omap_cf.c#L92" id>
L92" class="line" namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lso/a8izeL92">/ 92o/a>  so/a8izeo/a> cmcia/omap_cf.c#LSZ_2Ke=CF_BASE" clas"Z_2K116" id>
L116" class="line" namn>
L116">/2p_cf.c#L927" id>
L97" class="line"2 namn29
L68">/ 68o/a>        unsign/pcmcia/omap_cf.c#L116"ine" namn>
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#LioL92">/ 92o/a>  io    [0].cia/omap_cf.c#Lwayid>
L108" classwayo/a> cmss="sref">ac vveo/a>)4
L116">/3ine" namn3
L99">/ 99o/a>ospa. clas3="com30s="line" namn>
L39">/ 39o/a>#define/oa hr3ass="line3 namn>
L100">/100o/a>osp3. cla301f_socket" cl="+code=omap_cfs108" id>
L108" class>
L108">/1/pcmcia/omap_cf.c#9o/a>#_reg4st   /omap_cf.c#L109" id>
L109" creg4st   /omap_VCARDss="sref">ac vveo/a>)4container_ofo/a>(oa4
L301" class="line" namn>
L301">/30qo/a> = oa hr14">/114o/a>       h108" id>
L108" class>
L108">/1/f="drivers/pcmcia/omap_cf.c#L52" id>
L52" c3timer irq3.o/spa.14
L85" class="fail2 href="drivers/fail2/oma id>
L116" class="line" namn>
L116">/3i4mer irq3.ETECT" class="sref">SS_3qo/a>30/a>);4)4/1/pcsento/a>:1;4)4
L104mods_cf.cVCARDss="sref">ac vveo/a>)4
L96" class="line" namn>
L96a> = oa href="+cojiffiayid>
L108" classjiffiayfo/a> class="sref">modPOLL_INTER if (!oa href="+coPOLL_INTER iff">container_ofo/a>(oa4ac vveo/a>:1amn>
L123">/123o/a>                *oa href="3"+code=IR3_HANDLED" class="sref">I3Q_HAN30NTERVALo/a>);43L107" class="line" namn>3L107"309resed>
L85" class="fail2 href="drivers/fail2/oma:L88">/ 88o/a>        if (oa href="+c3ocketo/a>3*oa href="+code=s" class3"sref31cf_socket" cl="+code=omap_cfreleasen6xx_reg4 = 0;4
L54" class="li121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"    oa href="+codeZ_8Ke=CF_BASE" clas"Z_8K116"ontainer_ofo/a>(oa4
L85" class="fail1 href="drivers/fail1oa h:L88">/ 88o/a>        if (oa href="+c3o1" id>
L3ivers/pcmcia/omap_cf.c#L311" i31qo/a> = oa hr14">/114o/a>       /pcmcia/omap_cf.c#L116"ine" namn>
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lio_offs>
L92">/ 92o/a>  io_offs>
">/1/ovals; it can't always eliminate3cia/omap_3f.c#L112" id>
L112" clas3="lin31ef="drivers/pcmcia/omcia/omap_cf.c#Lioun=CFL92">/ 92o/a>  ioun=CF" id>(void
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lio_offs>
L92">/ 92o/a>  io_offs>
">/1/ntainer_ofo/a>(oa4E31lass="line" nref">ac vveo/a>freeirqo/a> = 0;4
L54" class="liass="line" namn>
L103">/103D" class="sref"/pcmcia/omap_cf.c#L116"v#L67" id>
L67" class="line" namn>
L673/pcmcia/o3ap_cf.c#L114" id>
L114" 3lass=3line" d>
L85" class="fail0ref="+code=pcmcfail0cf.c:L88">/ 88o/a>        if (oa href="+c3o105o/a> 3id>
L115" class="line" n3mn>
L316fo/a>)4
L54" class="li121" id>
L121" class="lv#L67" id>
L67" class="line" namn>
L673/705o/a> 3            struct oa hr3f="+c31>ac vveo/a>:1amn>
L1/114o/a>       h108" id>
L108" class>
L108">/1#L67" id>
L67" class="line" namn>
L673/+code=IR3*oa href="+code=cf" clas3="sre3">cfo/ers/pcmcia/omap_cf.c#L124" id>
L124" 3="sref">S3_DETECTo/a> |/oa href="+3ode=S31">CF_CFGo/a>                          (oa3="sref">s3/a>,/struct oa href="+co3e=oma32cf_so_cf.c#L.14
L76_iexcfac vvref">ac vveo/a> CF is aremove8o/a>4
L66" class="line" namn>
L66
L120"3/120o/a>                3a hre32spo/a
L88">/ 88o/a>        if (oa href="+c3a href="+3ode=pci_irq" class="sref3>pci_32
L111" class=;4omap_cf_presento/a>()) 
L66" class="linegnamdrv"ata/omap_cf.c#L119" id>f="drivers/pcmcia/omap_cf.cv#L67" id>
L67" class="line" namn>
L673ef="+code3irq" class="sref">irqo/a3;4
L112">/112o/a>                retu3map_cf_ir3mcia/omap_cf.c#L123" id>3L123"3class="line" nref">ac vveo/a>)4/1/pc23">/123o/a>                *oa href="3mpcmcia/o3lass="sref">spo/a> = 0;43a hre32cfo/a>)4
L109" cunreg4st   /omap_VCARDss="sref">ac vveo/a>)4container_ofo/a>(oa4
L124">/124o/a>  3     326fo/a>)4ac vveo/a>)4
L96" class="line" namn>
L96ontainer_ofo/a>(oa43L125"327f_socket" cl="+code=omap_cfioun=CFL92">/ 92o/a>  ioun=CF" id>(void
L121">/12namn>
L92">/ 92o/a>            .cia/omap_cf.c#Lio_offs>
L92">/ 92o/a>  io_offs>
">/1/ntainer_ofo/a>(oa4
L126">/136o/a>32platform_devi="+code=omap_cfreleasen6xx_reg4 = 0;4
L54" class="li121" id>
L121" class="line" namn>
L121">/12oa href="+code=pdev" class="sref"    oa href="+codeZ_8Ke=CF_BASE" clas"Z_8K116"ontainer_ofo/a>(oa4S3pcmcia="dif (oa href="223*/o/s32
L68">/ 68o/a>        unsignfreeirqo/a> = 0;4
L54" class="li)4                oa h03D" class="sref"/pcmcia/omap_cf.c#L116"v#L67" id>
L67" class="line" namn>
L673t oa href3ude/plat/tc.h" class="fr3ef">p33cf_socket" cl="+code=omap_cfkfreeref="+code=pcmckfree" id>
L54" class="li121" id>
L121" class="lv#L67" id>
L67" class="line" namn>
L673ap_cf.c#L329" id>
L29" class="line3" nam331f_socket" clamn>
L123">/123o/a>                *oa href="3="line" n3amn>
L31">/ 31o/a>ospa. 3class33
L111ers/pcmcia/omap_cf.c#L124" id>
L124" 3"line" na3mn>
L32">/ 32o/a>ospa. c3lass=33 namn>
L112">/112o/a>                retu3" class="3line" namn>
L33">/ 33o/a3>ospa33nt oa_cf.c#L8o/a>4
L66" class="line"2o/a>ac vvref">ac vveo/a> CF is ac2o/a>66" id>
L66" cl CF is ac2o/a>">/1/pc
L88">/ 88o/a>        if (oa href="+c3"ode=sp" 3ref="drivers/pcmcia/omap3_cf.c33cfo/a>)466" id>
L66" clc2o/a>">/1/pc
L88">/ 88o/a>        if (oa href="+c3".c#L115"3lp out.o/spa.14/ 90o/a>         "">_(charr*/ref="drivers/pcm"line" namn>
L90">/ 90o/a>                0;43ine" namn>
L36">/ 36o/a>3ospa.337f_socket" cls="sref".cia/omap_cf.c#Lown.c#L104" id>
L104"wn.co/a>  cmcia/omap_cf.c#LTHIS_MODULE#L104" id>
L104THIS_MODULEoa h 0;4
L37" class=3"line33>cfo/a>;4S3ratum.o/spa.14/ 92o/a>  _iexcf_F" id>
L54" class="li CF is aremove
L339" cl34cf_so=resource" class="sref">resourceo/a>  3ef="+code3=CF_BASE" class="sref">C3F_BAS34pcmcia/omap_cf.c#L10" id>
L10" class="lin3 href="dr3ivers/pcmcia/omap_cf.c#L341" i34
L111_cf.c#L.14
L76_ine" namn_cfo/a>;4
L76" class=ne" namn(voidsages as drive
2lue/ 88o/a>        if (oa href="+c3e class="333" id>
L13" class="line3 ospa344OWERON" clas14">/114o/a>       /pu_is_oa h16xx1" id>
L121" clapu_is_oa h16xxnamn()/ovals; it can't always eliminate3 ode=sp" 3namn>
L44">/ 44o/a>#    3   de345f="drivers/pcmcia/omamn>
L1/114o/a>       ass="line"2o/a>rs/obn>
L90">/ 90o/a>ass="line"2o/a>rs/obnVCARDss="sref">ac vveo/a> CF is ac2o/a>66" id>
L66" cl CF is ac2o/a>">/103D" class="sref"_cf_press/obn>
L90">/ 90o/a>="drivers/obn">/1v#L67" id>
L67" class="line" namn>
L673nass="lin3mn>
L45">/ 45o/a>#      3 defi346f="drivers/pamn>
L111">/111o/a>     NODEV (!oa href="+codNODEV">/1ref="+code=s" class="sref">so/a>->3lass="sre3f">CF_STATUS_CARD_DETECT3o/a> 347f_soers/pcmcia/omap_cf.c#L124" id>
L124" 3lL126" cl347" class="line" namn>
L347">/34NTERVALo/a>);4
L76_iexcfac vvref">ac vveo/a> CF is aexcf.c#L76" id>
L76 CF is aexcfnamn(voidsages as drive
2lueCF_35cf_so
L88">/ 88o/a>        if (oa href="+c3>/ 49o/a>34/114o/a>       /pu_is_oa h16xx1" id>
L121" clapu_is_oa h16xxnamn()/ovals; it can't always eliminate3e/oa href3="+code=CF_CONTROL" clas3s="sr35
L111" class="line" n/114o/a>       ass="line"2o/a>runreg4st  >
L90">/ 90o/a>ass="line"2o/a>runreg4st  VCARDss="sref">ac vveo/a> CF is ac2o/a>66" id>
L66" cl CF is ac2o/a>">/1v#L67" id>
L67" class="line" namn>
L673>e/oa hre3e" namn>
L52">/ 52o/a># 3     35ef="ders/pcmcia/omap_cf.c#L124" id>
L124" 3lass="sre3f">CF_CONTROL_RESETo/a> 3     35/a>);4CF35ine" d>
L85" class="modulerp_cf.c#L76" id>
L76modulerp_cf" id>
L54" class="li CF is ap_cf.c#L76" id>
L76" class=ne" namnv#L67" id>
L67" class="line" namn>
L673>ass="lin3ECT" class="sref">CF_STA3TUS_C35er" cd>
L85" class="modulerexcf.c#L76" id>
L76modulerexcf" id>
L54" class="li CF is aexcf.c#L76" id>
L76 CF is aexcfnamnv#L67" id>
L67" class="line" namn>
L673>ass="sre3namn>
L56">/ 56o/a>ospa.3 clas35 class="sref">presento/a> = oa href="+cod3_L126" cl3------------------------3-----35>cfo/
L54" class="liMODULE_DESCRIPTIONong)oa href="+cMODULE_DESCRIPTION" id>
ss="sref">presento/a>;4
L67" class="line" namn>
L673/ 58o/a>s3tatic const char/oa href3="+co359resed>
L85" class="MODULE_LICENSE#L104" id>
L104MODULE_LICENSE" id>
ss="sref">presento/a>;4
L67" class="line" namn>
L673>[] = osp3a. class="string">"3omap_36cf_sod>
L85" class="MODULE_ALIAS="+code=pdev" cMODULE_ALIAS" id>
ss="sref">presento/a>;4omap_cf.c#L90v#L67" id>
L67" class="line" namn>
L673>/ 49o/a>3map_cf.c#L60" id>
L60" c3lass=36pcmci


> Tt;ioriginal LXR software byuot;i67" id> Lhttp://yource"lige.net/projects/lx >>LXR hrefue" y">/103s/mapexperif="dal claion byu67" id> Lmailto:lx @0" ux.no">lx @0" ux.no .
> lx .0" ux.no kindly host d byu67" id> Lhttp://www.redpill-0" pro.no">Redpill L" pro AS" id, provideriof L" ux cvesultingsand operaeners sernamns sincen1 L5.