- if ((cfg->mem.nwin > 0) || (stk->dflt.mem.nwin > 0)) {
- win_req_t req;
- memreq_t map;
- cistpl_mem_t *mem = (cfg->mem.nwin) ? &cfg->mem : &stk->dflt.mem;
-
- if (mem->win[0].len < 16)
- goto next_entry;
-
- req.Attributes = WIN_DATA_WIDTH_16|WIN_MEMORY_TYPE_CM;
- req.Attributes |= WIN_ENABLE;
- req.Base = mem->win[0].host_addr;
- req.Size = 0;
-
- req.AccessSpeed = 0;
- if (pcmcia_request_window(&link, &req, &link->win) != 0)
- goto next_entry;
- map.Page = 0; map.CardOffset = mem->win[0].card_addr;
- if (pcmcia_map_mem_page(link->win, &map) != 0)
- goto next_entry;
-
- io_base = (unsigned long) ioremap(req.Base, req.Size);
- ctl_base = io_base + 0x0e;
- is_mmio = 1;
-
- if (mem->win[0].len >= 0x20)
- try_slave = 1;
-
- break;
- }
-