linux/drivers/pcmcia/electra_cf.c
<<
ptio v2/spa v2/form v2a ptio v href="../linux+v3.8.6/drivers/pcmcia/electra_cf.c">ptio v2img src="../.static/gfx/right.png" alt=">>">pt2/spa pt2spa class="lxr_search">ptioptio v2input typptihidden" namptinavtarget" 2ptio v2input typptitext" namptisearch" idtisearch">ptio v2butt2.1typptisubmit">Searchptio vPrefs v2/a>pt2/spa io v v2/div io v v2form ac2" ="ajax+*" method="post" onsubmit="return false;">pt2input typptihidden" namptiajax_lookup" idtiajax_lookup" 2pio v v2/form pio v v2div class="headingbott2m">
2div idtifile_contents"
v v12/a>2spa	 class="comment">/*2/spa	  v v22/a>2spa	 class="comment"> * Copyright (C) 2007 PA Semi, Inc2/spa	  v v32/a>2spa	 class="comment"> *2/spa	  v v42/a>2spa	 class="comment"> * Maintained by: Olof Johanss2.1<olof@lixom.net>2/spa	  v v52/a>2spa	 class="comment"> *2/spa	  v v62/a>2spa	 class="comment"> * Based 2.1drivers/pcmcia/omap_cf.c2/spa	  v v72/a>2spa	 class="comment"> *2/spa	  v v82/a>2spa	 class="comment"> * This program is free software; you ca	 redistribute it and/or modify2/spa	  v v92/a>2spa	 class="comment"> * it under the terms of the GNU General Public License as published by2/spa	  v 6.28a>2spa	 class="comment"> * the Free Software Founda2"
	; either vers32.12 of the License, or2/spa	  v 112/a>2spa	 class="comment"> * (at your .12"
	) any later vers32..2/spa	  v 122/a>2spa	 class="comment"> *2/spa	  v 132/a>2spa	 class="comment"> * This program is distributed in the hope that it will be useful,2/spa	  v 142/a>2spa	 class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of2/spa	  v 152/a>2spa	 class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the2/spa	  v 162/a>2spa	 class="comment"> * GNU General Public License for more details.2/spa	  v 172/a>2spa	 class="comment"> *2/spa	  v 182/a>2spa	 class="comment"> * You should have received a copy of the GNU General Public License2/spa	  v 192/a>2spa	 class="comment"> * along with this program; if not, write to the Free Software2/spa	  v 2.28a>2spa	 class="comment"> * Founda2"
	, Inc., 59 Temple Place, Suite 330, Bost
	, MA  02111-1307 USA2/spa	  v 212/a>2spa	 class="comment"> */2/spa	  v 222/a> v 232/a>#include1<linux/module.h2/a>> v 242/a>#include1<linux/kernel.h2/a>> v 252/a>#include1<linux/sched.h2/a>> v 262/a>#include1<linux/platform_device.h2/a>> v 272/a>#include1<linux/errno.h2/a>> v 282/a>#include1<linux/init.h2/a>> v 292/a>#include1<linux/delay.h2/a>> v 302/a>#include1<linux/interrupt.h2/a>> v 312/a>#include1<linux/mm.h2/a>> v 322/a>#include1<linux/vmalloc.h2/a>> v 332/a>#include1<linux/of_platform.h2/a>> v 342/a>#include1<linux/slab.h2/a>> v 352/a> v 362/a>#include1<pcmcia/ss.h2/a>> v 372/a> v 382/a>static const charv2a href="+code=driver_namp" class="sref">driver_namp2/a>[] = 2spa	 class="string">"electra-cf"2/spa	 ; v 392/a> v 402/a>structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> { v 412/a>        structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a>    2a href="+code=socket" class="sref">socket2/a>; v 422/a> v 432/a>        structv2a href="+code=timer_list" class="sref">timer_list2/a>       2a href="+code=timer" class="sref">timer2/a>; v 442/a>        unsigned                2a href="+code=present" class="sref">present2/a>:1; v 452/a>        unsigned                2a href="+code=ac2"vp" class="sref">ac2"vp2/a>:1; v 462/a> v 472/a>        structv2a href="+code=platform_device" class="sref">platform_device2/a>  *2a href="+code=ofdev" class="sref">ofdev2/a>; v 482/a>        unsigned long           2a href="+code=mem_phys" class="sref">mem_phys2/a>; v 492/a>        void 2a href="+code=__iomem" class="sref">__iomem2/a> *          2a href="+code=mem_base" class="sref">mem_base2/a>; v 502/a>        unsigned long           2a href="+code=mem_size" class="sref">mem_size2/a>; v 512/a>        void 2a href="+code=__iomem" class="sref">__iomem2/a> *          2a href="+code=io_virt" class="sref">io_virt2/a>; v 522/a>        unsigned int            2a href="+code=io_base" class="sref">io_base2/a>; v 532/a>        unsigned int            2a href="+code=io_size" class="sref">io_size2/a>; v 542/a>        2a href="+code=u_int" class="sref">u_int2/a>                   2a href="+code=irq" class="sref">irq2/a>; v 552/a>        structv2a href="+code=resource" class="sref">resource2/a>         2a href="+code=iomem" class="sref">iomem2/a>; v 562/a>        void 2a href="+code=__iomem" class="sref">__iomem2/a> *          2a href="+code=gpio_base" class="sref">gpio_base2/a>; v 572/a>        int                     2a href="+code=gpio_detect" class="sref">gpio_detect2/a>; v 582/a>        int                     2a href="+code=gpio_vsense" class="sref">gpio_vsense2/a>; v 592/a>        int                     2a href="+code=gpio_3v" class="sref">gpio_3v2/a>; v 602/a>        int                     2a href="+code=gpio_5v" class="sref">gpio_5v2/a>; v 612/a>}; v 622/a> v 632/a>#define 2a href="+code=POLL_INTERVAL" class="sref">POLL_INTERVAL2/a>           (2 * 2a href="+code=HZ" class="sref">HZ2/a>) v 642/a> v 652/a> v 662/a>static int 2a href="+code=electra_cf_present" class="sref">electra_cf_present2/a>(structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> *2a href="+code=cf" class="sref">cf2/a>) v 672/a>{ v 682/a>        unsigned int 2a href="+code=gpio" class="sref">gpio2/a>; v 692/a> v 702/a>        2a href="+code=gpio" class="sref">gpio2/a> = 2a href="+code=in_le32" class="sref">in_le322/a>(2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_base" class="sref">gpio_base2/a>+0x40); v 712/a>        return !(2a href="+code=gpio" class="sref">gpio2/a> & (11<< 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_detect" class="sref">gpio_detect2/a>)); v 722/a>} v 732/a> v 742/a>static int 2a href="+code=electra_cf_ss_init" class="sref">electra_cf_ss_init2/a>(structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a> *2a href="+code=s" class="sref">s2/a>) v 752/a>{ v 762/a>        return 0; v 772/a>} v 782/a> v 792/a>2spa	 class="comment">/* the timer is primarily to kick this socket's pccardd */2/spa	  v 802/a>static void 2a href="+code=electra_cf_timer" class="sref">electra_cf_timer2/a>(unsigned long 2a href="+code=_cf" class="sref">_cf2/a>) v 812/a>{ v 822/a>        structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> *2a href="+code=cf" class="sref">cf2/a> = (void *) 2a href="+code=_cf" class="sref">_cf2/a>; v 832/a>        int 2a href="+code=present" class="sref">present2/a> = 2a href="+code=electra_cf_present" class="sref">electra_cf_present2/a>(2a href="+code=cf" class="sref">cf2/a>); v 842/a> v 852/a>        if (2a href="+code=present" class="sref">present2/a> != 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=present" class="sref">present2/a>) { v 862/a>                2a href="+code=cf" class="sref">cf2/a>->2a href="+code=present" class="sref">present2/a> = 2a href="+code=present" class="sref">present2/a>; v 872/a>                2a href="+code=pcmcia_parse_events" class="sref">pcmcia_parse_events2/a>(&2a href="+code=cf" class="sref">cf2/a>->2a href="+code=socket" class="sref">socket2/a>, 2a href="+code=SS_DETECT" class="sref">SS_DETECT2/a>); v 882/a>        } v 892/a> v 902/a>        if (2a href="+code=cf" class="sref">cf2/a>->2a href="+code=ac2"vp" class="sref">ac2"vp2/a>) v 912/a>                2a href="+code=mod_timer" class="sref">mod_timer2/a>(&2a href="+code=cf" class="sref">cf2/a>->2a href="+code=timer" class="sref">timer2/a>, 2a href="+code=jiffies" class="sref">jiffies2/a> + 2a href="+code=POLL_INTERVAL" class="sref">POLL_INTERVAL2/a>); v 922/a>} v 932/a> v 942/a>static 2a href="+code=irqreturn_t" class="sref">irqreturn_t2/a> 2a href="+code=electra_cf_irq" class="sref">electra_cf_irq2/a>(int 2a href="+code=irq" class="sref">irq2/a>, void *2a href="+code=_cf" class="sref">_cf2/a>) v 952/a>{ v 962/a>        2a href="+code=electra_cf_timer" class="sref">electra_cf_timer2/a>((unsigned long)2a href="+code=_cf" class="sref">_cf2/a>); v 972/a>        return 2a href="+code=IRQ_HANDLED" class="sref">IRQ_HANDLED2/a>; v 982/a>} v 992/a> v1002/a>static int 2a href="+code=electra_cf_get_status" class="sref">electra_cf_get_status2/a>(structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a> *2a href="+code=s" class="sref">s2/a>, 2a href="+code=u_int" class="sref">u_int2/a> *2a href="+code=sp" class="sref">sp2/a>) v1012/a>{ v1022/a>        structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> *2a href="+code=cf" class="sref">cf2/a>; v1032/a> v1042/a>        if (!2a href="+code=sp" class="sref">sp2/a>) v1052/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>; v1062/a> v1072/a>        2a href="+code=cf" class="sref">cf2/a> = 2a href="+code=container_of" class="sref">container_of2/a>(2a href="+code=s" class="sref">s2/a>, structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a>, 2a href="+code=socket" class="sref">socket2/a>); v1082/a> v1092/a>        2spa	 class="comment">/* NOTE CF is always 3VCARD */2/spa	  v1102/a>        if (2a href="+code=electra_cf_present" class="sref">electra_cf_present2/a>(2a href="+code=cf" class="sref">cf2/a>)) { v1112/a>                *2a href="+code=sp" class="sref">sp2/a> = 2a href="+code=SS_READY" class="sref">SS_READY2/a> | 2a href="+code=SS_DETECT" class="sref">SS_DETECT2/a> | 2a href="+code=SS_POWERON" class="sref">SS_POWERON2/a> | 2a href="+code=SS_3VCARD" class="sref">SS_3VCARD2/a>; v1122/a> v1132/a>                2a href="+code=s" class="sref">s2/a>->2a href="+code=pci_irq" class="sref">pci_irq2/a> = 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=irq" class="sref">irq2/a>; v1142/a>        } else v1152/a>                *2a href="+code=sp" class="sref">sp2/a> = 0; v1162/a>        return 0; v1172/a>} v1182/a> v1192/a>static int 2a href="+code=electra_cf_set_socket" class="sref">electra_cf_set_socket2/a>(structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a> *2a href="+code=sock" class="sref">sock2/a>, v1202/a>                                 structv2a href="+code=socket_state_t" class="sref">socket_state_t2/a> *2a href="+code=s" class="sref">s2/a>) v1212/a>{ v1222/a>        unsigned int 2a href="+code=gpio" class="sref">gpio2/a>; v1232/a>        unsigned int 2a href="+code=vcc" class="sref">vcc2/a>; v1242/a>        structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> *2a href="+code=cf" class="sref">cf2/a>; v1252/a> v1262/a>        2a href="+code=cf" class="sref">cf2/a> = 2a href="+code=container_of" class="sref">container_of2/a>(2a href="+code=sock" class="sref">sock2/a>, structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a>, 2a href="+code=socket" class="sref">socket2/a>); v1272/a> v1282/a>        2spa	 class="comment">/* "reset" means no power in our case */2/spa	  v1292/a>        2a href="+code=vcc" class="sref">vcc2/a> = (2a href="+code=s" class="sref">s2/a>->2a href="+code=flags" class="sref">flags2/a> & 2a href="+code=SS_RESET" class="sref">SS_RESET2/a>) ? 0 : 2a href="+code=s" class="sref">s2/a>->2a href="+code=Vcc" class="sref">Vcc2/a>; v1302/a> v1312/a>        switch (2a href="+code=vcc" class="sref">vcc2/a>) { v1322/a>        case 0: v1332/a>                2a href="+code=gpio" class="sref">gpio2/a> = 0; v1342/a>                break; v1352/a>        case 33: v1362/a>                2a href="+code=gpio" class="sref">gpio2/a> = (11<< 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_3v" class="sref">gpio_3v2/a>); v1372/a>                break; v1382/a>        case 5: v1392/a>                2a href="+code=gpio" class="sref">gpio2/a> = (11<< 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_5v" class="sref">gpio_5v2/a>); v1402/a>                break; v1412/a>        default: v1422/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>; v1432/a>        } v1442/a> v1452/a>        2a href="+code=gpio" class="sref">gpio2/a> |= 11<< (2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_3v" class="sref">gpio_3v2/a> + 16); 2spa	 class="comment">/* enwr */2/spa	  v1462/a>        2a href="+code=gpio" class="sref">gpio2/a> |= 11<< (2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_5v" class="sref">gpio_5v2/a> + 16); 2spa	 class="comment">/* enwr */2/spa	  v1472/a>        2a href="+code=out_le32" class="sref">out_le322/a>(2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_base" class="sref">gpio_base2/a>+0x90, 2a href="+code=gpio" class="sref">gpio2/a>); v1482/a> v1492/a>        2a href="+code=pr_debug" class="sref">pr_debug2/a>(2spa	 class="string">"%s: Vcc %d, io_irq %d, flags %04x csc %04x\n"2/spa	 , v1502/a>                2a href="+code=driver_namp" class="sref">driver_namp2/a>, 2a href="+code=s" class="sref">s2/a>->2a href="+code=Vcc" class="sref">Vcc2/a>, 2a href="+code=s" class="sref">s2/a>->2a href="+code=io_irq" class="sref">io_irq2/a>, 2a href="+code=s" class="sref">s2/a>->2a href="+code=flags" class="sref">flags2/a>, 2a href="+code=s" class="sref">s2/a>->2a href="+code=csc_mask" class="sref">csc_mask2/a>); v1512/a> v1522/a>        return 0; v1532/a>} v1542/a> v1552/a>static int 2a href="+code=electra_cf_set_io_map" class="sref">electra_cf_set_io_map2/a>(structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a> *2a href="+code=s" class="sref">s2/a>, v1562/a>                                 structv2a href="+code=pccard_io_map" class="sref">pccard_io_map2/a> *2a href="+code=io" class="sref">io2/a>) v1572/a>{ v1582/a>        return 0; v1592/a>} v1602/a> v1612/a>static int 2a href="+code=electra_cf_set_mem_map" class="sref">electra_cf_set_mem_map2/a>(structv2a href="+code=pcmcia_socket" class="sref">pcmcia_socket2/a> *2a href="+code=s" class="sref">s2/a>, v1622/a>                                  structv2a href="+code=pccard_mem_map" class="sref">pccard_mem_map2/a> *2a href="+code=map" class="sref">map2/a>) v1632/a>{ v1642/a>        structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a> *2a href="+code=cf" class="sref">cf2/a>; v1652/a> v1662/a>        if (2a href="+code=map" class="sref">map2/a>->2a href="+code=card_start" class="sref">card_start2/a>) v1672/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>; v1682/a>        2a href="+code=cf" class="sref">cf2/a> = 2a href="+code=container_of" class="sref">container_of2/a>(2a href="+code=s" class="sref">s2/a>, structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a>, 2a href="+code=socket" class="sref">socket2/a>); v1692/a>        2a href="+code=map" class="sref">map2/a>->2a href="+code=static_start" class="sref">static_start2/a> = 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_phys" class="sref">mem_phys2/a>; v1702/a>        2a href="+code=map" class="sref">map2/a>->2a href="+code=flags" class="sref">flags2/a> &= 2a href="+code=MAP_ACTIVE" class="sref">MAP_ACTIVE2/a>|2a href="+code=MAP_ATTRIB" class="sref">MAP_ATTRIB2/a>; v1712/a>        if (!(2a href="+code=map" class="sref">map2/a>->2a href="+code=flags" class="sref">flags2/a> & 2a href="+code=MAP_ATTRIB" class="sref">MAP_ATTRIB2/a>)) v1722/a>                2a href="+code=map" class="sref">map2/a>->2a href="+code=static_start" class="sref">static_start2/a> += 0x800; v1732/a>        return 0; v1742/a>} v1752/a> v1762/a>static structv2a href="+code=pccard_opera2"
	s" class="sref">pccard_opera2"
	s2/a> 2a href="+code=electra_cf_ops" class="sref">electra_cf_ops2/a> = { v1772/a>        .2a href="+code=init" class="sref">init2/a>                   = 2a href="+code=electra_cf_ss_init" class="sref">electra_cf_ss_init2/a>, v1782/a>        .2a href="+code=get_status" class="sref">get_status2/a>             = 2a href="+code=electra_cf_get_status" class="sref">electra_cf_get_status2/a>, v1792/a>        .2a href="+code=set_socket" class="sref">set_socket2/a>             = 2a href="+code=electra_cf_set_socket" class="sref">electra_cf_set_socket2/a>, v1802/a>        .2a href="+code=set_io_map" class="sref">set_io_map2/a>             = 2a href="+code=electra_cf_set_io_map" class="sref">electra_cf_set_io_map2/a>, v1812/a>        .2a href="+code=set_mem_map" class="sref">set_mem_map2/a>            = 2a href="+code=electra_cf_set_mem_map" class="sref">electra_cf_set_mem_map2/a>, v1822/a>}; v1832/a> v1842/a>static int 2a href="+code=electra_cf_probp" class="sref">electra_cf_probp2/a>(structv2a href="+code=platform_device" class="sref">platform_device2/a> *2a href="+code=ofdev" class="sref">ofdev2/a>) v1852/a>{ v1862/a>        structv2a href="+code=device" class="sref">device2/a> *2a href="+code=device" class="sref">device2/a> = &2a href="+code=ofdev" class="sref">ofdev2/a>->2a href="+code=dev" class="sref">dev2/a>; v1872/a>        structv2a href="+code=device_node" class="sref">device_node2/a> *2a href="+code=np" class="sref">np2/a> = 2a href="+code=ofdev" class="sref">ofdev2/a>->2a href="+code=dev" class="sref">dev2/a>.2a href="+code=of_node" class="sref">of_node2/a>; v1882/a>        structv2a href="+code=electra_cf_socket" class="sref">electra_cf_socket2/a>   *2a href="+code=cf" class="sref">cf2/a>; v1892/a>        structv2a href="+code=resource" class="sref">resource2/a> 2a href="+code=mem" class="sref">mem2/a>, 2a href="+code=io" class="sref">io2/a>; v1902/a>        int 2a href="+code=status" class="sref">status2/a>; v1912/a>        const unsigned int *2a href="+code=prop" class="sref">prop2/a>; v1922/a>        int 2a href="+code=err" class="sref">err2/a>; v1932/a>        structv2a href="+code=vm_struct" class="sref">vm_struct2/a> *2a href="+code=area" class="sref">area2/a>; v1942/a> v1952/a>        2a href="+code=err" class="sref">err2/a> = 2a href="+code=of_address_to_resource" class="sref">of_address_to_resource2/a>(2a href="+code=np" class="sref">np2/a>, 0, &2a href="+code=mem" class="sref">mem2/a>); v1962/a>        if (2a href="+code=err" class="sref">err2/a>) v1972/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>; v1982/a> v1992/a>        2a href="+code=err" class="sref">err2/a> = 2a href="+code=of_address_to_resource" class="sref">of_address_to_resource2/a>(2a href="+code=np" class="sref">np2/a>, 1, &2a href="+code=io" class="sref">io2/a>); v2002/a>        if (2a href="+code=err" class="sref">err2/a>) v2012/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>; v2022/a> v2032/a>        2a href="+code=cf" class="sref">cf2/a> = 2a href="+code=kzalloc" class="sref">kzalloc2/a>(sizeof *2a href="+code=cf" class="sref">cf2/a>, 2a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL2/a>); v2042/a>        if (!2a href="+code=cf" class="sref">cf2/a>) v2052/a>                return -2a href="+code=ENOMEM" class="sref">ENOMEM2/a>; v2062/a> v2072/a>        2a href="+code=setup_timer" class="sref">setup_timer2/a>(&2a href="+code=cf" class="sref">cf2/a>->2a href="+code=timer" class="sref">timer2/a>, 2a href="+code=electra_cf_timer" class="sref">electra_cf_timer2/a>, (unsigned long)2a href="+code=cf" class="sref">cf2/a>); v2082/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=irq" class="sref">irq2/a> = 2a href="+code=NO_IRQ" class="sref">NO_IRQ2/a>; v2092/a> v2102/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=ofdev" class="sref">ofdev2/a> = 2a href="+code=ofdev" class="sref">ofdev2/a>; v2112/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_phys" class="sref">mem_phys2/a> = 2a href="+code=mem" class="sref">mem2/a>.2a href="+code=start" class="sref">start2/a>; v2122/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_size" class="sref">mem_size2/a> = 2a href="+code=PAGE_ALIGN" class="sref">PAGE_ALIGN2/a>(2a href="+code=resource_size" class="sref">resource_size2/a>(&2a href="+code=mem" class="sref">mem2/a>)); v2132/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_base" class="sref">mem_base2/a> = 2a href="+code=ioremap" class="sref">ioremap2/a>(2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_phys" class="sref">mem_phys2/a>, 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_size" class="sref">mem_size2/a>); v2142/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_size" class="sref">io_size2/a> = 2a href="+code=PAGE_ALIGN" class="sref">PAGE_ALIGN2/a>(2a href="+code=resource_size" class="sref">resource_size2/a>(&2a href="+code=io" class="sref">io2/a>)); v2152/a> v2162/a>        2a href="+code=area" class="sref">area2/a> = 2a href="+code=__get_vm_area" class="sref">__get_vm_area2/a>(2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_size" class="sref">io_size2/a>, 0, 2a href="+code=PHB_IO_BASE" class="sref">PHB_IO_BASE2/a>, 2a href="+code=PHB_IO_END" class="sref">PHB_IO_END2/a>); v2172/a>        if (2a href="+code=area" class="sref">area2/a> == 2a href="+code=NULL" class="sref">NULL2/a>) v2182/a>                return -2a href="+code=ENOMEM" class="sref">ENOMEM2/a>; v2192/a> v2202/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_virt" class="sref">io_virt2/a> = (void 2a href="+code=__iomem" class="sref">__iomem2/a> *)(2a href="+code=area" class="sref">area2/a>->2a href="+code=addr" class="sref">addr2/a>); v2212/a> v2222/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_base" class="sref">gpio_base2/a> = 2a href="+code=ioremap" class="sref">ioremap2/a>(0xfc103000, 0x1000); v2232/a>        2a href="+code=dev_set_drvdata" class="sref">dev_set_drvdata2/a>(2a href="+code=device" class="sref">device2/a>, 2a href="+code=cf" class="sref">cf2/a>); v2242/a> v2252/a>        if (!2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_base" class="sref">mem_base2/a> || !2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_virt" class="sref">io_virt2/a> || !2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_base" class="sref">gpio_base2/a> || v2262/a>            (2a href="+code=__ioremap_at" class="sref">__ioremap_at2/a>(2a href="+code=io" class="sref">io2/a>.2a href="+code=start" class="sref">start2/a>, 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_virt" class="sref">io_virt2/a>, 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_size" class="sref">io_size2/a>, v2272/a>                2a href="+code=_PAGE_NO_CACHE" class="sref">_PAGE_NO_CACHE2/a> | 2a href="+code=_PAGE_GUARDED" class="sref">_PAGE_GUARDED2/a>) == 2a href="+code=NULL" class="sref">NULL2/a>)) { v2282/a>                2a href="+code=dev_err" class="sref">dev_err2/a>(2a href="+code=device" class="sref">device2/a>, 2spa	 class="string">"can't ioremap ranges\n"2/spa	 ); v2292/a>                2a href="+code=status" class="sref">status2/a> = -2a href="+code=ENOMEM" class="sref">ENOMEM2/a>; v2302/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2312/a>        } v2322/a> v2332/a> v2342/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_base" class="sref">io_base2/a> = (unsigned long)2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_virt" class="sref">io_virt2/a> - 2a href="+code=VMALLOC_END" class="sref">VMALLOC_END2/a>; v2352/a> v2362/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=iomem" class="sref">iomem2/a>.2a href="+code=start" class="sref">start2/a> = (unsigned long)2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_base" class="sref">mem_base2/a>; v2372/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=iomem" class="sref">iomem2/a>.2a href="+code=end" class="sref">end2/a> = (unsigned long)2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_base" class="sref">mem_base2/a> + (2a href="+code=mem" class="sref">mem2/a>.2a href="+code=end" class="sref">end2/a> - 2a href="+code=mem" class="sref">mem2/a>.2a href="+code=start" class="sref">start2/a>); v2382/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=iomem" class="sref">iomem2/a>.2a href="+code=flags" class="sref">flags2/a> = 2a href="+code=IORESOURCE_MEM" class="sref">IORESOURCE_MEM2/a>; v2392/a> v2402/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=irq" class="sref">irq2/a> = 2a href="+code=irq_of_parse_and_map" class="sref">irq_of_parse_and_map2/a>(2a href="+code=np" class="sref">np2/a>, 0); v2412/a> v2422/a>        2a href="+code=status" class="sref">status2/a> = 2a href="+code=request_irq" class="sref">request_irq2/a>(2a href="+code=cf" class="sref">cf2/a>->2a href="+code=irq" class="sref">irq2/a>, 2a href="+code=electra_cf_irq" class="sref">electra_cf_irq2/a>, 2a href="+code=IRQF_SHARED" class="sref">IRQF_SHARED2/a>, v2432/a>                             2a href="+code=driver_namp" class="sref">driver_namp2/a>, 2a href="+code=cf" class="sref">cf2/a>); v2442/a>        if (2a href="+code=status" class="sref">status2/a> < 0) { v2452/a>                2a href="+code=dev_err" class="sref">dev_err2/a>(2a href="+code=device" class="sref">device2/a>, 2spa	 class="string">"request_irq failed\n"2/spa	 ); v2462/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2472/a>        } v2482/a> v2492/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=socket" class="sref">socket2/a>.2a href="+code=pci_irq" class="sref">pci_irq2/a> = 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=irq" class="sref">irq2/a>; v2502/a> v2512/a>        2a href="+code=prop" class="sref">prop2/a> = 2a href="+code=of_get_property" class="sref">of_get_property2/a>(2a href="+code=np" class="sref">np2/a>, 2spa	 class="string">"card-detect-gpio"2/spa	 , 2a href="+code=NULL" class="sref">NULL2/a>); v2522/a>        if (!2a href="+code=prop" class="sref">prop2/a>) v2532/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2542/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_detect" class="sref">gpio_detect2/a> = *2a href="+code=prop" class="sref">prop2/a>; v2552/a> v2562/a>        2a href="+code=prop" class="sref">prop2/a> = 2a href="+code=of_get_property" class="sref">of_get_property2/a>(2a href="+code=np" class="sref">np2/a>, 2spa	 class="string">"card-vsense-gpio"2/spa	 , 2a href="+code=NULL" class="sref">NULL2/a>); v2572/a>        if (!2a href="+code=prop" class="sref">prop2/a>) v2582/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2592/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_vsense" class="sref">gpio_vsense2/a> = *2a href="+code=prop" class="sref">prop2/a>; v2602/a> v2612/a>        2a href="+code=prop" class="sref">prop2/a> = 2a href="+code=of_get_property" class="sref">of_get_property2/a>(2a href="+code=np" class="sref">np2/a>, 2spa	 class="string">"card-3v-gpio"2/spa	 , 2a href="+code=NULL" class="sref">NULL2/a>); v2622/a>        if (!2a href="+code=prop" class="sref">prop2/a>) v2632/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2642/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_3v" class="sref">gpio_3v2/a> = *2a href="+code=prop" class="sref">prop2/a>; v2652/a> v2662/a>        2a href="+code=prop" class="sref">prop2/a> = 2a href="+code=of_get_property" class="sref">of_get_property2/a>(2a href="+code=np" class="sref">np2/a>, 2spa	 class="string">"card-5v-gpio"2/spa	 , 2a href="+code=NULL" class="sref">NULL2/a>); v2672/a>        if (!2a href="+code=prop" class="sref">prop2/a>) v2682/a>                goto 2a href="+code=fail1" class="sref">fail12/a>; v2692/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=gpio_5v" class="sref">gpio_5v2/a> = *2a href="+code=prop" class="sref">prop2/a>; v2702/a> v2712/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=socket" class="sref">socket2/a>.2a href="+code=io_offset" class="sref">io_offset2/a> = 2a href="+code=cf" class="sref">cf2/a>->2a href="+code=io_base" class="sref">io_base2/a>; v2722/a> v272a hrlass=mcia/electra_cf.c#L168" idtiL168" class="line" namptiL272">v2722/a> v272a hrlass=mcia/electra_cf.c#L168" idtiL168" class="line" namptiL272">v2722/a> gpio2/a>); pccard_opera2"
	s227tiL206" class="line" namptiL206">L247">v2238"negs_i/electra_cf.c#L243" idt238"negs_i43" class="line" namptiL243">v2432/a>                          2/a>->2a href="+code=io_size" class="sref">io_size2/a> = 2a href="+code=PAGE_ALIGN" class="sref">PAGE_ALIGN2/a>(2a href="+code=ass="sref">io_siza/electra_cf.c#L245" idtiL245" class="lint;2/spa	 );                 goto 2a href="lectra_cf.c#L231" idtiL231" class="line" namptiL231"XIO_cf.c#L231" idt1"XIOdrivers/pcmcia/electra_cf.c#L273" idtiL273" clhref="+co77">v1772/a>        .2a 2ref="27             break; fail12/a>; v2782/a>        .2a href="2code=27e" namptiL228">v2282/class="sref">prop2/a>; v1792/a>      2 .2a 2ref="+code=set>socket2/a>.2a href="+code=pci_irq" class="line" n2mptiL180">v1802/a>      2 .2a 272a href="+code=np" class="sref">np2/a>, 0); <="line" n2mptiL181">v1812/a>      2 .2a 28dtiL202" class="lne" namptiL206">L247">v2negs_i/electra_cf.c#L243" idtnegs_i43" class="line" namptiL243">v2432/a>                          amptiL272">v2722/a> _PAGE_GUARDED2/a>) == 2a href="+code=NULL" class="ss="sref">io_siza/electra_cf.c#L245" idtiL245" class="lint;2/spa	 ); v1822/a>}; 2a hre28href="+code=cf" class goto 2a href="lectra_cf.c#L231" idtiL231" class="line" namptiL231"XIO_cf.c#L231" idt1"XIOdrivers/pcmcia/electra_cf.c#L273" idtiL273" crobp" cla2s="sref">electra_cf_prob22/a>(28a/electra_cf.c#L174" idtiL174" class+code=fail1" class="sref">fail12/a>; platfo2m_device2/a> *2a href="+2ode=o282a href="+code=prop" class="sref">prop2/a>; <> ofdev2/a2->28="string">"card-5v-gpio"2/spa	 , 2af="driver2/pcmcia/electra_cf.c#L182" idt28href="drivers/pcmcia/electra_cf.c#L237" idtiL237" class="line" namptiL222/a> irq2/a> = 2a ownef73">v272a hrlass=mcia/THIS_MODULcode=dev_err" clTHIS_MODULcdrivers/pcmcia/electra_cf.c#L273" idtiL273" criL178">v2de" class="sref">of_node2/a>; 28ef="+code=mem" class="sref">mem2/a>.2a href="+code=end" class="sref">en22/a> cf2/a>; v27f="+code=np" class="sref">np2/a> = 2a href="+code=ofdev" class="sref">ofdev2/a>->2a href="+code=dev" class="sref">dev2/a>.2a href="2       st2uctv2a href="+code=resou2ce" c2839" class="line" namptiL239">v2392/a> , , dev2/a>.2a href="2 "line" n2">v1902/a>        int 2a2href=28a/electra_cf.c#L250" idtiL250" class="line" namptiL250">v2502/a> , dev2/a>.2a href="2a>; v2412/a> v272a hrlass=mcia/SS_CAP_PCCARrs/pcmcia/electrSS_CAP_PCCARr73">v/a>(2a href="+codSS_CAP_STATIC_MAPs/pcmcia/electrSS_CAP_STATIC_MAP73">v/ode=dev" class="sref">dev2/a>.2a href="2ass="line2vers/pcmcia/electra_cf.c2L193"29href="+code=cf" classctra_cf.c#L174" idtiL174" classSS_CAP_MEMa_cf.c#L216" idtiL216SS_CAP_MEMa_cf.ca/elcode=dev" class="sref">dev2/a>.2a href="2aobp" cla2area" class="sref">area22a>; <29232/a>        2a href="+code=dev_set_drvdata" class="sref">dev_set_drvdf="drivers/pcmcia/electra_cf.c#L251" idtiL251" ="sr>PAGE_ALIGN2/a>(2a h"sr>PAG73">v27ne" namptiL175">v1752/a> io_virt2/a> - 2a a>(2a hre2="+code=np" class="sref"2np2/a29a/electra_cf.c#L266" idtiL26HARED" class="sref">IRQF_SHARED2/a>, itnegsst clap2/a> *2a href="+code=map" negsst clap2/a>l12/aidtiL208" class="line" namptiL208">v2082/a>        2a href="+coref">cf2/a>->2a href="+code=mem_phys" class="sref">mem_phys2/a>; ); "request_irq failed\n"2/spa	 ); fail12/a>; /a>        } v1992/a>   2    22 href="+code=err" clasclass="sref">prop2/a>; <3 dev2/a>.2a href="2a      st2="+code=np" class="sref"2np2/a29ef="+code=set>socket2/a>.2a href="+code=pci_irq" classa>); np2/a>, 0); 3 href="dr3vers/pcmcia/electra_cf.c3L202"30idtiL241" class="line" namptef">inff="drivers/pcmcief">inffl12/a>; lx io7nec2/a>llx ief="+codea href="+code=s" class="sref">s2/a>->2a href="+code=3ass="line3 namptiL203">v2032/a>   3    23 href="+code=cf" class>v2122/a>        2a href="+code=cf" class="sref">cf2/a>->2a href="+code=mem_size" class="sr191">v1912/a>        const unsigned int tra_cf.c#L227" idtiL227" class="line" namptiL227">v2272/a>                2a href="+code=_PAGE_NO_CACHE" c+code=of_get_property" cdrivers/pcmcia/electra_cf.c#L248" idtiL243ass="sref3>cf2/a>, 2a href="+code=3FP_KE3NEL" class="sref">GFP_KERNEL2/a>); v2042/a>        if (!2a hr">cf2/a>->2a href=ctGFP/a>        if (=ctGFPARED2/a1rivers/pcmcia/electra_cf.c#L248" idtiL243a4ers/pcm3i"+code=np" class="sref"3206" 30a/electra_cf.c#L266" idtiL26irq" class="sref">irq2/a> = 2a href="+code=NO_IRQ" (ass="sref">NO_IRQ2/a>; v2072/a>   3    23 href="+code=s">v1762/a>static structv2a href="+code=pccard_op3=timer" c3ass="sref">timer2/a>, 2a3href=3+code=electra_cf_timer" class="sref">electra_3f_timer2/3>, (unsigned long)2a hre3="+co3e=cf" ="sref">prop2/a>; <3 electra_3f8timer2/3>"+code=np" class="sref"3cia/e3ectra_cf.c#L210" idtiL210" clrsrease2negs_i/electra_cf.c#L24rease2negs_i43" class="line" namptiL243">v2432/a>                          amptiL272">v2722/a> _PAGE_GUARDED2/a>) == 2a href="+code=NULL" class=a_cf.c#L209" idtiL209" class="line" nampt3a9timer2/3>f="drivers/pcmcia/elect3cmcia3electr="sref">prop2/a>; <> electra_3tiL211">v3112/a>        2a href="+3ode=c3" class="sref">cf2/a>->2a 24rease2238"negs_i/electra_cf.c#L24rease2238"negs_i43" class="line" namptiL243">v2432/a>                          2/a>->2a href="+code=io_size" class="sref">io_size2/a> = 2a href="+code=PAGE_ALIGN" class="sref">PAGE_ALIGN2/a>(2a href="+code=a_cf.c#L209" idtiL209" class="line" nampt3/electra_3f.c#L212" idtiL212" clas3="lin3" namp="sref">prop2/a>; electra_3tss="sref3;2a href="+code=mem" cla3s="sr31iL264" class="lin7">v2272/a>                2a href="+code=_PAGE_NO_CACHE" c+code=of_get_property" c !">cf2/a>->2a href="+code=ofdev" class="sref">de=cf" class="sref">cf2/a>->2a href="3_phys" cl3ss="sref">mem_phys2/a>, 3a hre312a href="+code=prop" ="sref">prop2/a>reess="line" namptiL25>reess="43" class="line" namptiL243">v2432/a>                          a  2a href="+code=driver_namp" class="sref="drivers/pcmcia/electra_cf.c#L209" idtiL209" class="line" nampt3/a>(&3a href="+code=io" class=3sref"31io_virt" class="sref">io_virt2/a> || !2a hre3e=cf" cla3s="sref">cf2/a>->2a h3ef="+31c#L196" idtiLspa	 class="string"L236" idtiL236" class="line" namptiL236">v2362/a>        2a href="+code=cf" de=cf" class="sref">cf2/a>->2a href="3_timer" c3=PHB_IO_BASE" class="sre3">PHB31             break; v2432/a>                          ampss="sref">_PAGE_NO_CACHE2/a> | 2a href="+code=_PAGE_GUARDED" class="sref">_PAGE_GUARDED2/a>) == 2a href="+code=NULL" class=a_cf.c#L209" idtiL209" class="line" nampt3/_timer2/3de=ENOMEM" class="sref">3NOMEM3/a>; v2382/ade=cf" class="sref">cf2/a>->2a href="3_8timer2/3 namptiL220">v2202/a>   3    23 href="+code=cf" classPAGE_GUARDED2/a>)un hra href="+code=NULun hr43" class="line" namptiL243">v2432/a>                          2/a>lass="line" namptiL238">v2382/ad_cf.c#L209" idtiL209" class="line" nampt3/9timer2/3="sref">__iomem2/a> *)(23 href319>; start2/a>, 2a href="+codede=cf" class="sref">cf2/a>->2a href="3="+code=a3dr" class="sref">addr2/a3); )un hra href="+code=NULun hr43" class="line" namptiL243">v2432/a>                          lass="sref">start2/a>, 2a href="+coded_cf.c#L209" idtiL209" class="line" nampt3p" class=3sref">ioremap2/a>(0xfc103000, 32rivers/pcmcia/electra_cf.c#Le" nampdriv_wakeura href="+code=Ne" nampdriv_wakeurl12/aidtiL208" class="linsref">np2/a> = 2a href="+code=ofdev" class="sref">ofdev2/a>->2a href="+q" class="sref">request_irq2/a>(2a href="+co3223" idti3223" class="line" nampti3223">32232/a>        2a href="+codek>reedev2/a>->2a k>ree43" class="line" namptiL243">v2432/a>      class="sref">request_irq2/a>(2a href="+co32phys" cl3ne" namptiL224">v2242/a>3v1762 class="string">"request_irq failed\n&quolass="sref">request_irq2/a>(2a href="+co32a>(&3sref">cf2/a>->2a href3"+cod3=io_virt" class="sref">io_virt2/a> || !2a hre3="+code=c3" class="sref">cf2/a>-&g3;2a h3ef="+c>socket2/a>.2a href="+code=pci_irq" clas3=io_virt"3class="sref">io_virt2/a>3 2a h32code=electra_cf_timer" class="sref">electra_3ia/electr3_cf.c#L228" idtiL228" cl3ss="l3ne" na" namptiL185">v1852/a>{ v1862/a>        structv2a href="+code=device" class="sref">device2/a> *2a href="+code=device" class="sref">device2/a> = &2a href=3cf.c#L2293 idtiL229" class="line" 3ampti3229">v); status2/a/a>        structv2a href="+code=device_node" class="sref">device_node2/a> *2a href="+code=np" class="sref">np2/a> = 2a href="+code=ofdev" class="sref">ofdev2/a>->2a href="+code=dev" class="sref">dev2/a>.2a href="3" class="3ine" namptiL232">v2322/a3 status2/a href="drivss="sref">mem2/a>, 2a href="+code=io" class=device_node" cl href="drivers/pcmcia/electra_cf.c#L190" idtiL190" class="line"3a_cf.c#L234" idtiL234" class="line3 namp33de=irq" class="sref">irq2/a>, 2a href="+code3cf2/a>-&g3;2a href="+code=io_base"3class33232/a>        2a href="+code=dev_set_drvdata" class2/a>, g5" idtiL225" class="line" namgtiL225">v2252/a>        if (!2a href="+code=cf" class="sref">class="sref">request_irq2/a>(2a href="+co3code=cf" 3lass="sref">cf2/a>->23 href3"+code=io_virt" class="sref">io_virt2/a> - 2a3href="+co3e=VMALLOC_END" class="sr3f">VM3LLOC_END2/a>;         if (=ctGFPARED2/a/a>static structv2a href="+code=pccard_op3ef">start3/a> = (unsigned long)2a 3ref="33c#L196" idtiL196" class="line=map" unnegsst clap2/a> *2a href="+code=map" unnegsst clap2/a>l12/aidtiL208" class="line" namptiL208">v2082/a>        2a href="+coref">cf2/a>->2a href="+code=mem_phys" class="sref">mem_phys2/a>; mem_base23a>; <3 href="drivers/pcmcia/electra>reess="line" namptiL25>reess="43" class="line" namptiL243">v2432/a>                          a  2a href="+code=driver_namp" class="sref="drivers/pcmcia/electra_cf.c#L209" idtiL209" class="line" nampt3m_base" c3ass="sref">mem_base2/a> 3 (2a 3ref="+code=mem" class="sref">dele=NO_I_synf">cf2/a>) v2082/a>        2a href="+code=cf" class="sref">cf2/a>-&ga_cf.c#L209" idtiL209" class="line" nampt3mf.c#L2293pcmcia/electra_cf.c#L2393 idti33lass="sref">cf2/a>->2a href="+code=irq" c3ap" class3"sref">irq_of_parse_and_3ap2/a33a/electra_cf.c#L250" idtiL25 claun href="+code=io_size" claun href=43" class="line" namptiL243">v2432/a>                          ampss="sref">_PAGE_NO_CACHE2/a> | 2a href="+code=_PAGE_GUARDED" class="sref">_PAGE_GUARDED2/a>) == 2a href="+code=NULL" class=a_cf.c#L209" idtiL209" class="code=irq" c3a href="d3ivers/pcmcia/electra_cf.3#L2413 idtiL241" class="line" nampt>)un hra href="+code=NULun hr43" class="line" namptiL243">v2432/a>                          2/a>lass="line" namptiL238">v2382/ad_cf.c#L209" idtiL209" class="line" nampt3e=cf" cla3s="sref">cf2/a>->2a h3ef="+34rivers/pcmcia/electra_cf.c#L>)un hra href="+code=NULun hr43" class="line" namptiL243">v2432/a>                          lass="sref">start2/a>, 2a href="+coded_cf.c#L209" idtiL209" class="line" nampt3electra_c3_irq" class="sref">elect3a_cf_3rq2/a>, 2a href="+code=IRQF_S24rease2238"negs_i/electra_cf.c#L24rease2238"negs_i43" class="line" namptiL243">v2432/a>                          2/a>->2a href="+code=io_size" class="sref">io_size2/a> = 2a href="+code=PAGE_ALIGN" class="sref">PAGE_ALIGN2/a>(2a href="+code=a_cf.c#L209" idtiL209" class="line" nampt3eode=cf" 3 (2a href="+code=status"3class34class="line" namptiL204">v20rsrease2negs_i/electra_cf.c#L24rease2negs_i43" class="line" namptiL243">v2432/a>                          amptiL272">v2722/a> _PAGE_GUARDED2/a>) == 2a href="+code=NULL" class=a_cf.c#L209" idtiL209" class="line" nampt3eref="+co3ref="+code=device" class3"sref34io_virt" class="sref">io_virt2/a> || !2a hre3246" idti3246" class="line" nampti3246">34c#L196" idtiL196" class="link>reedev2/a>->2a k>ree43" class="line" namptiL243">v2432/a>      class="sref">request_irq2/a>(2a href="+co3" class="3ine" namptiL248">v2482/a3 electra_3s="sref">3f2/a>->2a href="+code3socke3" class="sref"">v1762/a>static structv2a href="+code=pccard_op3="sref">p3i_irq2/a> = 2a href="+co3e=cf"3class=>socket2/a>.2a href="+code=pci_irq" clas3ass="sref3>irq2/a>; np2/a>, 0); 3+code=np"3class="sref">np2/a>, 2sp3	 cla3s="str" namptconstcclass="sref">status2/aof_e" nampdcode=iomem" clasof_e" nampdcclasssref">status2/a href="drivmatchef">mem2/a>, 2a href="+codmatchclas[]2/a); ->2a compnamble/electr=dtiL247" class="line" nampti/electr-cfhref="+code=s" class="sref">s2/a>->2a href="+code=3code=gpio3detect" class="sref">gpi3_dete3t2/a> = *2a hr}" class="sref">s2/a>->2a href="+code=3cref="+co3ptiL255">v2552/a> s2/a>->2a href="+code=3c46" idti3class="sref">np2/a>, 2sp3	 cla3s="str}a>static structv2a href="+code=pccard_op3, 2a href3"+code=NULL" class="sref3>NULL3/a>); ra_cf.c#L227" iMODULc_DEVICE_TABLcode=dev_err" clMODULc_DEVICE_TABLc43" class="line" namotiL243">v2432/a>o="line" namptiL205">v2 href="drivmatchef">mem2/a>, 2a href="+codmatchclasclass="sref">request_irq2/a>(2a href="+co3ref="driv3rs/pcmcia/electra_cf.c#L359" i3tiL259ass="sref">request_irq2/a>(2a href="+co3r"sref">p3vsense" class="sref">gpi3_vsen3e2/a> " namptsass="line" namptiL186">v1862/a>reque   structv2a href="+code=requeclasssref">status2/a href="driv>reque   structv2a hr href="driv>requeARED2/a); v2602/a> np2/a>, 2sp3	 cla36f="drivers/pcmcia/elelectra_cf.c#L273ra_cf.c#L245" idtiLass="lin clachar *IRQ2/a>; s2/a>->2a href="+code=3 href="+c3de=NULL" class="sref">NU3L2/a>36href="+code=cf" classlectra_cf.c#L273ownef">irq2/a> = 2a ownef73">v272a hrlass=mcia/THIS_MODULcode=dev_err" clTHIS_MODULcdriv" class="sref">s2/a>->2a href="+code=3 lectra_c3rs/pcmcia/electra_cf.c#L364" i36a/electra_cf.c#L174" tra_cf.c#L227" ioodmatch_tabledev2/a>->2a oodmatch_table73">v272a hrlass=mcia/ href="drivmatchef">mem2/a>, 2a href="+codmatchclas" class="sref">s2/a>->2a href="+code=3 ode=gpio33v" class="sref">gpio_3v3/a> =362/a> = *2a hr}" class="sref">s2/a>->2a href="+code=3amptiL2653>v2652/a> s2/a>->2a href="+code=3 46" idti3class="sref">np2/a>, 2sp3	 cla365/electra_cf.>; s2/a>->2a href="+code=3  2a href3de=NULL" class="sref">NU3L2/a>3; static structv2a href="+code=pccard_op3ref="driv3rs/pcmcia/electra_cf.c#L369" i36iL259ass="sref">request_irq2/a>(2a href="+co3code=gpio35v" class="sref">gpio_5v3/a> =3*2a hrALIGN" class="srodule_">v1862/a>reque   structv2a hrrodule_">v1862/a>reque43" class="line" nam href="driv>reque   structv2a hr href="driv>requeAREDclass="sref">request_irq2/a>(2a href="+co3amptiL2703>v2702/a> np2/a>, 0); 3ss="sref"3io_offset2/a> = 2a href=3+code3cf" clra_cf.c#L227" iMODULc_LICEN="sref">NULL2/a>)MODULc_LICEN="43" cliL247" class="line" namptiGPL  } io_base2/a>; prop2/aMODULc_AUTHORsref">NULL2/a>)MODULc_AUTHOR43" tcliL247" class="line" namptiOlof Johanssont;2/solof@lixom.netf">_  } v272a hrla3s=mci3/electra_cf.c#L227" iMODULc_DESCRIPTIOc#L216" idtiL216MODULc_DESCRIPTIOc43" cliL247" class="line" namptiPA Semi EL248"  CF ia/ele  }  LXR 3" cunirop" c, this expericlasal eleciontby vers/pcmcmailto:lxe@linux.no">lxe@linux.nop" c.
lxe.linux.no kindly hostedtby vers/pcmchttp://www.redpill-linpro.no">Redpill Linpro ASp" c, provider of Linuxtconsultine and de=pnam_inh" naicenh"ince 1995.