Lines Matching refs:pdev
168 static int pcmcia_check_one_config(struct pcmcia_device *pdev, void *priv_data) in pcmcia_check_one_config() argument
172 if ((pdev->resource[0]->flags & IO_DATA_PATH_WIDTH) in pcmcia_check_one_config()
174 pdev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in pcmcia_check_one_config()
175 pdev->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; in pcmcia_check_one_config()
177 pdev->resource[1]->flags &= ~IO_DATA_PATH_WIDTH; in pcmcia_check_one_config()
178 pdev->resource[1]->flags |= IO_DATA_PATH_WIDTH_8; in pcmcia_check_one_config()
180 if (pdev->resource[1]->end) { in pcmcia_check_one_config()
181 pdev->resource[0]->end = 8; in pcmcia_check_one_config()
182 pdev->resource[1]->end = (*is_kme) ? 2 : 1; in pcmcia_check_one_config()
184 if (pdev->resource[0]->end < 16) in pcmcia_check_one_config()
188 return pcmcia_request_io(pdev); in pcmcia_check_one_config()
199 static int pcmcia_init_one(struct pcmcia_device *pdev) in pcmcia_init_one() argument
210 pdev->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO | in pcmcia_init_one()
215 is_kme = ((pdev->manf_id == MANFID_KME) && in pcmcia_init_one()
216 ((pdev->card_id == PRODID_KME_KXLC005_A) || in pcmcia_init_one()
217 (pdev->card_id == PRODID_KME_KXLC005_B))); in pcmcia_init_one()
219 if (pcmcia_loop_config(pdev, pcmcia_check_one_config, &is_kme)) { in pcmcia_init_one()
220 pdev->config_flags &= ~CONF_AUTO_CHECK_VCC; in pcmcia_init_one()
221 if (pcmcia_loop_config(pdev, pcmcia_check_one_config, &is_kme)) in pcmcia_init_one()
224 io_base = pdev->resource[0]->start; in pcmcia_init_one()
225 if (pdev->resource[1]->end) in pcmcia_init_one()
226 ctl_base = pdev->resource[1]->start; in pcmcia_init_one()
228 ctl_base = pdev->resource[0]->start + 0x0e; in pcmcia_init_one()
230 if (!pdev->irq) in pcmcia_init_one()
233 ret = pcmcia_enable_device(pdev); in pcmcia_init_one()
239 io_addr = devm_ioport_map(&pdev->dev, io_base, 8); in pcmcia_init_one()
240 ctl_addr = devm_ioport_map(&pdev->dev, ctl_base, 1); in pcmcia_init_one()
251 if (resource_size(pdev->resource[0]) >= 0x20) in pcmcia_init_one()
254 if (pdev->manf_id == 0x0097 && pdev->card_id == 0x1620) in pcmcia_init_one()
261 host = ata_host_alloc(&pdev->dev, n_ports); in pcmcia_init_one()
280 ret = ata_host_activate(host, pdev->irq, ata_sff_interrupt, in pcmcia_init_one()
285 pdev->priv = host; in pcmcia_init_one()
289 pcmcia_disable_device(pdev); in pcmcia_init_one()
301 static void pcmcia_remove_one(struct pcmcia_device *pdev) in pcmcia_remove_one() argument
303 struct ata_host *host = pdev->priv; in pcmcia_remove_one()
308 pcmcia_disable_device(pdev); in pcmcia_remove_one()