Lines Matching refs:cf
57 static inline int at91_cf_present(struct at91_cf_socket *cf) in at91_cf_present() argument
59 return !gpio_get_value(cf->board->det_pin); in at91_cf_present()
71 struct at91_cf_socket *cf = _cf; in at91_cf_irq() local
73 if (irq == gpio_to_irq(cf->board->det_pin)) { in at91_cf_irq()
74 unsigned present = at91_cf_present(cf); in at91_cf_irq()
77 if (present != cf->present) { in at91_cf_irq()
78 cf->present = present; in at91_cf_irq()
79 dev_dbg(&cf->pdev->dev, "card %s\n", in at91_cf_irq()
81 pcmcia_parse_events(&cf->socket, SS_DETECT); in at91_cf_irq()
90 struct at91_cf_socket *cf; in at91_cf_get_status() local
95 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_get_status()
98 if (at91_cf_present(cf)) { in at91_cf_get_status()
99 int rdy = gpio_is_valid(cf->board->irq_pin); /* RDY/nIRQ */ in at91_cf_get_status()
100 int vcc = gpio_is_valid(cf->board->vcc_pin); in at91_cf_get_status()
103 if (!rdy || gpio_get_value(cf->board->irq_pin)) in at91_cf_get_status()
105 if (!vcc || gpio_get_value(cf->board->vcc_pin)) in at91_cf_get_status()
116 struct at91_cf_socket *cf; in at91_cf_set_socket() local
118 cf = container_of(sock, struct at91_cf_socket, socket); in at91_cf_set_socket()
121 if (gpio_is_valid(cf->board->vcc_pin)) { in at91_cf_set_socket()
124 gpio_set_value(cf->board->vcc_pin, 0); in at91_cf_set_socket()
127 gpio_set_value(cf->board->vcc_pin, 1); in at91_cf_set_socket()
135 gpio_set_value(cf->board->rst_pin, s->flags & SS_RESET); in at91_cf_set_socket()
137 dev_dbg(&cf->pdev->dev, "Vcc %d, io_irq %d, flags %04x csc %04x\n", in at91_cf_set_socket()
151 struct at91_cf_socket *cf; in at91_cf_set_io_map() local
154 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_io_map()
171 dev_dbg(&cf->pdev->dev, "8bit i/o bus\n"); in at91_cf_set_io_map()
174 dev_dbg(&cf->pdev->dev, "16bit i/o bus\n"); in at91_cf_set_io_map()
176 regmap_update_bits(mc, AT91_MC_SMC_CSR(cf->board->chipselect), in at91_cf_set_io_map()
179 io->start = cf->socket.io_offset; in at91_cf_set_io_map()
189 struct at91_cf_socket *cf; in at91_cf_set_mem_map() local
194 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_mem_map()
198 map->static_start = cf->phys_baseaddr + CF_ATTR_PHYS; in at91_cf_set_mem_map()
200 map->static_start = cf->phys_baseaddr + CF_MEM_PHYS; in at91_cf_set_mem_map()
253 struct at91_cf_socket *cf; in at91_cf_probe() local
273 cf = devm_kzalloc(&pdev->dev, sizeof(*cf), GFP_KERNEL); in at91_cf_probe()
274 if (!cf) in at91_cf_probe()
277 cf->board = board; in at91_cf_probe()
278 cf->pdev = pdev; in at91_cf_probe()
279 cf->phys_baseaddr = io->start; in at91_cf_probe()
280 platform_set_drvdata(pdev, cf); in at91_cf_probe()
288 at91_cf_irq, 0, "at91_cf detect", cf); in at91_cf_probe()
316 at91_cf_irq, IRQF_SHARED, "at91_cf", cf); in at91_cf_probe()
319 cf->socket.pci_irq = gpio_to_irq(board->irq_pin); in at91_cf_probe()
321 cf->socket.pci_irq = nr_irqs + 1; in at91_cf_probe()
327 cf->socket.io_offset = 0x10000; in at91_cf_probe()
328 status = pci_ioremap_io(0x10000, cf->phys_baseaddr + CF_IO_PHYS); in at91_cf_probe()
341 cf->socket.owner = THIS_MODULE; in at91_cf_probe()
342 cf->socket.dev.parent = &pdev->dev; in at91_cf_probe()
343 cf->socket.ops = &at91_cf_ops; in at91_cf_probe()
344 cf->socket.resource_ops = &pccard_static_ops; in at91_cf_probe()
345 cf->socket.features = SS_CAP_PCCARD | SS_CAP_STATIC_MAP in at91_cf_probe()
347 cf->socket.map_size = SZ_2K; in at91_cf_probe()
348 cf->socket.io[0].res = io; in at91_cf_probe()
350 status = pcmcia_register_socket(&cf->socket); in at91_cf_probe()
363 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_remove() local
365 pcmcia_unregister_socket(&cf->socket); in at91_cf_remove()
375 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_suspend() local
376 struct at91_cf_data *board = cf->board; in at91_cf_suspend()
388 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_resume() local
389 struct at91_cf_data *board = cf->board; in at91_cf_resume()