linux/drivers/pcmcia/pcmcia_resource.c
<<
>>
Prefs
   1/*
   2 * PCMCIA 16-bit resource management functions
   3 *
   4 * The initial developer of the original code is David A. Hinds
   5 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
   6 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
   7 *
   8 * Copyright (C) 1999        David A. Hinds
   9 * Copyright (C) 2004-2010   Dominik Brodowski
  10 *
  11 * This program is free software; you can redistribute it and/or modify
  12 * it under the terms of the GNU General Public License version 2 as
  13 * published by the Free Software Foundation.
  14 *
  15 */
  16
  17#include <linux/module.h>
  18#include <linux/kernel.h>
  19#include <linux/interrupt.h>
  20#include <linux/delay.h>
  21#include <linux/pci.h>
  22#include <linux/device.h>
  23#include <linux/netdevice.h>
  24#include <linux/slab.h>
  25
  26#include <asm/irq.h>
  27
  28#include <pcmcia/ss.h>
  29#include <pcmcia/cistpl.h>
  30#include <pcmcia/cisreg.h>
  31#include <pcmcia/ds.h>
  32
  33#include "cs_internal.h"
  34
  35
  36/* Access speed for IO windows */
  37static int io_speed;
  38module_param(io_speed, int, 0444);
  39
  40
  41int pcmcia_validate_mem(struct pcmcia_socket *s)
  42{
  43        if (s->resource_ops->validate_mem)
  44                return s->resource_ops->validate_mem(s);
  45        /* if there is no callback, we can assume that everything is OK */
  46        return 0;
  47}
  48
  49struct resource *pcmcia_find_mem_region(u_long base, u_long num, u_long align,
  50                                 int low, struct pcmcia_socket *s)
  51{
  52        if (s->resource_ops->find_mem)
  53                return s->resource_ops->find_mem(base, num, align, low, s);
  54        return NULL;
  55}
  56
  57
  58/**
  59 * release_io_space() - release IO ports allocated with alloc_io_space()
  60 * @s: pcmcia socket
  61 * @res: resource to release
  62 *
  63 */
  64static void release_io_space(struct pcmcia_socket *s, struct resource *res)
  65{
  66        resource_size_t num = resource_size(res);
  67        int i;
  68
  69        dev_dbg(&s->dev, "release_io_space for %pR\n", res);
  70
  71        for (i = 0; i < MAX_IO_WIN; i++) {
  72                if (!s->io[i].res)
  73                        continue;
  74                if ((s->io[i].res->start <= res->start) &&
  75                    (s->io[i].res->end >= res->end)) {
  76                        s->io[i].InUse -= num;
  77                        if (res->parent)
  78                                release_resource(res);
  79                        res->start = res->end = 0;
  80                        res->flags = IORESOURCE_IO;
  81                        /* Free the window if no one else is using it */
  82                        if (s->io[i].InUse == 0) {
  83                                release_resource(s->io[i].res);
  84                                kfree(s->io[i].res);
  85                                s->io[i].res = NULL;
  86                        }
  87                }
  88        }
  89}
  90
  91
  92/**
  93 * alloc_io_space() - allocate IO ports for use by a PCMCIA device
  94 * @s: pcmcia socket
  95 * @res: resource to allocate (begin: begin, end: size)
  96 * @lines: number of IO lines decoded by the PCMCIA card
  97 *
  98 * Special stuff for managing IO windows, because they are scarce
  99 */
 100static int alloc_io_space(struct pcmcia_socket *s, struct resource *res,
 101                        unsigned int lines)
 102{
 103        unsigned int align;
 104        unsigned int base = res->start;
 105        unsigned int num = res->end;
 106        int ret;
 107
 108        res->flags |= IORESOURCE_IO;
 109
 110        dev_dbg(&s->dev, "alloc_io_space request for %pR, %d lines\n",
 111                res, lines);
 112
 113        align = base ? (lines ? 1<<lines : 0) : 1;
 114        if (align && (align < num)) {
 115                if (base) {
 116                        dev_dbg(&s->dev, "odd IO request\n");
 117                        align = 0;
 118                } else
 119                        while (align && (align < num))
 120                                align <<= 1;
 121        }
 122        if (base & ~(align-1)) {
 123                dev_dbg(&s->dev, "odd IO request\n");
 124                align = 0;
 125        }
 126
 127        ret = s->resource_ops->find_io(s, res->flags, &base, num, align,
 128                                &res->parent);
 129        if (ret) {
 130                dev_dbg(&s->dev, "alloc_io_space request failed (%d)\n", ret);
 131                return -EINVAL;
 132        }
 133
 134        res->start = base;
 135        res->end = res->start + num - 1;
 136
 137        if (res->parent) {
 138                ret = request_resource(res->parent, res);
 139                if (ret) {
 140                        dev_warn(&s->dev,
 141                                "request_resource %pR failed: %d\n", res, ret);
 142                        res->parent = NULL;
 143                        release_io_space(s, res);
 144                }
 145        }
 146        dev_dbg(&s->dev, "alloc_io_space request result %d: %pR\n", ret, res);
 147        return ret;
 148}
 149
 150
 151/**
 152 * pcmcia_access_config() - read or write card configuration registers
 153 *
 154 * pcmcia_access_config() reads and writes configuration registers in
 155 * attribute memory.  Memory window 0 is reserved for this and the tuple
 156 * reading services. Drivers must use pcmcia_read_config_byte() or
 157 * pcmcia_write_config_byte().
 158 */
 159static int pcmcia_access_config(struct pcmcia_device *p_dev,
 160                                off_t where, u8 *val,
 161                                int (*accessf) (struct pcmcia_socket *s,
 162                                                int attr, unsigned int addr,
 163                                                unsigned int len, void *ptr))
 164{
 165        struct pcmcia_socket *s;
 166        config_t *c;
 167        int addr;
 168        int ret = 0;
 169
 170        s = p_dev->socket;
 171
 172        mutex_lock(&s->ops_mutex);
 173        c = p_dev->function_config;
 174
 175        if (!(c->state & CONFIG_LOCKED)) {
 176                dev_dbg(&p_dev->dev, "Configuration isn't locked\n");
 177                mutex_unlock(&s->ops_mutex);
 178                return -EACCES;
 179        }
 180
 181        addr = (p_dev->config_base + where) >> 1;
 182
 183        ret = accessf(s, 1, addr, 1, val);
 184
 185        mutex_unlock(&s->ops_mutex);
 186
 187        return ret;
 188}
 189
 190
 191/**
 192 * pcmcia_read_config_byte() - read a byte from a card configuration register
 193 *
 194 * pcmcia_read_config_byte() reads a byte from a configuration register in
 195 * attribute memory.
 196 */
 197int pcmcia_read_config_byte(struct pcmcia_device *p_dev, off_t where, u8 *val)
 198{
 199        return pcmcia_access_config(p_dev, where, val, pcmcia_read_cis_mem);
 200}
 201EXPORT_SYMBOL(pcmcia_read_config_byte);
 202
 203
 204/**
 205 * pcmcia_write_config_byte() - write a byte to a card configuration register
 206 *
 207 * pcmcia_write_config_byte() writes a byte to a configuration register in
 208 * attribute memory.
 209 */
 210int pcmcia_write_config_byte(struct pcmcia_device *p_dev, off_t where, u8 val)
 211{
 212        return pcmcia_access_config(p_dev, where, &val, pcmcia_write_cis_mem);
 213}
 214EXPORT_SYMBOL(pcmcia_write_config_byte);
 215
 216
 217/**
 218 * pcmcia_map_mem_page() - modify iomem window to point to a different offset
 219 * @p_dev: pcmcia device
 220 * @res: iomem resource already enabled by pcmcia_request_window()
 221 * @offset: card_offset to map
 222 *
 223 * pcmcia_map_mem_page() modifies what can be read and written by accessing
 224 * an iomem range previously enabled by pcmcia_request_window(), by setting
 225 * the card_offset value to @offset.
 226 */
 227int pcmcia_map_mem_page(struct pcmcia_device *p_dev, struct resource *res,
 228                        unsigned int offset)
 229{
 230        struct pcmcia_socket *s = p_dev->socket;
 231        unsigned int w;
 232        int ret;
 233
 234        w = ((res->flags & IORESOURCE_BITS & WIN_FLAGS_REQ) >> 2) - 1;
 235        if (w >= MAX_WIN)
 236                return -EINVAL;
 237
 238        mutex_lock(&s->ops_mutex);
 239        s->win[w].card_start = offset;
 240        ret = s->ops->set_mem_map(s, &s->win[w]);
 241        if (ret)
 242                dev_warn(&p_dev->dev, "failed to set_mem_map\n");
 243        mutex_unlock(&s->ops_mutex);
 244        return ret;
 245}
 246EXPORT_SYMBOL(pcmcia_map_mem_page);
 247
 248
 249/**
 250 * pcmcia_fixup_iowidth() - reduce io width to 8bit
 251 * @p_dev: pcmcia device
 252 *
 253 * pcmcia_fixup_iowidth() allows a PCMCIA device driver to reduce the
 254 * IO width to 8bit after having called pcmcia_enable_device()
 255 * previously.
 256 */
 257int pcmcia_fixup_iowidth(struct pcmcia_device *p_dev)
 258{
 259        struct pcmcia_socket *s = p_dev->socket;
 260        pccard_io_map io_off = { 0, 0, 0, 0, 1 };
 261        pccard_io_map io_on;
 262        int i, ret = 0;
 263
 264        mutex_lock(&s->ops_mutex);
 265
 266        dev_dbg(&p_dev->dev, "fixup iowidth to 8bit\n");
 267
 268        if (!(s->state & SOCKET_PRESENT) ||
 269                !(p_dev->function_config->state & CONFIG_LOCKED)) {
 270                dev_dbg(&p_dev->dev, "No card? Config not locked?\n");
 271                ret = -EACCES;
 272                goto unlock;
 273        }
 274
 275        io_on.speed = io_speed;
 276        for (i = 0; i < MAX_IO_WIN; i++) {
 277                if (!s->io[i].res)
 278                        continue;
 279                io_off.map = i;
 280                io_on.map = i;
 281
 282                io_on.flags = MAP_ACTIVE | IO_DATA_PATH_WIDTH_8;
 283                io_on.start = s->io[i].res->start;
 284                io_on.stop = s->io[i].res->end;
 285
 286                s->ops->set_io_map(s, &io_off);
 287                mdelay(40);
 288                s->ops->set_io_map(s, &io_on);
 289        }
 290unlock:
 291        mutex_unlock(&s->ops_mutex);
 292
 293        return ret;
 294}
 295EXPORT_SYMBOL(pcmcia_fixup_iowidth);
 296
 297
 298/**
 299 * pcmcia_fixup_vpp() - set Vpp to a new voltage level
 300 * @p_dev: pcmcia device
 301 * @new_vpp: new Vpp voltage
 302 *
 303 * pcmcia_fixup_vpp() allows a PCMCIA device driver to set Vpp to
 304 * a new voltage level between calls to pcmcia_enable_device()
 305 * and pcmcia_disable_device().
 306 */
 307int pcmcia_fixup_vpp(struct pcmcia_device *p_dev, unsigned char new_vpp)
 308{
 309        struct pcmcia_socket *s = p_dev->socket;
 310        int ret = 0;
 311
 312        mutex_lock(&s->ops_mutex);
 313
 314        p_dev, unsigned char new_vpp)
 IRt; 215
<3 href31drivers/pcmcia/pcmcia_resource.c#L268" id="L268" class="line" name="L268"> 268        if (!(s->state &  216
<3 href31drivers/pcmcia/pcmcia_resource.c#L269" id="L269" class="line" name="L269"> 269                !(p_dev->function_config->state & /**
<3 href31drivers/pcmcia/pcmcia_resource.c#L28ce.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char new/a>->dev, "No card? Co3int to a 3ifferent offset
<3 href31drivers/pcmcia/pcmcia_resource.c#L271" id="L271" class="line" name="L271"> 271                ret = - 272                goto 
<3 href32drivers/pcmcia/pcmcia_resource.c#L292" id="L292" 3> *
<3 href32drivers/pcmcia/pcmcia_resour268" id="L268" class="line" name="L268"> 2ef">s =  272                goto 
<3 href324rivers/pcmcia/pc_resource.c#L288" id="L288" class="line" name="L288"> 288                s = s" class="sref">ops-> 2ef">s = 
<3 href325rivers/pcmcia/pcmcia_resource.c#L28ce.cd="L242" class="line" name="L242"> 242                dev_warn(&p_devdev, "No card? Co3_offset v3lue to @offset.
<3 href32drivers/pcmcia/pcmcia_resource.c#L281" id="L271" class="line" name="L271"> 271 272                goto  */
<3 href32drivers/pcmcia/pcmcia_resource.c#L272" id="L272" class="line" name="L272"> 272                goto res,
<3 href3"drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c3fnt to a 3ass="sref">offset)
<3 href32drivers/pcmcia/pcmcia_resour      dev_ws="srpp: n 314 272                goto  229{
<3 href33drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 3socket" c3ass="sref">socket;
<3 href33drivers/pcmcia/pcmcia_resource.c#L290" id="L290" class="line" name="L290"> 290w;
<3 href33drivers/pcmcia/pcmcia_resource.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->ret;
<3 href3"drivers/pcmcia/pcmcia_resource.c#L233" id="L233" 3lass="lin3" name="L233"> 233
<3 href3"drivers/pcmcia/pcmcia_resource.c#L293" id="L293" class="line" name="L293"> 293        return ) >> 2) - 1;
<3 href33drivers/pcmcia/pcmcia_resource.c#L245" id="L245" c3X_WIN" cl3ss="sref">MAX_WIN)
<3 href33drivers/pcmcia/pcmcia_resource.c#L246" id="L246" class="line" name="L246"> 246 " class="sref">s->EINVAL;
<3 href3"drivers/pcmcia/pcmcia_resource.c#L237" id="L237" 3lass="lin3" name="L237"> 237
<3 href33drivers/pcmcia/pcmcia_resource.c#L248" id="L248" 3ex" class3"sref">ops_mutex);
<3 href33drivers/pcmcia/pcmcia_resource.c#L249" id="L249" class="line" name="L249"> 249offset;
<3 href34drivers/pcmcia/pcmcia_resource.c#L250releas_SYMBOL< 249w]);
<3 href34drivers/pcmcia/pcmcia_resource.c#L251" id="L251" class="line" name="L251"> 251ret)
<3 href34drivers/pcmcia/pcmcia_resource.c#L302" id="L302" class="line" name="L302"> 302);
<3 href34drivers/pcmcia/pcmcia_resource.c#L303releas_SYMBOL< * pcmcia_fixup_vpp() allows a PCMCIA deex" class3"sref">ops_mutex);
<3 href34drivers/pcmcia/pcmcia_resource.c#L194 304 * pcmcia_fixup_vpp() allows a PCMCIA deeFLAGS_RE3 class="sref">ret;
<3 href34drivers/pcmcia/pcmcia_resourcemcia_f,e.c#L301" class=3ise" class0, IRQs willeno longer be genespaed,s="comment"> * pcmcia_fixup_vpp() allows a PCMCIA dee_WIN" cl3 name="L245"> 245}
<3 href34drivers/pcmcia/pcmcia_resource.c#LI/O id="Ls willebe ="L305"d. Ase.c#L303releas_Sio3" c hre"comment"> * pcmcia_fixup_vpp() allows a PCMCIA deeass="lin3cia_map_mem_page);
<3 href34drivers/pcmcia/pcmcia_resource.c#L207releas_S 303s arlass="line" name="L251"> 251 247
<3 href34drivers/pcmcia/pcmcia_resourceexpect> 305 * andlass="lin3" name="L248"> 248
<3 href3"drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306/**
<3 href35drivers/pcmcia/pcmcia_resource.releas_SYMBOL< 307int pcmcia_fixup_vpp(struct p_dev, unsigned char  * @p_de3: pcmcia device
<3 href35drivers/pcmcia/pcmcia_resource.c#L261" id="L261" class="line" name="L261"> 261        <="L261" class="> = pccard_io_map  *
<3 href35drivers/pcmcia/pcmcia_resource.c#L309" id="L309" class="line" name="L309"> 309        struct pcmcia_socket *s = p_dev->win[        struct csref">win[p_dev->p_dev-> * previously.
<3 href35drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 3 */
<3 href357rivers/pcmcia/pcmcia_resource.c#L312" id="L312" class="line" name="L312"> 312        mutex_lock(&s->p_dev)
<3 href35drivers/pcmcia/pcmcia_resourcsref">win[pcmcia_socket *p class="sref">s-> 258{
<3 href3"drivers/pcmcia/pc_resource.c#L28ef">pcmcia_socket *stars/pcmcia/pcmcia_resource.c#L211" id="L211" c3socket" c3ass="sref">socket;
<3 href36drivers/pcmcia/pcmcia_resource.c#L28ef">pcmcia_socket *sine" name="L310"> 310        int  28de=d_count" id="L288" clade=d_countf">sta=ne"tars/pcmcia/pcmcia_resource.c#L211" id="L211" c3s * @p_de3lass="sref">io_on;
<3 href36drivers/pcmcia/pcmciaa/pcmcia_resource.c#L28268" id="L268" class="line" name="L268"> 2ef">s =                 p  rs/pcmcia/pcmcia_resourc Ise.cisecorrect?rce.c#L306" id="L306" class="line" name="L306"> 306e=ret" cl3ss="sref">ret = 0;
<3 href36drivers/pcmcia/pcmciaa/pcmcia_resource.c#L28268" id="L268" class="line" name="L268"> 2ef">s =  310        int  263
<3 href36drivers/pcmcia/pcmciaa/pcmcia_resource.c#L28268" id="L268" class="line" name="L268"> 2ef">s =  310        int ops_mutex);
<3 href365rivers/pcmcia/pcmciaa/pcmcia_resource.c#L28268" id="L268" class="line" name="L268"> 8                s = s" class="sref">ops-> 2ef">s =  310        int  265
<3 href36drivers/pcmcia/pcmciars/pcmcia/pcmcia_resource.c#L245" id="L245" c3iowidth t3 8bit\n");
<3 href367rivers/pcmcirs/pcmcia/pcmcia_resource.c#L245" id="L245" c3i=p_dev" 3" name="L267"> 267
<3 href3"drivers/pcmcia/pca/pcmcia_resourcsref">win[->function_config->ars/pcmcia/pcmcia_resource.c#L211" id="L211" c3sass="lin3SOCKET_PRESENT) ||
<3 href3"drivers/pcmcia/pcmciaa/pcmcia_resourcsref">win[->function_config-> 310        int CONFIG_LOCKED)) {
<3 href3"drivers/pcmcia/pcmciaa/pca/pcmcia_resourcsref">win[->function_config-IOESOURCE_BITS" classig-IOESOUice"ef">p_dev, unsigned char  276        for (i = 0; i < MAX_IO_WIN; EACCES;
<3 href3"drivers/pcmcia/pcmciars/pcmcia/pcmciaa/pcource.c#L277" id="L277" class="line" name="L277"> 277                if (!s->io[i].unlock;
<3 href37drivers/pcmcia/pcmciaa/pcmciaaaaaaaaaaaaaaaaae.c#L278" id="L278" class="line" name="L278"> 2783e" name="3273"> 273        }
<3 href37drivers/pcmcia/pcmciaa/pcmciaaaaaaaaaurce.c#L277" id="L277" class="line" name="L277"> 277                if (!s->p_-" id="L278" class="line" name="L278"> 2783eFLAGS_RE3" name="L274"> 274
<3 href375rivers/pcmcia/pcmciaa/pcmciaa/pcmciaa/pcurce.c#L277" id="L277" class="line" name="L277"> 277                if (!s->p !ne"t id="L278" class="line" name="L278"> 2783e_WIN" cl3s="sref">io_speed;
<3 href37drivers/pcmcia/pcmciaa/pcmciaaaaaaaaaaaaaaaaae.c#L278" id="L278" class="line" name="L278"> 2783eowidth t3lass="sref">i++) {
<3 href3"drivers/pcmcia/pcmciaa/pcmciaaaaaaaaaurce.c#L277" id                if (! 280                io_on.map = res)
<3 href3"drivers/pcmcia/pcmcia_resourcaaaaaaaaurce.c#L277" id="L277" class="line" name="L277"> 2778                s->ops-> 310        int i;
<3 href3"drivers/pcmcirs/pcmcia/pcmcia_resource.c#L245" id="L245" c3eig not l3i" class="sref">i;
<3 href38drivers/pcmcia/pcmcia_resource.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s-> 281
<3 href38drivers/pcmcia/pcmcia_resource.c#L292" id="L292" 3"sref">IO3DATA_PATH_WIDTH_8;
<3 href3"drivers/pcmcia/pcmci" name="L310"> 310        int start;
<3 href38drivers/pcmcia/pcmcia_resource.c#L294" id="L294" c3+code=end3 class="sref">end;
<3 href3"drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 3lass="lin3" name="L285"> 285
<3 href38drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 3o_off" cl3ss="sref">io_off);
<3 href38drivers/pcmcia/pcmcia_resource.c#L249" id="L249" class="line" name="L249"> 249mdelay(40);
<3 href38drivers/pcmcia/pcmcia_resource.c#L303releas_Sio3" s="lleas_LI/O clascpaedame=aine" name="L30.c#L249" id="L249" class="line" name="L249"> 249io_on);
<3 href38drivers/pcmcia/pcmcia_resource.c#L251" id="L251" class="line" name="L251"> 251 289        }
<3 href39drivers/pcmcia/pcmcia_resourcass="line" name="L251"> 251unlock:
<3 href39drivers/pcmcia/pcmcia_resource.c#L303releas_Sio3" releas_se.c#LI/O id="Ls clascpaedame=aine" naass="line" name="L251"> 251ops_mutex);
<3 href39drivers/pcmcia/pcmcia_resourc251" cl.  Tcisemayabeeinvokedasome time " clasa>-> eje" cla hasass="line" name="L251"> 251IO3" name="L292"> 292
<3 href39drivers/pcmcia/pcmcia_resourcealready dump>c#Lactual "+code YMBOL< 251ret;
<3 href39drivers/pcmcia/pcmcia_resourcelass="stalelass=", we don't bo;c#r checkline;c#Lport id="Ls cgainsts="comment"> * pcmcia_fixup_iowidth() allows a PCMCIA d3ass="line3 name="L294"> 294}
<3 href39drivers/pcmcia/pcmcia_resourcecurrres "+code valuesine" name="L305"> 305 * andsref">pcm3ia_fixup_iowidth);
<3 href39drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306lass="lin3" name="L296"> 296
<3 href3"drivefig"icia/pcmcia_resource.c.c#L303releas_Siod="L307" class="line" releas_Sf (!int pcmcia_fixup_vpp(struct p_dev, unsigned char  297
<3 href39drivers/pcmcia/pcmcia_resource.c#L308" id="L308" cl/**
<3 href39drivers/pcmcia/pcmcia_resource.c#L309" id="L309" class="line" name="L309"> 309        struct pcmcia_socket *s = p_dev->
<4 href40drivers/pcmcia/pcmcia_resource.c#L310" id="L310" class="linece.c#L236" id="L236" class="line" name="L236"> 236                return -win[        struct csref">win[p_dev-> *
<4 href40drivers/pcmcia/pcmcia_resource.c#L312" id="L312" class="line" name="L312"> 312        mutex_lock(&s->pcmcia_socket *p_dev, unsigned char p_dev->);
<4 href40drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 4 */
<4 href407rivers/pcmcia/pcmcia_resourcsref">win[pcmcia_socket *p class="sref">s->new_vpp)
<4 href40drivers/pcmcia/pcmcia_resource.c#L248" id="L248" 4ass="line4 name="L308"> 308{
<4 href40drivers/pcmcia/pcmcia_resourreleas_Sf _#L3ixup_vpp" class="releas_Sf _#L3ix" class="sref">ops->win[->win[socket;
<4 href41drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 4e=ret" cl4ss="sref">ret = 0;
<4 href41drivers/pcmcia/pcmcia_resource.ccsref">win[->i].p_dev, unsigned char  311
<4 href41drivers/pcmcia/pcmcia_resource.c#L28releas_Sf _#L3ixup_vpp" class="releas_Sf _#L3ix" class="sref">ops->win[->win[ops_mutex);
<4 href4"drivers/pcmcia/pcmcia_resource.c#L313" id="L313" 4lass="lin4" name="L313"> 313
<4 href4"drivers/pcmcia/pcmcia_resouref">pcmcia_socket * 310        int win[->function_config-IOESOURCE_BITS" classig-IOESOUice" name="L310"> 310        int  215
<4 href41drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 4lass="lin4" name="L216"> 216
<4 href41driveurce.c#L272" idou 290/**
<4 href41drivers/pcmcia/pcmcia_resource.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->s-> 293        return 
<4 href42drive} rs/pcmcia/pcmcia_resourc "line" releas_Sf rce.c#L306" id="L306" class="line" name="L306"> 306
<4 href42drivers/pcmcia/pcmcia_resource.c#L292" id="L292" 4> *
<4 href42drivers/pcmcia/pcmcia_resource.c#L313" id="L313" 4yass="lin4en by accessing
<4 href42drivers/pcmcia/pcmcia_resource.c#L249" id="L249" class="line" name="L249"> 249
<4 href42drivers/pcmcia/pcmcia_resource.line" releas_S 251 251 */
<4 href42drivers/pcmcia/pcmcia_resource@ass: iomemaass="comt; 251res,
<4 href42drivers/pcmcia/pcmcia_resourcass="line" name="L251"> 251offset)
<4 href42drivers/pcmcia/pcmcia_resource.c#L299releas_S 29a/pcmciass="comt*rLs which wasass="line" name="L251"> 251 229{
<4 href43drivers/pcmcia/pcmcia_resource.r1" ouslyL249erved bya" nalinespan clasquestS 305 * an4socket" c4ass="sref">socket;
<4 href43drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306w;
<4 href43drivea/pcmcia_resource.c.c#L303releas_Sint pcmcia_fixup_vpp(struct  30 class="sref">io 30fixup_vpp(struct io" class="sref">io[i].ret;
<4 href4"drivers/pcmcia/pcmcia_resource.c#L308" id="L308" c4lass="lin4" name="L233"> 233
<4 href4"drivers/pcmcia/pcmcia_resource.c#L309" id="L309" class="line" name="L309"> 309        struct pcmcia_socket *s = p_dev->) >> 2) - 1;
<4 href43drivers/pcmcia/pcmcia_resourline" nmem" id="L261" class="line" nmem" id09        struct p_dev->MAX_WIN)
<4 href43drivers/pcmcilass="srea/pcmcia_resource.c d="L307" class=w=p_dev" class="sref">p_dev->EINVAL;
<4 href4"drivers/pcmcia/pcmcia_resource.c#L237" id="L237" 4lass="lin4" name="L237"> 237
<4 href43drivers/pcmcia/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newreleaslineio[p_dev->ops_mutex);
<4 href43driveclass="sref">s->offset;
<4 href440rivers/pcmcia/pcmcia_resour d="L307" class=w=p_d_so(ass="sref">opsio[function_confIORESOURCE_BIT             function_confWIN_FLAGSESOURCE_BITS" classWIN_FLAGSESOUa>[p_dev->w]);
<4 href44drivers/pcmcia/pcmcia_resource.c d="L307" class=w=p_d_="+ce=io_on" class="sreXf">i = 0; i].ret)
<4 href44drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L236" class="line" name="L236"> 236                return -ops_mutex);
<4 href44drivers/pcmcia/pcmcia_resource.c#L312" id="L312" class="line" name="L312"> 312        mutex_lock(&s->ret;
<4 href44drivers/pcmcia/pcmcia_resour 312        s-> 245}
<4 href44drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 4eass="lin4cia_map_mem_page);
<4 href447rivers/pcmcia/pc_resource.c#L269" id="L269" class="line" name="L269"> 269     _function_confiLIENT"de=ESOURCE_BITS" classiLIENT"de=ESOU" class="sref">opsstate &  247
<4 href44drivers/pcmcia/pcmcia_resource.c#L28ce.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char new"+coreleaslineunknownedev, "No card? Co4lass="lin4" name="L248"> 248
<4 href44drivers/pcmcia/pcmciaa/pcmcia_resource.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->/**
<4 href45drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L236" class="line" name="L236"> 236                return - * @p_de4: pcmcia device
<4 href45drivers/pcmcia/pcmcia_resource.c#L292" id="L292" 4> *
<4 href45drivers/pcmcirs/pcmcia/pcmcia_resourc Shut downememorye 306
<4 href45drivers/pcmcia/pcmcia_resourfunction_confref">io_on.                return - 2778                ops->s-> 277="+code=function_config" class="sre= ~">function_confte" clade=ESOURCE_BITS" classte" clade=ESOU" class="sref">opss-> */
<4 href45drivers/pcmcia/pcmcia_resource.c#L237" id="L237" 4e=p_dev" 4lass="sref">p_dev)
<4 href45drivers/pcmcias/pcmcia/pcmcia_resourc Rlleas_Lsystemememoryece.c#L306" id="L306" class="line" name="L306"> 306 258{
<4 href4"drivers/pcmcia/pc_resource.c#L28a_resourio[ & socket;
<4 href46drivers/pcmcia/pcmcia_resource.c#L28releas_S306"> 30 class="sref">io 30" class="sref">opsio[p_dev->io_off = { 0, 0, 0, 0, 1 };
<4 href46drivers/pcmcia/pcmcia_resource.c#L28releas_S306"> 30 class="sref">io 30" class="sref">opsio[p_dev-> * @p_de4lass="sref">io_on;
<4 href46drivers/pcmcia/pcmciap_df="+code=s" kfre0 class="sref">ikfre0" class="sref">opsio[p_dev->ret = 0;
<4 href46drivers/pcmcia/pcmciass="sref">opsio[<_socket" class="srNULclass="line" namNULc" cl236                return - 263
<4 href46drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c4>FLAGS_RE4"sref">ops_mutex);
<4 href46drivers/pcmcia/pcmcia_resourio" class="sref">io[[<_socket" class="srio" class="sref">io[i]. 310        int  265
<4 href466rivers/pcmcia/pcmcia_resourio" class="sref">io[                return -);
<4 href467rivers/pcmcia/pcmcia_resour id="L269" class="line" name="L269"> 269     _function_confiLIENT"de=ESOURCE_BITS" classiLIENT"de=ESOU" class="sref">ops                return - 267
<4 href46drivers/pcmcia/pcmcia_resource.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->) ||
<4 href46driveclass="sref">s->CONFIG_LOCKED)) {
<4 href47drivers/pcmcia/pcmci" name="L310"> 310        int  306EACCES;
<4 href4"drivee.c#L236" id="L2_resource.c#L246" id="L246" class="line" name="L246"> 246s->unlock;
<4 href47drivers/pcmcia/pcmcia_resource.c#L313" id="L313" 4e" name="4273"> 273        }
<4 href47drivers/pcmcia/pcmcia_resource.c#L313" id="L313" 4eFLAGS_RE4" name="L274"> 274
<4 href47drivers/pcmcia/pcmcia_resource.c#L249" id="L249" class="line" name="L249"> 249io_speed;
<4 href47drivers/pcmcia/pcmcia_resourcename="L 304 249i++) {
<4 href47drivers/pcmcia/pcmcia_resource@c#L251";c#Lassoe="aedane" name="L30.c#L249" id="L249" class="line" name="L249"> 249res)
<4 href47drivers/pcmcia/pcmcia_resourcass="line" name="L251"> 251 251i;
<4 href48drivers/pcmcia/pcmcia_resource;c#Lhref= pass> 251i;
<4 href48drivers/pcmcia/pcmcia_resource.c#L301" class=,  304 251 281
<4 href48drivers/pcmcia/pcmcia_resourc2valuest; ine" name="L305"> 305 * an4"sref">IO4DATA_PATH_WIDTH_8;
<4 href48drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306start;
<4 href48drivea/pcmcia_resource.c.c#L303 304int pcmcia_fixup_vpp(struct p_dev, unsigned char end;
<4 href4"drivetate &  285
<4 href48drivers/pcmcia/pcmcia_resource.c#L262" id="L262" clasev" class="sref">p_dev->io_off);
<4 href487rivers/pcmcilass="srea/pcmcia_resource.cbas_L262" id="L262"bas_asasev" class="sref">p_dev->mdelay(40);
<4 href48drivers/pcmcia/pcmcia_resource.c#L309" id="L309" class="line" name="L309"> 309        struct pcmcia_socket *s = p_dev->io_on);
<4 href48drivers/pcmcia/pcmcia_resourYMBOLwin[        struct csref">win[p_dev-> 289        }
<4 href490rivers/pcmcia/pcmcia_resource.c#L261" id="L261" class="line" name="L261"> 261        < id="L261" class=" < id=p_dev" class="sref">p_dev->unlock:
<4 href491rivers/pcmcilass="srecharia/pcmcia_resour=tatu 310        int ops_mutex);
<4 href492rivers/pcmcilass="srecharia/pcmcia_resourext_=tatu 310        int IO4" name="L292"> 292
<4 href493rivers/pcmcilass="srecharia/pcmcia_resouropan cd="L307" class=opan cref=cod" name="L310"> 310        int ret;
<4 href494rivers/pcmcilass="srea/pcmcia_resource.c                 pcmcia_socket *p_dev-> 294}
<4 href49drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 4sref">pcm4ia_fixup_iowidth);
<4 href49drivers/pcmcia/pc_resource.c#L269"="L277" class="line" name="L277"> 277="+code=function_config" class="sre=io_on" class="sSe" claPRESENTRCE_BITS" classte" claPRESENT=p_d)>rs/pcmcia/pcmcia_resource.c#L285" id="L285" 4s_off" cl4" name="L296"> 296
<4 href49drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L2NODEVL246" id="L246" NODEV=p_dev" class="sref">p_dev-> 297
<4 href49drivers/pcmcia/pcmcia_resource.c#L248" id="L248" 4/**
<4 href49drivers/pcmcia/pcmcia_resource.c#L312" id="L312" class="line" name="L312"> 312        mutex_lock(&s->win[pcmcia_socket *p class="sref">s->win[->function_config->ars/pcmcia/pcmcia_resource.c#L211" id="L211" c5@new_vpp:5new Vpp voltage
<5 href50drivers/pcmcia/pcmciap_df="+code=s" ce.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s-> *
<5 href50drivers/pcmcia/pcmciass="sref">ops 314        p_dev, unsigned char newCMBOL<dev, "No card? Co5vice driv5r to set Vpp to
<5 href50drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L2ACCE             p class="sref">s-> 294}
<5 href505rivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5p6 pcmcia5ea_fixup_iowidth);
<5 href50drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 5 */
<5 href507rivers/pcmcias/pcmcia/pcmcia_resourc Do pow#r control.  We don't claswecha="Ls in Vcc.rce.c#L306" id="L306" class="line" name="L306"> 306new_vpp)
<5 href50drivers/pcmcia/pcmcia_resour268" id="L268" class="line" name="L268"> 2ef">s =  314        p_dev, v="srpp: n 314p_dev-> 308{
<5 href50drivers/pcmcia/pc_resource.c#L28268" id="L268" class="line" name="L268"> 8                s = s" class="sref">ops-> 2ef">s = socket;
<5 href51drivers/pcmcia/pcmcia_resource.c#L28ce.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->ret = 0;
<5 href51drivers/pcmcia/pcmcia_resource.c#L28lassps="tid="L291" class=lassps="ti" class="sref">opsp_dev, unsigned char s-> 311
<5 href51drivers/pcmcia/pcmciamcia/pcmcia_=new_vpp" class="sref">newU304dev, "No card? Co5sops_mutex);
<5 href51drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L236" class="line" name="L236"> 236                return - 313
<5 href51drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5eo pcmcia5rite_config_byte);
<5 href51drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 5e6 pcmcia5" name="L215"> 215
<5 href516rivers/pcmcias/pcmcia/pcmcia_resourc PickememoryeorLI/O ne" , DMA md=",ea/perruptrce.c#L306" id="L306" class="line" name="L306"> 306 216
<5 href517rivers/pcmcia/pca/pcmcia_resour id="L269" class="line" name="L269"> 269     _iod="L307" class=Sf (!function_configp_dev, unsigned char /**
<5 href51drivers/pcmcia/pcmcia_resource.c#L28                  314ig 236                return -
<5 href51drivers/pcmcia/pc_resource.c#L28                 function_config ef">p_dev, unsigned char  2ef">s =                  314SS_IOCARa href="+code=stSS_IOCARa6"> 236                return -function_config ef">p_dev, unsigned char  2ef">s =                  314SS_ZVCARa href="+code=stSS_ZVCARa"+cod|d"L314"> 314SS_IOCARa href="+code=stSS_IOCARa6"> 236                return - *
<5 href523rivers/pcmcia/pcmcia_resource.c                 function_configars/pcmcia/pcmcia_resource.c#L211" id="L211" c5yass="lin5en by accessing
<5 href52drivers/pcmcia/pcmciap_df="+code=s" 268" id="L268" class="line" name="L268"> 2ef">s =                  314SS_SPKR_ENAhref="+code=statS_SPKR_ENA6"> 236                return -function_confiCSR_AUDIO_ENAhref="+code=staiCSR_AUDIO_ENA6"> 236                return - 269     aMBOLfunction_confPRESENT_STATU             rs/pcmcia/pcmcia_resource.c#L285" id="L285" 5yass="lin5s="comment"> */
<5 href52drivers/pcmcia/pcmciaa/pcmcia_resource.c#L28lasswarcd="L307" class=lasswarcine" name="L314"> 314        p_dev, unsigned char newspeaker asqueste , but lass="sref">drs/pcmcia/pcmcia_resource.c#L285" id="L285" 5y_vpp" cl5 class="sref">res,
<5 href52drivers/pcmcia/pcmcia_resourcaaaaaaaapcmciaa/pcmcia_=new_vpp" class="sref">newPRESENT_STATU  "+co" c! class="sref">dev, "No card? Co5ynt to a 5ass="sref">offset)
<5 href52drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5ass="line5 name="L229"> 229{
<5 href530rivers/pcmcia/pcmcia_resource.c                 function_configp_dev, unsigned char socket;
<5 href53drivers/pcmcia/pcmcia_resource.c#L28268" id="L268" class="line" name="L268"> 2ef">s = function_conf268" id="L268" class="line" name="L268"> ar  236                return -w;
<5 href53drivers/pcmcielse36                return -ret;
<5 href53drivers/pcmcia/pcmciass="sref">ops 2ef">s =  310        int  233
<5 href5"drivers/pcmcia/pcmcia_resource.c                 function_configars/pcmcia/pcmcia_resource.c#L211" id="L211" c5_FLAGS_RE5) >> 2) - 1;
<5 href535rivers/pcmcia/pcmciaa/pcmcia_resour id="L269" class="line" name="L269"> 269     aMBOL 314PRESENT_EXT_STATU              236                return -MAX_WIN)
<5 href53drivers/pcmcia/pcmcia"L314"> 314ext_=tatu 236                return -EINVAL;
<5 href537rivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5a_vpp" cl5" name="L237"> 237
<5 href53drivers/pcmcia/pcmcia_resour268" id="L268" class="line" name="L268"> 8                s = s" class="sref">ops-> 2ef">s = ops_mutex);
<5 href53drivers/pcmcia/pcmcia_resour268" id="L268" class="line" name="L268"> ame=_couns =                 return -offset;
<5 href54drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 5oocket" c5 class="sref">w]);
<5 href54drivers/pcmcia/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char ret)
<5 href54drivers/pcmcia/pcmcia_=new_vpp" class="sref">new 304);
<5 href54drivers/pcmcia/pcmciass="sref">opsp_dev, v="srpp: n 314 269     aMBOL 269     aMBOLops_mutex);
<5 href54drivers/pcmcia/pcmciap_df="+code=s"  id="L269" class="line" name="L269"> 269     aMBOL(&236                return -ret;
<5 href54drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 5eoffset v5 name="L245"> 245}
<5 href546rivers/pcmcias/pcmcia/pcmcia_resourc S clupeCISa"MBOL< rce.c#L306" id="L306" class="line" name="L306"> 306);
<5 href547rivers/pcmcia/pcmcia_resourbas_L262" id="L262"bas_asasdsocket" class="sref">pcmcia_socket *                return - 247
<5 href54drivers/pcmcia/pca/pcmcia_resour id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_COPY            ars/pcmcia/pcmcia_resource.c#L211" id="L211" c5lass="lin5" name="L248"> 248
<5 href54drivers/pcmcia/pcmciaa/pcmcia_resouru" name="L21    310        int /**
<5 href55drivers/pcmcia/pcmciaa/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newcleas="seCISREG_SCRdrivers/pcmcia/>236                return -ops->function_confiISREG_SCR href="+code=staISREG_SCRref">="+c="+c1=s1,pname="L314"> 314tm"srpp: n 314236                return -
<5 href55drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5> *
<5 href553rivers/pcmcia/pcmcia_resource.c id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_Pe=ESOPLACE            ars/pcmcia/pcmcia_resource.c#L211" id="L211" c5vice driv5r to reduce the
<5 href55drivers/pcmcia/pcmciap_df="+code=s" u" name="L21    310        int  314        p_dev, unsigned char newcleas="seCISREG_PRRdrivers/pcmcia/>236                return - 314urn -ops->function_confiISREG_PRR href="+code=staISREG_PRRref">="+c="+c1=s1,pname="L314"> 314tm"srpp: n 314236                return - */
<5 href557rivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5e=p_dev" 5lass="sref">p_dev)
<5 href55drivers/pcmcia/pca/pcmcia_resour id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_OPTIOi = 0; ars/pcmcia/pcmcia_resource.c#L211" id="L211" c5vass="lin5 name="L258"> 258{
<5 href55drivers/pcmcia/pcmciaa/pc_resource.c#L28268" id="L268" class="line" name="L268"> dev" cla             ars/pcmcia/pcmcia_resource.c#L211" id="L211" c5" c3socke5ass="sref">socket;
<5 href56drivers/pcmcia/pcmciaa/pcmcia"L314"> 314opan cd="L307" class=opan cref=codp_df="+code=s"  id="L269" class="line" name="L269"> 269     aMBOL(&function_configR_ate" clMASK href="+code=statR_ate" clMASK"+co236                return -io_on;
<5 href56drivers/pcmcia/pcmciaa/pcmcia"L314"> 314opan cd="L307" class=opan cref=codp_df="+code=s"  id="L269" class="line" name="L269"> 269     aMBOL(&function_configR_MFC_ate" clMASK href="+code=statR_MFC_ate" clMASK"+co236                return -ret = 0;
<5 href56drivers/pcmcia/pcmciaa/pcmcia"L314"> 314opan cd="L307" class=opan cref=c|od"L314"> 314igR_FUNC_ENAhref="+code=staigR_FUNC_ENAref=|"L314"> 314igR_IREQ_ENAhref="+code=staigR_IREQ_ENA"+co236                return - 263
<5 href56drivers/pcmcia/pcmciars/pcmcia/pca/pcmcia_resour id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_IOBASE_0 = 0; p_dev, unsigned char ops_mutex);
<5 href565rivers/pcmcia/pcmciaa/pcmciaa/pcmcia"L314"> 314opan cd="L307" class=opan cref=c|od"L314"> 314igR_ADDR_DECODE                            return - 265
<5 href56drivers/pcmcia/pcmciars/pcmcia/pcmcia_resource.c#L294" id="L294" c5>ass="lin5 8bit\n");
<5 href56drivers/pcmcia/pcmciaa/pccmcia_resource.c                 function_config=p_dev" 5" name="L267"> 267
<5 href56drivers/pcmcia/pcmcia_resourc_resource.c#L269"                 function_configp_dev, unsigned char ) ||
<5 href56drivers/pcmcia/pcmciaa/pcmcia"L314"> 314opan cd="L307" class=opan cref=c|od"L314"> 314igR_LEVELESOURCE_BITS" classigR_LEVELESOU"+co236                return -CONFIG_LOCKED)) {
<5 href57drivers/pcmcia/pcmciaa/pcmcia_resoururn -ops->function_confiISREG_igR href="+code=staISREG_igRref">="+c="+c1=s1,pname="L314"> 314opan cd="L307" class=opan cref=>236                return -236                return -EACCES;
<5 href57drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5unlock" c5ass="sref">unlock;
<5 href573rivers/pcmcia/pcmcia_resource.c id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_STATU              273        }
<5 href57drivers/pcmcia/pcmciap_df="+code=s"  rn -ops->function_confiISREG_iCSR href="+code=staISREG_iCSRref">="+c="+c1=s1,pname="L314"> 314=tatu 274
<5 href57drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 5e_WIN" cl5s="sref">io_speed;
<5 href57drivers/pcmcia/pcmcia_resource.c id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_EXT_STATU              )s/pcmcia/pcmcia_resource.c#L294" id="L294" c5uass="lin5lass="sref">i++) {
<5 href57drivers/pcmcia/pcmciap_df="+code=s"  rn -ops->function_confiISREG_ESR href="+code=staISREG_ESRref">="+c="+c1=s1,s/pcmcia/pcmcia_resource.c#L294" id="L294" c5u=p_dev" 5 class="sref">res)
<5 href57drivers/pcmcia/pcmcia_resourcaaaaaaaapcmciaa/name="L314"> 314ext_=tatus->i;
<5 href580rivers/pcmcia/pcmcia_resource.c id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_IOBASE_0 = 0; i;
<5 href58drivers/pcmcia/pcmcia_resource.c#L28u8 = 0; win[->[<_="sref0xff236                return - 281
<5 href58drivers/pcmcia/pcmciap_df="+code=s"  rn -ops->function_confiISREG_IOBASE_0 = 0; ="+c="+c1=s1,pname="L314"> 314bL262" id="L262"bref=>236                return -IO5DATA_PATH_WIDTH_8;
<5 href58drivers/pcmcia/pcmciass="sref">opswin[->[<_="+c="+c 8)_="sref0xff236                return -start;
<5 href58drivers/pcmcia/pcmciap_df="+code=s"  rn -ops->function_confiISREG_IOBASE_1 = 0; ="+c="+c1=s1,pname="L314"> 314bL262" id="L262"bref=>236                return -end;
<5 href585rivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5lass="lin5" name="L285"> 285
<5 href58drivers/pcmcia/pcmcia_resource.c id="L269" class="line" name="L269"> 269     aMBOLfunction_confPRESENT_IOSIZE            io_off);
<5 href58drivers/pcmcia/pcmciap_df="+code=s" u8 = 0;  314csref">win[->function_conf id="L21_siz_L262" id="L262" id="L21_siz_ine" name="L314"> 314csref">win[->                return -mdelay(40);
<5 href58drivers/pcmcia/pcmcia_resource.c#L28 rn -ops->function_confiISREG_IOSIZE            ="+c="+c1=s1,pname="L314"> 314bL262" id="L262"bref=>236                return -io_on);
<5 href58drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c5e" name="5289"> 289        }
<5 href59drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 5eig not l5ass="sref">unlock:
<5 href591rivers/pcmcias/pcmcia/pcmcia_resourc CMBOL< 306ops_mutex);
<5 href592rivers/pcmcia/pcmcia_resource.ccsref">win[->function_config-IOESOURCE_BITS" classig-IOESOUice"ears/pcmcia/pcmcia_resource.c#L211" id="L211" c5esref">IO5" name="L292"> 292
<5 href59drivers/pcmcia/pcmciass="sref">opsi].i].                return -ret;
<5 href59drivers/pcmcia/pcmciaforpcmcia_resource.c#L262" id="L262" clascod" cmcia_resource.c#L262" id="L262" clas < cmcia_resource.cMAX-IOEWIi = 0;  294}
<5 href595rivers/pcmcia/pcmciaa/pcmciaa/pc_resource.c#L28268" id="L268" class="line" name="L268"> iod="L307" class=f (!io[ & pcm5ia_fixup_iowidth);
<5 href59drivers/pcmcia/pcmciars/pcmcia/pcmciass="sref">opsodp_df="+code=s" iL262" id="L262" clas236                return - 296
<5 href59drivers/pcmcia/pcmciars/pcmcia/pcmciass="sref">opsio_on.                return - 297
<5 href59drivers/pcmcia/pcmcia_resourcaaaaaaaaswitchpc_resource.c#L28268" id="L268" class="line" name="L268"> iod="L307" class=f (!io[function_confIOEDATA_PATHEWIDTH            [ & /**
<5 href59drivers/pcmcia/pcmciaa/pcmciaaaaaaaaacas_L">function_confIOEDATA_PATHEWIDTH_" name="L21    & 
<6 href60drivers/pcmcia/pcmciaa/pcmciars/pcmcia/pcmciass="sref">ops 314code16BITRCE_BITS" classcode16BIT"+co2cbreak236                return -function_confIOEDATA_PATHEWIDTH_AUTOname="L21    & ops_mutex);
<6 href60drivers/pcmcia/pcmciaa/pcmciars/pcmcia/pcmciass="sref">ops 314codeAUTOSZ.                return - 292
<6 href60drivers/pcmcia/pcmciaaaaaaaaaaaaaaaaadefault:ate & ret;
<6 href60drivers/pcmcia/pcmciaaaaaaaaaaaaaaaaaaaaaaaaabreak236                return - 294}
<6 href605rivers/pcmcia/pcmciaa/pcmciaa/pcmciars/pcmcia/pcmcia_resource.c#L294" id="L294" c6p6 pcmcia6ea_fixup_iowidth);
<6 href60drivers/pcmcia/pcmciars/pcmcia/pcmciass="sref">ops =  iod="L307" class=f (!io[[<236                return - 296
<6 href60drivers/pcmcia/pcmciars/pcmcia/pcmciass="sref">ops[<_socket" class="sr268" id="L268" class="line" name="L268"> iod="L307" class=f (!io[i].                return - 297
<6 href60drivers/pcmcia/pcmcia_resourcaaaaaaaacket" class="sr268" id="L268" class="line" name="L268"> 8                ops-> 314 < id="L261" class=" < id=p_d>236                return - 308{
<6 href60drivers/pcmcia/pcmciaa/pcmciaaaaaaaaacket" class="sr268" id="L268" class="line" name="L268"> iod="L307" class=f (!p++236                return -socket;
<6 href61drivers/pcmcia/pcmciaaaaaaaaars/pcmcia/pcmcia_resource.c#L294" id="L294" c6e=ret" cl6ss="sref">ret = 0;
<6 href61drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c6e2* @p_de6" name="L311"> 311
<6 href61drives/pcmcia/pcmcia_resource.c#L294" id="L294" c6e3* @p_de6"sref">ops_mutex);
<6 href61drivers/pcmcimcia_resource.ccsref">win[-> 314ig->                return - 313
<6 href61drivers/pcmcimcia_resource.c id="L269" class="line" name="L269"> 269     _de=devL269" class="li_de=deva>[<_so1236                return - 291        mutex_unlock(&s-> 215
<6 href616rivers/pcmcia/pcmci" name="L310"> 310        int  216
<6 href617rive}ias/pcmcia/pcmcia_resourc    int  304 306/**
<6 href61drive class="sref">mEXPORT_SYMBOclass="line" nameXPORT_SYMBOc" class="sref">opss->
<6 href61driveclass="sref">s->
<6 href62drivers/pcmcia/pcmcia_resou/**.c#L306" id="L306" class="line" name="L306"> 306new_vpp:6d_offset to map
<6 href62drivers/pcmcia/pcmcia_resourc2name="L30queste61(c -eattemptt; 3063* @p_de6ss="comment"> *
<6 href62drivers/pcmcia/pcmcia_resourc @ne" n: the a/poe="tedpPCMCIA > 3064* @p_de6en by accessing
<6 href62drivers/pcmcia/pcmcia_resourc.c#L306" id="L306" class="line" name="L306"> 306o pcmcia6w(), by setting
<6 href625rivers/pcmcia/pcmcia_resourc2name="L30queste61(c attemptst; 3066 pcmcia6lue to @offset.
<6 href62drivers/pcmcia/pcmcia_resourc2"> 29a/pcmciname="L> 30[0] andr@ne" nlock"306"> 30[1]. Thn.c#L306" id="L306" class="line" name="L306"> 306ass="lin6s="comment"> */
<6 href62drivers/pcmcia/pcmcia_resourc2"">newsigrs"">new valueiis the asqueste  sigrs of the IO port r06"> 30; f">new 3dlass="sref">drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6y_vpp" cl6 class="sref">res,
<6 href62drivers/pcmcia/pcmcia_resourc2mcilects the number of ports asqueste . Thn number of IO f">rs asqueste sref">drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6yss="line6ass="sref">offset)
<6 href62drivers/pcmcia/pcmcia_resourc2is specifisrea/2"> 29a/pcmciname="L>rs.sref">drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6ass="line6 name="L229"> 229{
<6 href630rivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306socket;
<6 href63drivea/pcmcia_resource.cname="L30queste61="L261" class="ar w;
<6 href63drivetate & ret;
<6 href63drivers/pcmcia/pcmcimcia_resource.cname="L2ef">s = s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" class="line" name="L269"> 269     2ef">s = s-> 233
<6 href63drivers/pcmcimcia_resource.caMBOL = win[pcmcia_socket *p class="sref">s-> 236                return -MAX_WIN)
<6 href63drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 6eass="lin6ass="sref">EINVAL;
<6 href637rivers/pcmcia/pcmcia_resource.c#L312" id="L312" class="line" name="L312"> 312        mutex_lock(&s-> 237
<6 href63drivers/pcmcia/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newar ops_mutex);
<6 href63drivers/pcmcia/pcmcianame="L314"> 314csref">win[-> 314csref">win[->s->offset;
<6 href64drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 6oocket" c6 class="sref">w]);
<6 href64drivers/pcmcia/pc_resource.c#L269"268" id="L268" class="line" name="L268"> 2"+code=function_config" class="sref">function_confSss="T_PRESENTde=function_conSss="T_PRESENTde=s"astate & ret)
<6 href64drivers/pcmcia/pcmcia_/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newar 236                return -us = us6"> 236                return -ops_mutex);
<6 href64drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c6eFLAGS_RE6 class="sref">ret;
<6 href64drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 6eoffset v6 name="L245"> 245}
<6 href64drivers/pcmcia/pcmcia_resource.ccsref">win[->function_config-> &  314        p_dev, unsigned char newCMBOL<236                return - 247
<6 href64drivers/pcmcia/pcmciago;us = us6"> 236                return - 248
<6 href64drivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c6/**
<6 href650rivers/pcmcia/pcmcia_resource.ccsref">win[->function_config-IOESOURCE_BITS" classig-IOESOUice"ears/pcmcia/pcmcia_resource.c#L211" id="L211" c6- reduce 6o width to 8bit
<6 href65drivers/pcmcia/pcmcia_resource.c#L28ce.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newIO alreadya"MBOL<236                return -
<6 href65drivers/pcmcia/pcmciago;us = us6"> 236                return - *
<6 href653rivers/pcmcirs/pcmcia/pcmcia_resource.c#L294" id="L294" c6
<6 href65drives/pcmcia/pcmcia_resource.c#L294" id="L294" c6
<6 href655rivers/pcmcimcia_resource.cr>s = [<_somcia_resource.calde=_io_fpaan="L261" class="alde=_io_fpaan" class="sref">ops-> 314csref">win[-> 314        p_dev, 61"f">rsd="L307" class=f "f">rsde=s" class="sref">s-> */
<6 href65drivers/pcmcia/pcmciago;us = us6"> 236                return -p_dev)
<6 href65drive36                return - 258{
<6 href65drivers/pcmcia/pc_resource.c#L28csref">win[->i].socket;
<6 href66drivers/pcmcia/pcmciamcia_resource.cr>s = [<_somcia_resource.calde=_io_fpaan="L261" class="alde=_io_fpaan" class="sref">ops-> 314csref">win[-> 314        p_dev, 61"f">rsd="L307" class=f "f">rsde=s" class="sref">s->io_on;
<6 href66drivers/pcmcia/pcmciaa/pcmciaa/pcmcimcia_resource.c id="L21 =  314csref">win[->s->ret = 0;
<6 href66drivers/pcmcia/pcmciaa/pcmcia"s/pcmcia/pcmcia_resourc releas_Lthe previously alde="tedp+code=oprce.c#L306" id="L306" class="line" name="L306"> 306ice driv6" name="L263"> 263
<6 href66drivers/pcmcia/pcmciars/pcmcimcia_resource.c ileas__io_fpaan="L261" class=" ileas__io_fpaan" class="sref">ops-> 314csref">win[->s->ops_mutex);
<6 href665rivers/pcmcia/pcmciaa/pcmcia"s/pcmcia/pcmcia_resourc but p306erve the sett="ss, forpthey wordev...rce.c#L306" id="L306" class="line" name="L306"> 306offset v6" name="L265"> 265
<6 href66drivers/pcmcia/pcmciars/pcmcimcia_resource.ccsref">win[->i]. 314tm"srpp: n 314236                return -);
<6 href66drivers/pcmcia/pcmciars/pcmcimcia_resource.ccsref">win[->[<_socket" class="srtm"srpp: n 314[<236                return - 267
<6 href66drivers/pcmcia/pcmcia_resourcmcia_resource.ccsref">win[->                return -us = us6"> 236                return -CONFIG_LOCKED)) {
<6 href67drivers/pcmcia/pcmciars/pcmcia/pcmcia_resource.c#L294" id="L294" c6fig not l6cked?\n");
<6 href67drivers/pcmci}ielse36                return -EACCES;
<6 href67drivers/pcmcia/pcmcia_/pcmcia_resourcsref">win[->[<_so" name="L310"> 310        int unlock;
<6 href673rivename="L310"> 310        int  273        }
<6 href67drivers/pcmcimcia_resource.casref">win[-> 314ig-IOESOURCE_BITS" classig-IOESOUice" name="L310"> 310        int  274
<6 href675rivers/pcmcimcia_resource.c id="L269" class="line" name="L269"> 269     _iod="L307" class=e61" cl_so1236                return -io_speed;
<6 href67drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 6uass="lin6lass="sref">i++) {
<6 href677rivers/pcmcia/pcmcia_resource.c#L314" id="L314" class="line" name="L314"> 314        p_dev, unsigned char newar res)
<6 href67drivers/pcmcia/pcmcianame="L314"> 314csref">win[-> 314csref">win[->s->us = us6"> :ate & i;
<6 href680rivers/pcmcik" class="sref"ce.c#L291" id="L291" class="line" name="L291"> 291        mutex_unlock(&s->i;
<6 href68driveclass="sref">s-> 281
<6 href68drivers/pcmcia/pcmcimcia_resource.cr>s = [< class="sref">s->;
<6 href68drive}ias/pcmcia/pcmcia_resourc    int 30queste61 ce.c#L306" id="L306" class="line" name="L306"> 306start;
<6 href68drivemcia_resource.cEXPORT_SYMBOclass="line" nameXPORT_SYMBOc" class="sref">opss->end;
<6 href68drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 6lass="lin6" name="L285"> 285
<6 href68drivers/pcmcia/pcmcia_resource.c#L296" id="L296" 6eass="lin6ss="sref">io_off);
<6 href68drivers/pcmcia/pcmcia_resou/**.c#L306" id="L306" class="line" name="L306"> 306mdelay(40);
<6 href68drivers/pcmcia/pcmcia_resourc2ar  306io_on);
<6 href68drivers/pcmcia/pcmcia_resourc2@ne" n: the a/poe="tedpPCMCIA > 306 289        }
<6 href690rivers/pcmcia/pcmcia_resourc @handler: IRQ handlert;.c#L306" id="L306" class="line" name="L306"> 306unlock:
<6 href69drivers/pcmcia/pcmcia_resourc.c#L306" id="L306" class="line" name="L306"> 306ops_mutex);
<6 href69drivers/pcmcia/pcmcia_resourc2name="L30queste6rq(c ispapwrappertaround 30queste6rq(c which aldews.c#L306" id="L306" class="line" name="L306"> 306IO6" name="L292"> 292
<6 href69drivers/pcmcia/pcmcia_resourc the PCMCIA coret;drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6e=start" 6 class="sref">ret;
<6 href69drivers/pcmcia/pcmcia_resourc Dcmcia_tare freet;drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6eFLAGS_RE6 name="L294"> 294}
<6 href695rivers/pcmcia/pcmcia_resourc2cald freee6rq(c themselfves,t;drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6eass="lin6ia_fixup_iowidth);
<6 href69drivers/pcmcia/pcmcia_resourc2handler_tare aldewed.sref">drs/pcmcia/pcmcia_resource.c#L285" id="L285" 6eass="lin6" name="L296"> 296
<6 href69drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306 297
<6 href69drivea/pcmcia_resource.c_f="steche id="L291" class=_f="steche irivermcia_resource.cname="L30queste6rq="L261" class="ar /**
<6 href69drivers/pcmcia/pcmciaa/pcmciaaaaaaaaacmcik" class="sref"6rq_handler/s =  = [<)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7pp to a n7w voltage level
<7 href70drivers/pcmcia/pcmcia_resource.c#L211" id="L211" c7> * @p_de7: pcmcia device
<7 href70drivers/pcmcia/pcmcia_resource.cr>s = [< class="sref">s->ops_mutex);
<7 href70drives/pcmcia/pcmcia_resource.c#L294" id="L294" c7>3* @p_de7: name="L292"> 292
<7 href70drivers/pcmcia/pc_"L314"> 314        p_dev, 6rq="L261" class="6rq" cl)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7p4* @p_de7:class="sref">ret;
<7 href70drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L236" class="line" name="L236"> 236                return - 294}
<7 href70drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 7p6 pcmcia7ea_fixup_iowidth);
<7 href70drivers/pcmcimcia_resource.cr>s = [<_somcia_resource.c30queste6rq="L261" class="30queste6rq" cla"L314"> 314        p_dev, 6rq="L261" class="6rq" cl=s"L314"> 314handler = [<=s"L314"> 314IRQF_SHARED = 7 pcmcia7e name="L296"> 296
<7 href70drivers/pcmcia/pcmciars/pcmci"L314"> 314        p_dev, uns6[<=s"L314"> 314        p_dev, pcmc   s-> 297
<7 href70drivers/pcmcia/pc_"L314"> 314r>s = [<)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7ass="line7 name="L308"> 308{
<7 href70drivers/pcmcia/pcmciamcia_resource.c id="L269" class="line" name="L269"> 269     _irq="L261" class="e6rq" cl_so1236                return -socket;
<7 href71drivers/pcmcia/pcmcia_resource.c#L190" id="L190" 7e=ret" cl7ss="sref">ret = 0;
<7 href71drivers/pcmcia/pcmcimcia_resource.cr>s = [< class="sref">s-> 311
<7 href71drivers/pcmcia/pcmcia_resource.c#L294" id="L294" c7e3* @p_de7"sref">ops_mutex);
<7 href71drivemcia_resource.cEXPORT_SYMBOclass="line" nameXPORT_SYMBOc" class="sref">opss-> 313
<7 href71drives/pcmcia/pcmcia_resource.c#L294" id="L294" c7eo pcmcia7rite_config_byte);
<7 href71drivers/pcmcia/pcmcia_resource.c#L285" id="L285" 7e6 pcmcia7" name="L215"> 215
<7 href71drivers/pcmcia/pcmcia_resou/**.c#L306" id="L306" class="line" name="L306"> 306 216
<7 href71drivers/pcmcia/pcmcia_resourc2ar  306/**
<7 href71drivers/pcmcia/pcmcia_resourc2@ne" n: the a/poe="tedpPCMCIA > 306
<7 href71drivers/pcmcia/pcmcia_resourc2@handler: IRQ handlert;.c#L306" id="L306" class="line" name="L306"> 306 * @p_de7: pcmcia device
<7 href720rivers/pcmcia/pcmcia_resourc.c#L306" id="L306" class="line" name="L306"> 306=ret" cl7equest_window()
<7 href72drivers/pcmcia/pcmcia_resourc2ar  3062* @p_de7d_offset to map
<7 href72drivers/pcmcia/pcmcia_resourc2attemptstfirstt; 3063* @p_de7ss="comment"> *
<7 href72drivers/pcmcia/pcmcia_resourc a sharedpIRQ, but p3a/ps out a warning.pPCMCIA >cmcia_tshould aldew for.c#L306" id="L306" class="line" name="L306"> 3064* @p_de7en by accessing
<7 href72drivers/pcmcia/pcmcia_resourc IRQ sharing andreitherause 30queste6rq directly (thenpthey needt;<2cald.c#L306" id="L306" class="line" name="L306"> 306o pcmcia7w(), by setting
<7 href725rivers/pcmcia/pcmcia_resourc2freee6rq(c themselves,t;drs/pcmcia/pcmcia_resource.c#L285" id="L285" 7>6 pcmcia7lue to @offset.
<7 href72drivers/pcmcia/pcmcia_resource.c#L306" id="L306" class="line" name="L306"> 306ass="lin7s="comment"> */
<7 href72drivea/pcmcia_resource.c_f="steche id="L291" class=_f="steche irive" id="L306" class="line" name="L306"> 3068 pcmcia7 class="sref">res,
<7 href72drive class="sref">m__ar offset)
<7 href72drivers/pcmcia/pcmciaa/pcmciak" class="sref"6rq_handler/s =  = [<)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7ass="line7 name="L229"> 229{
<7 href73drivers/pcmcia/pcmcia_resource.c#L211" id="L211" c7socket" c7ass="sref">socket;
<7 href73drivers/pcmcia/pcmcia_resource.cr>s = [< class="sref">s->w;
<7 href73drives/pcmcia/pcmcia_resource.c#L294" id="L294" c7eret;
<7 href73drivers/pcmcia/pc_"L314"> 314        p_dev, 6rq="L261" class="6rq" cl)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7lass="lin7" name="L233"> 233
<7 href73drivers/pcmcia/pcmciaa/pcmcice.c#L236" id="L236" class="line" name="L236"> 236                return -MAX_WIN)
<7 href73drivers/pcmcimcia_resource.cr>s = [<_somcia_resource.c30queste6rq="L261" class="30queste6rq" cla"L314"> 314        p_dev, 6rq="L261" class="6rq" cl=s"L314"> 314handler = [<=s0=s"L314"> 314        p_dev, uns6[<=s"L314"> 314        p_dev, pcmc   s->EINVAL;
<7 href737rivers/pcmcia/pcmcia_resource.cr>s = [<)ars/pcmcia/pcmcia_resource.c#L211" id="L211" c7a_vpp" cl7" name="L237"> 237
<7 href73drivers/pcmcia/pcmcia_resource.c#L28r>s = [<_somcia_resource.cname="L30queste6rq="L261" class="ar  = [<) class="sref">s->ops_mutex);
<7 href73drivers/pcmcia/pcmciaa/pcmcia_resource.cp3a/pid="L291" class=ce.cp3a/pi" cla.cia_resource.cKERN_WARNINGd="L291" class=KERN_WARNINGame=prname="L314"> 314        p_dev, unsigned char newar drs/pcmcia/pcmcia_resource.c#L285" id="L285" 7offset" c7ass="sref">offset;
<7 href74drivers/pcmcia/pcmciaaaaaaaaa_=new_vpp" class="sref">new30quest forpexcluscla IRQ could not be delfilled.drivers/pcmcia/>236                return -w]);
<7 href74drivers/pcmcia/pcmcia_resource.c#L28ce.cp3a/pid="L291" class=ce.cp3a/pi" cla.cia_resource.cKERN_WARNINGd="L291" class=KERN_WARNINGame=prname="L314"> 314        p_dev, unsigned char newar drs/pcmcia/pcmcia_resource.c#L285" id="L285" 7of="+code7 class="sref">ret)
<7 href74drivers/pcmcia/pcmciaaaaaaaaa_=new_vpp" class="sref">newneeds updat="st;<2supporte  sharedpIRQ f">rs.drivers/pcmcia/>236                return -ops_mutex);
<7 href74drivers/pcmcia/pcmcia_resource.cr>s = [<)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7eFLAGS_RE7 class="sref">ret;
<7 href745rivers/pcmcia/pcmcia_resource.c#L28ce.cp3a/pid="L291" class=ce.cp3a/pi" cla.cia_resource.cKERN_INFOname="L21    314        p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmcia/>236                return - 245}
<7 href74drivers/pcmcielse36                return -);
<7 href74drivers/pcmcia/pcmciap_df="+code=s"  id="L269" class="line" name="L269"> 269     _irq="L261" class="e6rq" cl_so1236                return -->p_dewclass="sref">s->[< class="sref">s-> 311
<6 href750rivers/pcmcia/pcmcia_r7sourc7.ccsrent 30queste61 ce.c#L306" id="L306" class="esource.cnamene" name="L306"> 306ass="lin7s="comment"> */
<6 href75drivers/pcmcia/pcmcia_r7sourc7.c#L28s="line" nameXPORT_SYMBOc" class="sref">ops- 245>
<6 href75drivers/pcmcia/pcmciago7ret>
<6 href753rivers/pcmcirs/pcmcia/7cmcia75  int  273       7>
<6 href75drives/pcmcia/pcmcia_re7ource7c#L294#ifdefE_BITS" classig-IOE.c#L30_PROBEeexclusclae6rq"/a>-IOE.c#L30_PROBE int  273       7>
<7 href755rivers/pcmcimcia_resou7ce.cr75c#L285" id="L285" 7e6 pcmcia7ss="sref">MAX_WIN>
<6 href75drivers/pcmcia/pcmcia_r7sourc75c#L306" id="L306" class="line mask/pcmcRQsia/>236s, we306" clasvoid rces.drhemne" name="L306"> 306ass="lin7s="comment"> */
<7 href75drivers/pcmcia/pcmciago7ret = 7)
<6 href75drive36            7   re7urn - 258-icE_BITS" classig[< classcplermcia_resourcecplew30quvoid s="line" name=prERN_i"+code=s"  id="LERN_i"#L294" id="L294" c7eFLAGS_RE7 class="sref">ret;
<6 href76drivers/pcmcia/pcmciamc7a_res76c#L211" id="L211" c7socket" c7ass="sref">socket;
<6 href76drivers/pcmcia/pcmciaa/7cmcia76ce.cr>s = [< classcRQ_NONEeexclusclae6rq"cRQ_NONEhref="+code=ops_mu7e2* @p_de7" name="L311"> 311ops_mutex);
<6 href76drivers/pcmcia/pcmciaa/7cmcia76  int  273       7>
<6 href76drivers/pcmcia/pcmciars7pcmci76RQ sharing andreitherause 3ne" name="L306"> 306 216offset
<6 href76drivers/pcmcia/pcmciars7pcmci76andler_tare aldewed.sref">drs/ 306 306->6 pcmcia7lue to @offset. 306ass="lin7s="comment"> */-icEste61="L261" class="ar ret;
<6 href77drivers/pcmci}ielse36    7      1" id="L211" c7socket" c7ass="sref">socket;
<6 href77drivers/pcmcia/pcmcia_/7cmcia7resourcsref">wf">s = s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" class="line" name="L269"> 269     2ef">s = s-> 233 310    77esource.c#L29unsignr@ne"e61="L261" class=trymrc.cia_resourctry> = 4"> 314handler = ="+code=ops_mu6lass="lin6" name="L233"> 233win[-&u3drives/pcmae6rq"uc#L294L291" class="lineaskrives/pcmae6rq"eask" class="line" name="Le="L268"> iod="L307" class=f (! = ="+code=ops_mu6lass="lin6" name="L233"> 233[<_soce.c#L236" id="L236" class="line" name="L236"> 2NODEVlass="sref">ops = ="+code=ops_mu6lass="lin6" name="L233"> 233i++)7{
<6 href777rivers/pcmcia/pcmcia_r7sourc7.c#L314" id="Ldelf6rq="L261" classtrymrc.cia_resourctry> =   int61="L261" class=trymrc.cia_resourctry> =  < 64t61="L261" class=trymrc.cia_resourctry> = ++211" id="L211" c7a_vpp" cl7" name="L237"> 237 314csref">win< href=handlera>4"> 314handler = 4 =  &">dr 32="+code=ops_mu6lass="lin6" name="L233"> 233us7/a> =77href="+code=ops_mu6> * @p_de6: pcmcia device[<)s/pcm4"> 314handler = 4lass/a"tm"ref=;handlerNR_ersS#L294" id="L294" c7eFLAGS_RE7 class="sref">ret;
<6 href78driveclass="sref">s7><78c#L28ce.cp3a/pid="L2999999999continue="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href78drivers/pcmcia/pcmcimci7_reso78#L294" id="L294" c7eret;
<6 href78drive}ias/pcmcia/pcmcia7resou78/pcmcia/pcmcia_resour6" id="L306" class="line maass=6"  avail_resobypcmcia_,a/>236      obypther; 306ass="lin7s="comment"> */[<)s/pcmeaskrives/pcmae6rq"eask" clalasslass/a"tm"ref=;ret;
<6 href78drivers/pcmcia/pcmcia_r7sourc78/pcmcia/pcmcia_resourc but p3continue="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href78drivers/pcmcia/pcmcia_r7sourc7.c#L296" id="L296" 6eass="lin6ss="sref">io_off7;
<6 href78drivers/pcmcia/pcmcia_r7sou/*78e=s"  id="L269" class=" id="L306" class="line svoid queIrs/class=isia/>236 s" name="L306"> 306ass="lin7s="comment"> */ 314csref">win<268"6rq="L261" classtrymrc.cia_resourctry> =  < 324ESOURCSOURCE_BITS" classig<="ar ret;
<6 href78drivers/pcmcia/pcmcia_r7sourc78 class="sref"6rq_handler/s 233ret = 0:
<6 href79drivers/pcmcia/pcmcia_r7sourc79c#L28ce.cp3a/pid="L291Lthe previously alde="tedp"line"aL306corc#L3pcmcia_,aif IOssires,s="li" na whethen name="L306"> 306ass="lin7s="comment"> */9;" name="L306"> 306/**
<6 href79drivers/pcmcia/pcmcia_r7sourc7the PCMCIA coret; 306ass="lin7s="comment"> */[<_somcia_resource.c30queste6rq="L261" class="30queste6rq" cla"L314"> 314         314handler = tia_raesourermcia_resourcetia_raesourestetypamrc.cia_resourctypa#L29f="+code=" class="sref">p_dev, uns6[<=s"L314"> 314         306ass="lin7s="comment"> */[<_somci/pcmcia/pcmcia_resource.c#L294="+code=ops_mu6lass="lin6" name="L233"> 233wa href=resa>[<)s/pcmcia/pcmcia_resource.c#L29411" id="L211" c7a_vpp" cl7" name="L237"> 237
<6 href79drivers/pcmcia/pcmcia_r7sourc79314"> 314         314handler = /pcmcia/pcmcia_resource.c#L294="+code=ops_mu6lass="lin6" name="L233"> 233win[-&"sref">p_dev, 6rq="L261" class="6rq" cl=s"L314"> 314handler = ass="line" name="Le="L268"> iod="L307" class=f (! = ass="line" name="L4"> 314handler = ="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href79drivers/pcmcia/pcmciaa/7cmcia7aaaaaaacmcik" class="sref"6rq__BITS" classig<="ar  233
<7 href80drivers/pcmcia/pcmcia_r8sourc80new_vpp" class="sref">new30qub>23k="+code=ops_mu6lass="lin6" name="L233"> 2331<7 href80drivers/pcmcia/pcmcia_r8sourc80c#L28ce.cp3a/pid="L294" id="L294" c7e3* @p_de7"sref">ops_mutex8;
<7 href80drives/pcmcia/pcmcia_re8ource80esourcsref">w4" id="L294" c7e3* @p_de7"sref">ops_mutex8;3<7 href80drivers/pcmcia/pcmcia_r8> 31480  int  273       8;
<7 href80drivers/pcmcia/pcmciaa/8cmcic8.c#L236" id="L [< class="sref">s-> 311ops_mutex8;6<7 href80drivers/pcmcia/pcmcia_r8ce.cr80c#L296" id="L296" 6eass="lin6ss="sref">io_off8>
<7 href80drivers/pcmcia/pcmciars8pcmci8L314">void _BITS" classig<="ar s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" cl4" id="L294" c7eFLAGS_RE7 class="sref">ret
<7 href80drivers/pcmcia/pc_"L3148> 3148/a>r>s1" id="L211" c7a_vpp" cl7" name="L237"> 237 iod="L307" class=f (! = ]--="+code=ops_mu7e2* @p_de7" name="L311"> 311 iod="L307" class=f (! = assnt unlockops_mutex8>
<7 href81drivers/pcmcia/pcmcia_r8sourc81#L294" id="L294" c7eret 306ass="lin7s="comment"> */
<7 href81drives/pcmcia/pcmcia_re8ource8c#L294" id="L294" c7eo pcmcia7rite_config_byte8;
<7 href81drivers/pcmcia/pcmcia_r8sourc8.c#L28/a>-icEste61="L261" class="ar 8;6<7 href81drivers/pcmcia/pcmcia_r8sou/*8.c#L301" id="L211" c7a_vpp" cl7" name="L237"> 237
<7 href81drivers/pcmcia/pcmcia_r8sourc817#L236" id="L  236                return -ops_mutex8>
<7 href81drivers/pcmcia/pcmcia_r8sourc81href="+code=ops_mu6> * @p_de6: pcmcia device
<7 href820rivers/pcmcia/pcmcia_r8sourc8c#L306void _BITS" classig<="ar s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" cl4" id="L294" c7eFLAGS_RE7 class="sref">ret
<7 href82drivers/pcmcia/pcmcia_r8sourc82     1" id="L211" c7socket" c7ass="sref">socket
<7 href82drivers/pcmcia/pcmcia_r8sourc822#L291" id="L291" class="line="L268"> iod="L307" class=f (! = assnt unlock
<7 href82drivers/pcmcia/pcmcia_r8sourc823#L236" id="L unlock
<7 href82drivers/pcmcia/pcmcia_r8sourc8IRQ sh4" id="L294" c7e3* @p_de7"sref">ops_mutex8>
<7 href825rivers/pcmcia/pcmcia_r8sourc82c#L285" id="L285" 7e6 pcmcia7ss="sref">MAX_WIN
<7 href82drivers/pcmcia/pcmcia_r8sourc8.c#L30#endif291Lthe previously alde="te/a>-IOE.c#L30_PROBEns" name="L306"> 306ass="lin7s="comment"> */
<7 href82drivea/pcmcia_resource.8_f="s8eche iL306"> 306ass="lin7s="comment"> */
<7 href82drive class="sref">m__a8  258 306 216 306 306 306 31483 sharedpIRQ, but p3a/ps out a ref=es.dnote: ="liebepine"06"with a>->6 pcmcia7lue to @offset.
<7 href83drivers/pcmcia/pcmciaa/8cmcic83RQ sharing andreitherause 30q" name="L306"> 306ass="lin7s="comment"> */ret 237s = s = s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" class="line" name="L269"> 269     2ef">s = s-> 233
<7 href83drivers/pcmcia/pcmcia_r8sourc83rn - 258win[-&"sref">p_dev, 6rq="L261" class="6rq" cl)s/pcmcia/pcmcia_resource.c#L294" id="L294" c7lass="lin7" name="L233"> 233unlock 281236 306ass="lin7s="comment"> */         iod="L307" class=f (! = 411" id="L211" c7a_vpp" cl7" name="L237"> 237[<_somci"sref">p_dev, 6rq="L261" class="6rq" cl=s"L314"> 314handler = ass="line" name="Le="L268"> iod="L307" class=f (! = t unlockunlock8     8         retur4" id="L294" c7e3* @p_de7"sref">ops_mutex8;
<7 href84drivers/pcmcia/pcmciap_8f="+c84che iL306"> 306ass="lin7s="comment"> */ 306ass="lin7s="comment"> */->win[<="+code=" class="ar ret
<6 href850rivers/pcmcia/pcmcia_r8sourc85new_vpp" class="sref" unlock
<6 href85drivers/pcmcia/pcmcia_r8sourc85href="+code=ops_mu6ef="+code6" name="L281"> 281
<6 href85drivers/pcmcia/pcmciago8 306ass="lin7s="comment"> */
<6 href853rivers/pcmcirs/pcmcia/8cmcia85a>        ret
<7 href85drives/pcmcia/pcmcia_re8ource85c#L236" id="L236" class="linnt unlock
<7 href855rivers/pcmcimcia_resou8ce.cr85c#L285" id="L285" 7e6 pcmcia7ss="sref">MAX_WIN
<6 href85drivers/pcmcia/pcmcia_r8sourc856ew_vpp" clas=" id="L306" class="line A >cthey asgisI amenothenwisins" name="L306"> 306ass="lin7s="comment"> */
<7 href85drivers/pcmcia/pcmciago8s = [<)ars/pe="L268"> iod="L307" class=f (! = 411" id="L211" c7a_vpp" cl7" name="L237"> 237            8   re85"> 314csref">win< href=handlera>"sref">p_dev, 6rq="L261" class="6rq" cl=s"L314"> 314handler = ass="line" name="Le="L268"> iod="L307" class=f (! = ass="line" name="Le="L268"> iod="L307" class=f (! = t unlock->unlockops_mutex8;
<6 href86drivers/pcmcia/pcmciaa/8cmcia86href="+code=ops_mu6ef="+code6" name="L281"> 281s =  236                return -ops_mutex8;
<7 href86drivers/pcmcia/pcmciars8pcmci86#L294" id="L294" c7eo pcmcia7rite_config_byte8;
<6 href865rivers/pcmcia/pcmciaa/8cmcia86c#L285" id="L285" 7e6 pcmcia7ss="sref">MAX_WIN
<6 href86drivers/pcmcia/pcmciars8pcmci86andler_tare aldewed.sref">dne" name="L306"> 306 216 3063* @p_de7ss="comment"> * 306srs.drivspan.classlass="li[2..5] name="L306"> 306 306    87#L306" id="L306" class="line" name="L306"> 306ops_mutex8;
<6 href87drivers/pcmcia/pcmcia_/8cmcia87ame="L30queste6rq(c ispapwrappertaround 30quewindowusc IRQla Ist.c#rdev. queiomemLranges specifir@ne" name="L306"> 306ops_mutex8;
<6 href873rivename="L310"> 310    87 sharedpIRQ, but p3a/ps out a SOURCf">srs.drivone/pcmL306s oriofne" name="L306"> 306ops_mutex8;
<7 href87drivers/pcmcimcia_resou8ce.ca87RQ sharing andreitherause 30quSOURCf">s 306ops_mutex8;
<6 href875rivers/pcmcimcia_resou8ce.c 87ame="L30queste61(c attemptst; 3lectsiL30 siz0 name="L306"> 306ops_mutex8;
<6 href87drivers/pcmcia/pcmcia_r8sourc87andler_tare aldewed.sref">drs/nd 30qucice.c#L285" id="L285" 7>6 pcmcia7lue to @offset. 306 297 2ref">s-> 2 class="line" name=prs-> 306 297us8/a> =87aaaaaacmcik" class="sref"6rq_unsignr@ne"e61="L261" class=speed="L268"> iod="L3peed n294" id="L294" c7lass="lin7" name="L233"> 233sockets8><88c#L28ce.cp3a/f">s = s namrc.cia_resource.c href="+code=mutex_uncodp_df="+code=s"  id="L269" class="line" name="L269"> 269     2ef">s = s-> 233
<6 href88drivers/pcmcia/pcmcimci8_reso882#L291" id="L291" class="linpc /a>_mem_mapmrc.cia_resource. /a>_mem_mapde=mutex_uncodp_df="+winmrc.cia_resourcwinhref="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href88drive}ias/pcmcia/pcmcia8resou88/pcmcia/pcmciex_uncodp_df="+u_longmrc.cia_resourcu_longpcmciex_uncodp_df="+alignmrc.cia_resourcalignhref="+code=ops_mu6lass="lin6" name="L233"> 233
<7 href88drivemcia_resource.cEXP8RT_SY88c#L236" id="Le"e61="L261" class=wrq" cla.cia_reswhref="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href88drivers/pcmcia/pcmcia_r8sourc88c#L285" id="L285" 7e6 pcmcia7ss="sref">MAX_WIN
<6 href88drivers/pcmcia/pcmcia_r8sourc88 = [<_somciERN_dbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmcia/>236window &">drpR &">dr         return 9E="line" name=prs-> iod="L3peed n294="+code=ops_mu6lass="lin6" name="L233"> 233
<6 href88drivers/pcmcia/pcmcia_r8sou/*88che iL306"> 306ass="lin7s="comment"> */r>s = [<)ars/pe="L268"> iod="L307" class=f (!-2ref">s->/a>-2>r>ss->SOCKET_PRESENTc#L1)411" id="L211" c7a_vpp" cl7" name="L237"> 237[<_somciERN_dbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmNon /a> pc#rdnt        return - 245 2NODEVlass="sref">ops = ="+code=ops_mu6lass="lin6" name="L233"> 233ops_mutex8;
<6 href89drivers/pcmcia/pcmcia_r8sourc89#L294" id="L294" c7eret
<6 href89drivers/pcmcia/pcmcia_r8sourc89/pcmcia/pcmcie" id="L306" class="line Window siz0 defaula Ist.smne"0s, ivail_resoe" name="L306"> 306 297[<)s/pcmci9ref">s->s->end" clas= 04" id="L294" c7lass="lin7" name="L233"> 233[<)s/pcmci9ref">s->s->end" class="line" name="Le="L268"> iod="L307" class=f (! iod="Lmap_siz0> = ="+code=ops_mu6lass="lin6" name="L233"> 233 = [<_somcialignmrc.cia_resourcalignhrefassef=resa>[<)ars/pe="L268"> iod="L307" class=f (!s->feaa hi9>r>ss->SS_CAP_MEM_ALIGN> = 41?rf=resa>[<)s/pcmci9ref">s->s->end" cla:s="line" name="Le="L268"> iod="L307" class=f (! iod="Lmap_siz0> = ="+code=ops_mu6lass="lin6" name="L233"> 233s = [<)ars/pcm9ref">s->s->end" claSOURCEef=resa>[<)ars/pe="L268"> iod="L307" class=f (! iod="Lmap_siz0> = -1)411" id="L211" c7a_vpp" cl7" name="L237"> 237wf=resa>[<_somciERN_dbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcminvalid map siz0        return - 245 236                return -ops_mutex9>1<7 href90drivers/pcmcia/pcmcia_r9sourc90c#L28ce.cp3a/268"6rq="L261" classcm9ref">s->s->/a>rt" claSOURCSOURCEef=resa>[<)ars/pe="L268"> iod="L307" class=f (!s->feaa hi9>r>ss->SS_CAP_STATIC_MAPc#L1)41||" id="L294" c7e3* @p_de7"sref">ops_mutex9>2<7 href90drivers/pcmcia/pcmcia_r9ource90new_vpp" class="s6rq="L261" classcm9ref">s->s->/a>rt" claSOURCs6rq="L261" classalignmrc.cia_resourcalignhref-1)4411" id="L211" c7a_vpp" cl7" name="L237"> 237 31490/pcmcia/pcmcia_resour6=resa>[<_somciERN_dbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcminvalid base addL23s        return - 245 236                return -ops_mutex9>6<7 href90drivers/pcmcia/pcmcia_r9ce.cr906r>s = [<)ars/pcm9ref">s->s->/a>rt" cl4" id="L294" c7lass="lin7" name="L233"> 233
<7 href90drivers/pcmcia/pcmciars9pcmci90e=s"  id="L269" class="line" name="Lalignmrc.cia_resourcalignhrefassnt unlock
<7 href90drivers/pcmcia/pc_"L3149> 31490rn - 258 306 297 iod="Lmt; iod="L307" class=f (!-> iod="La>-> 233s->MAX_WINrn -<61="L261" class=wrq" cla.cia_reswhref++4" id="L294" c7lass="lin7" name="L233"> 233
<7 href91drivers/pcmcia/pcmcia_r9sourc91new_vpp" class="sref"a hreef=resa>[<)ars/pe="L268"> iod="L307" class=f (!-2ref">s->/a>-2>r>ss->SOCKET_WIN_REQ="L><1="L261" class=wrq" cla.cia_reswhref))4" id="L294" c7eFLAGS_RE7 class="sref">ret23k="+code=ops_mu6lass="lin6" name="L233"> 233
<7 href91drives/pcmcia/pcmcia_re9ource91c#L236" id="L href=resa>[<)s/pcmwrq" cla.cia_reswhref  ss="line" name="LMAX_WINref">s->MAX_WINrn -411" id="L211" c7a_vpp" cl7" name="L237"> 237p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmall windows arepthecLs/>236<        return - 245w291" class="lingt; iod="Lmt; iod="L307" class=f (!-> iod="La>-> 233 236                return -ops_mutex9>
<7 href91drivers/pcmcia/pcmcia_r9sourc91href="+code=ops_mu6> * @p_de6: pcmcia device
<7 href920rivers/pcmcia/pcmcia_r9sourc92c#L291" id="L291" class="linwinmrc.cia_resourcwinhref  ihref="+code=" class=e="L268"> iod="L307" class=f (!ret = 9>
<7 href92drivers/pcmcia/pcmcia_r9sourc92href="+code=ops_mu6ef="+code6" name="L281"> 281
<7 href92drivers/pcmcia/pcmcia_r9sourc922#L291" id="La hreef=resa>[<)ars/pe="L268"> iod="L307" class=f (!s->feaa hi9>r>ss->SS_CAP_STATIC_MAPc#L1)411" id="L211" c7a_vpp" cl7" name="L237"> 237
<7 href92drivers/pcmcia/pcmcia_r9sourc92/pcmcia/pcmcia_resour6=resa>[<_somciwinmrc.cia_resourcwinhrefclass=f (!s->s->s->/a>rt" cl9E="line" name=prs->s->end" cl9E="line" name=pralignmrc.cia_resourcalignhref9L306"> 306 297
<7 href92drivers/pcmcia/pcmcia_r9sourc92c#L236" id="L236" claaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0961="L261" class=s="L268"> iod="L307" 4="+code=ops_mu6lass="lin6" name="L233"> 233
<7 href925rivers/pcmcia/pcmcia_r9sourc92c#L28ce.cp3a/pid="L29href="+code=" class=winmrc.cia_resourcwinhrefclass=f (!s-> 2376<7 href92drivers/pcmcia/pcmcia_r9sourc92ia_resource.ccsref">wa_resour6=resa>[<_somcia/pidbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmallocatrs.dmemLrs"lur               return - 245
<7 href92drivea/pcmcia_resource.9_f="s92314"> 314         iod="Lmt; iod="L307" class=f (!-> iod="La>-> 233
<7 href92drive class="sref">m__a9 win[ 236                return -ops_mutex9{
<7 href93drivers/pcmcia/pcmcia_r9sourc930       retur4" id="L294" c7e3* @p_de7"sref">ops_mutex9;
<7 href93drivers/pcmcia/pcmcia_r9sourc93c#L28ce.cp3a/"+code=" class="sref">p_dev, unsigned char s->CLIENT_WIN_REQ="L><1="L261" class=wrq" cla.cia_reswhref)ret 31493/pcmcia/pcmcie" id="L306" class="line Config hiiL30 st; 306 297
<7 href93drivers/pcmcia/pcmciaa/9cmcic93ef">win[-&winmrc.cia_resourcwinhrefclass=f (!win[-&winmrc.cia_resourcwinhrefclass=f (!s->flag9de=muss="line" name="Ls->s->flag9de=muSOURCE_BITS" classigs->WIN_FLAGS_MAPrn - iod="L3peed n29ass="line" name="Lepeed="L268"> iod="L3peed n29s-> /a>_/tarthrefassnt unlock
<7 href93drivers/pcmcia/pcmcia_r9sourc93rn - 258win[-&e="L268"> iod="L307" class=f (!-="L268"> iod="La>-hrefclass=f (!<1="L261" class=e="L268"> iod="L307" 961="L261" class=winmrc.cia_resourcwinhref) != 0411" id="L211" c7a_vpp" cl7" name="L237"> 237[<_somcia/pidbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcm      Ist.sa amemory mappdri        return - 245 iod="Lmt; iod="L307" class=f (!-> iod="La>-> 233 23O>                O n29ops_mutex9;
<7 href94drivers/pcmcia/pcmcia_r9sourc94ef">win[-&e="L268"> iod="L307" class=f (!-2ref">s->/a>-2>r>s<|ss="line" name="LSOCKET_WIN_REQref">s->SOCKET_WIN_REQ="L><1="L261" class=wrq" cla.cia_reswhref)MAX_WIN9     946ew_vpp" clas=" id="L306" class="line Rs="linwindow "L306" e" name="L306"> 306 297s = [<)ars/pe="L268"> iod="L307" class=f (!s->feaa hi9>r>ss->SS_CAP_STATIC_MAPc#L1)L306"> 306 297wf=resa>[<_somcicm9ref">s->s->/a>rt" class="line" name="Lwinmrc.cia_resourcwinhrefclass=f (!-ic_/tartref">s->sa>-ic_/tart n29win[<_somcicm9ref">s->s->/a>rt" class="line" name="Lwinmrc.cia_resourcwinhrefclass=f (!s->s->/a>rt" cl 281
<6 href95drivers/pcmcia/pcmciago9 2s e" name="L306"> 306 297
<6 href953rivers/pcmcirs/pcmcia/9cmcia95a>        s->s->end" cl +ss="line" name="Ls->s->/a>rt" cla- 1win[-&s->s->flag9de=muSOURC= ~_BITS" classigs->WIN_FLAGS_REQ" clwin[-&s->s->flag9de=mu|ssef=resa>[<)ars/pwinmrc.cia_resourcwinhrefclass=f (!s->p_dev, unsars="" class="line" name="Lwinmrc.cia_resourcwinhrefclass=f (!s->s = [<)ars/pwinmrc.cia_resourcwinhrefclass=f (!s-> 314csref">win< href=handlera>cia/>236t;> 2ref">s->236t;> 2="L>s->iomem6t;> 2" cl9E="line" name=prs-> * @p_de6: pcmcia devicep_dev, unsigned char new30queste6rq(c dailevdrivers/pcmcia/>236window  deula Iin &">drpR        return 9E="line" name=prs-> 281 iod="Lmt; iod="L307" class=f (!-> iod="La>-> 233 273       9;
<7 href96drivers/pcmcia/pcmciars9pcmci96c#L236" id="L unlock236window e" name="L306"> 306 297
<6 href96drivers/pcmcia/pcmciars9pcmci96andler name="L236"> 2XPORT_SYMBOa>               XPORT_SYMBOa="L><1="L261" class=ps="sref"a/>236window">p_dev, unss="sref"a/>236window n294="+code=ops_mu6lass="lin6" name="L233"> 233 306ass="lin7s="comment"> */ 258 306 216 306    97#L306" id="L306" class="line"> 306 306 310    97 sharedpIRQ, but p3a/ps out a  name="dis_res_"L269"uscisiL30  306 306 306drs/thisifunction. Any I/OLranges (iomemLand ioports) willebepree="hec, name="L306"> 306 306 function (of name="L306"> 306us9/a> =97handler: IRQ handlert;6 pcmcia7lue to @offset. 306 297s9><98c#L28void _BITS" classig<="ar p_dev, unss="sredis_res_"L269"="L>ret
<6 href98drivers/pcmcia/pcmcimci9_reso982#L291" id="L211" c7a_vpp" cl7" name="L237"> 237
<6 href98drive}ias/pcmcia/pcmcia9resou98/pcmcia/pcmcie"e61="L261" class=iref">s->ic#L19>
<6 href98drivers/pcmcia/pcmcia_r9sourc985f">win[-&a/pidbgmrc.cia_resourcERN_dbg="L>p_dev, unsigned char new30queste6rq(c dailevdrivers/pcmdis_rers.d"L269"        return - 245
<6 href98drivers/pcmcia/pcmcia_r9sourc98 a href="+code7eoffset v7 name="L245"> 245
<7 href98drivers/pcmcia/pcmcia_r9sou/*98cr>s = s->ic#L1  int61="L261" class=iref">s->ic#L1 < 1="L261" class=MAX_WINref">s->MAX_WINrn -<61="L261" class=iref">s->ic#L1++411" id="L211" c7a_vpp" cl7" name="L237"> 237 314csref">win 2ref">s-> 2 class="line" name=prs-> 269     2ef">s =  2ref">s-> 2 cla[a"tm"ref=;s->MAX_IO_WIN" cl +61="L261" class=iref">s->ic#L1f="+code=ops_mu6>ret = 9;
<6 href98drivers/pcmcia/pcmcia_r9sourc98 class="sref"6rq_hand href=resa>[<)ars/pcm9ref">s->s->flag9de=muSOURCE_BITS" classigs->WIN_FLAGS_REQ" cl4" id="L294" c7eFLAGS_RE7 class="sref">ret[-&class="sre="he6window">p_dev, unss="sref"e="he6window="L><1="L261" class=p69"> 269     2ef">s 9E="line" name=prs->ops_mutex9;
<6 href99drivers/pcmcia/pcmcia_r9sourc99#L294" id="L294" c7eret
<6 href99drivers/pcmcia/pcmcia_r9sourc99a>        <1="L261" class=p69"> 269     2ef">s )win[-&2name="f"e="he6ioermcia_resource2name="f"e="he6io="L><1="L261" class=p69"> 269     2ef">s )p_dev, 6rq="L261" class="6rq" cl)s/pcmexclrq" cla.cia_resc = 411" id="L211" c7a_vpp" cl7" name="L237"> 237w291" class="linfreeexclrq" cla.cia_resfreeexcl="L><1="L261" class=p69"> 269     2ef">s class="6rq" cl=s"L314"> 314handler = 9E="line" name=prp69"> 269     2ef">s class="6rq" cl=s"L31p c7 269     2ef c7/a> )p_dev, 6rq="L261" class="6rq" cl)s/pcmexclrq" cla.cia_resc = assnt unlockops_mutex9}
<6 href99drivers/pcmcia/pcmciaa/9cmcia9aaaaaa4" id="L294" c7e3* @p_de7"sref">ops_mutex10>
<7 href10>
<7vers/pcmcia/pcmciaa/10>
<>10>
ndler name="L236"> 2XPORT_SYMBOa>               XPORT_SYMBOa="L><1="L261" class=ps="sredis_res_"L269"">p_dev, unss="sredis_res_"L269"="L>)
p_dev
<> id="L294" c7e3* @p_de7"sref">ops_mutex10>1<7 href10>drivers/pcmcia/pcmcia_r10>dr>10>#L306"/pre>
T306original LXR softwarepby L30 id="L294http://_mutexdelge.net/projects/lxr">LXR ert;unity> = 9Ethisiexperi;lxr@mciux.no> = . lxr.mciux.no kindly hoquciaby id="L294http://www.redpill-mcipro.no">Redpill Lcipro AS> = 9Eprovider/pcmLciux coneulars.dand opehatlurs rdevne"" since 199/.