Lines Matching refs:cf
56 static inline int at91_cf_present(struct at91_cf_socket *cf) in at91_cf_present() argument
58 return !gpio_get_value(cf->board->det_pin); in at91_cf_present()
70 struct at91_cf_socket *cf = _cf; in at91_cf_irq() local
72 if (irq == gpio_to_irq(cf->board->det_pin)) { in at91_cf_irq()
73 unsigned present = at91_cf_present(cf); in at91_cf_irq()
76 if (present != cf->present) { in at91_cf_irq()
77 cf->present = present; in at91_cf_irq()
78 dev_dbg(&cf->pdev->dev, "card %s\n", in at91_cf_irq()
80 pcmcia_parse_events(&cf->socket, SS_DETECT); in at91_cf_irq()
89 struct at91_cf_socket *cf; in at91_cf_get_status() local
94 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_get_status()
97 if (at91_cf_present(cf)) { in at91_cf_get_status()
98 int rdy = gpio_is_valid(cf->board->irq_pin); /* RDY/nIRQ */ in at91_cf_get_status()
99 int vcc = gpio_is_valid(cf->board->vcc_pin); in at91_cf_get_status()
102 if (!rdy || gpio_get_value(cf->board->irq_pin)) in at91_cf_get_status()
104 if (!vcc || gpio_get_value(cf->board->vcc_pin)) in at91_cf_get_status()
115 struct at91_cf_socket *cf; in at91_cf_set_socket() local
117 cf = container_of(sock, struct at91_cf_socket, socket); in at91_cf_set_socket()
120 if (gpio_is_valid(cf->board->vcc_pin)) { in at91_cf_set_socket()
123 gpio_set_value(cf->board->vcc_pin, 0); in at91_cf_set_socket()
126 gpio_set_value(cf->board->vcc_pin, 1); in at91_cf_set_socket()
134 gpio_set_value(cf->board->rst_pin, s->flags & SS_RESET); in at91_cf_set_socket()
136 dev_dbg(&cf->pdev->dev, "Vcc %d, io_irq %d, flags %04x csc %04x\n", in at91_cf_set_socket()
150 struct at91_cf_socket *cf; in at91_cf_set_io_map() local
153 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_io_map()
159 csr = at91_ramc_read(0, AT91_SMC_CSR(cf->board->chipselect)) & ~AT91_SMC_DBW; in at91_cf_set_io_map()
173 dev_dbg(&cf->pdev->dev, "8bit i/o bus\n"); in at91_cf_set_io_map()
176 dev_dbg(&cf->pdev->dev, "16bit i/o bus\n"); in at91_cf_set_io_map()
178 at91_ramc_write(0, AT91_SMC_CSR(cf->board->chipselect), csr); in at91_cf_set_io_map()
180 io->start = cf->socket.io_offset; in at91_cf_set_io_map()
190 struct at91_cf_socket *cf; in at91_cf_set_mem_map() local
195 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_mem_map()
199 map->static_start = cf->phys_baseaddr + CF_ATTR_PHYS; in at91_cf_set_mem_map()
201 map->static_start = cf->phys_baseaddr + CF_MEM_PHYS; in at91_cf_set_mem_map()
250 struct at91_cf_socket *cf; in at91_cf_probe() local
270 cf = devm_kzalloc(&pdev->dev, sizeof(*cf), GFP_KERNEL); in at91_cf_probe()
271 if (!cf) in at91_cf_probe()
274 cf->board = board; in at91_cf_probe()
275 cf->pdev = pdev; in at91_cf_probe()
276 cf->phys_baseaddr = io->start; in at91_cf_probe()
277 platform_set_drvdata(pdev, cf); in at91_cf_probe()
285 at91_cf_irq, 0, "at91_cf detect", cf); in at91_cf_probe()
313 at91_cf_irq, IRQF_SHARED, "at91_cf", cf); in at91_cf_probe()
316 cf->socket.pci_irq = gpio_to_irq(board->irq_pin); in at91_cf_probe()
318 cf->socket.pci_irq = nr_irqs + 1; in at91_cf_probe()
324 cf->socket.io_offset = 0x10000; in at91_cf_probe()
325 status = pci_ioremap_io(0x10000, cf->phys_baseaddr + CF_IO_PHYS); in at91_cf_probe()
338 cf->socket.owner = THIS_MODULE; in at91_cf_probe()
339 cf->socket.dev.parent = &pdev->dev; in at91_cf_probe()
340 cf->socket.ops = &at91_cf_ops; in at91_cf_probe()
341 cf->socket.resource_ops = &pccard_static_ops; in at91_cf_probe()
342 cf->socket.features = SS_CAP_PCCARD | SS_CAP_STATIC_MAP in at91_cf_probe()
344 cf->socket.map_size = SZ_2K; in at91_cf_probe()
345 cf->socket.io[0].res = io; in at91_cf_probe()
347 status = pcmcia_register_socket(&cf->socket); in at91_cf_probe()
360 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_remove() local
362 pcmcia_unregister_socket(&cf->socket); in at91_cf_remove()
372 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_suspend() local
373 struct at91_cf_data *board = cf->board; in at91_cf_suspend()
385 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_resume() local
386 struct at91_cf_data *board = cf->board; in at91_cf_resume()