Lines Matching refs:cf
53 static inline int at91_cf_present(struct at91_cf_socket *cf) in at91_cf_present() argument
55 return !gpio_get_value(cf->board->det_pin); in at91_cf_present()
67 struct at91_cf_socket *cf = _cf; in at91_cf_irq() local
69 if (irq == gpio_to_irq(cf->board->det_pin)) { in at91_cf_irq()
70 unsigned present = at91_cf_present(cf); in at91_cf_irq()
73 if (present != cf->present) { in at91_cf_irq()
74 cf->present = present; in at91_cf_irq()
75 dev_dbg(&cf->pdev->dev, "card %s\n", in at91_cf_irq()
77 pcmcia_parse_events(&cf->socket, SS_DETECT); in at91_cf_irq()
86 struct at91_cf_socket *cf; in at91_cf_get_status() local
91 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_get_status()
94 if (at91_cf_present(cf)) { in at91_cf_get_status()
95 int rdy = gpio_is_valid(cf->board->irq_pin); /* RDY/nIRQ */ in at91_cf_get_status()
96 int vcc = gpio_is_valid(cf->board->vcc_pin); in at91_cf_get_status()
99 if (!rdy || gpio_get_value(cf->board->irq_pin)) in at91_cf_get_status()
101 if (!vcc || gpio_get_value(cf->board->vcc_pin)) in at91_cf_get_status()
112 struct at91_cf_socket *cf; in at91_cf_set_socket() local
114 cf = container_of(sock, struct at91_cf_socket, socket); in at91_cf_set_socket()
117 if (gpio_is_valid(cf->board->vcc_pin)) { in at91_cf_set_socket()
120 gpio_set_value(cf->board->vcc_pin, 0); in at91_cf_set_socket()
123 gpio_set_value(cf->board->vcc_pin, 1); in at91_cf_set_socket()
131 gpio_set_value(cf->board->rst_pin, s->flags & SS_RESET); in at91_cf_set_socket()
133 dev_dbg(&cf->pdev->dev, "Vcc %d, io_irq %d, flags %04x csc %04x\n", in at91_cf_set_socket()
147 struct at91_cf_socket *cf; in at91_cf_set_io_map() local
150 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_io_map()
167 dev_dbg(&cf->pdev->dev, "8bit i/o bus\n"); in at91_cf_set_io_map()
170 dev_dbg(&cf->pdev->dev, "16bit i/o bus\n"); in at91_cf_set_io_map()
172 regmap_update_bits(mc, AT91_MC_SMC_CSR(cf->board->chipselect), in at91_cf_set_io_map()
175 io->start = cf->socket.io_offset; in at91_cf_set_io_map()
185 struct at91_cf_socket *cf; in at91_cf_set_mem_map() local
190 cf = container_of(s, struct at91_cf_socket, socket); in at91_cf_set_mem_map()
194 map->static_start = cf->phys_baseaddr + CF_ATTR_PHYS; in at91_cf_set_mem_map()
196 map->static_start = cf->phys_baseaddr + CF_MEM_PHYS; in at91_cf_set_mem_map()
247 struct at91_cf_socket *cf; in at91_cf_probe() local
267 cf = devm_kzalloc(&pdev->dev, sizeof(*cf), GFP_KERNEL); in at91_cf_probe()
268 if (!cf) in at91_cf_probe()
271 cf->board = board; in at91_cf_probe()
272 cf->pdev = pdev; in at91_cf_probe()
273 cf->phys_baseaddr = io->start; in at91_cf_probe()
274 platform_set_drvdata(pdev, cf); in at91_cf_probe()
282 at91_cf_irq, 0, "at91_cf detect", cf); in at91_cf_probe()
310 at91_cf_irq, IRQF_SHARED, "at91_cf", cf); in at91_cf_probe()
313 cf->socket.pci_irq = gpio_to_irq(board->irq_pin); in at91_cf_probe()
315 cf->socket.pci_irq = nr_irqs + 1; in at91_cf_probe()
321 cf->socket.io_offset = 0x10000; in at91_cf_probe()
322 status = pci_ioremap_io(0x10000, cf->phys_baseaddr + CF_IO_PHYS); in at91_cf_probe()
335 cf->socket.owner = THIS_MODULE; in at91_cf_probe()
336 cf->socket.dev.parent = &pdev->dev; in at91_cf_probe()
337 cf->socket.ops = &at91_cf_ops; in at91_cf_probe()
338 cf->socket.resource_ops = &pccard_static_ops; in at91_cf_probe()
339 cf->socket.features = SS_CAP_PCCARD | SS_CAP_STATIC_MAP in at91_cf_probe()
341 cf->socket.map_size = SZ_2K; in at91_cf_probe()
342 cf->socket.io[0].res = io; in at91_cf_probe()
344 status = pcmcia_register_socket(&cf->socket); in at91_cf_probe()
357 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_remove() local
359 pcmcia_unregister_socket(&cf->socket); in at91_cf_remove()
369 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_suspend() local
370 struct at91_cf_data *board = cf->board; in at91_cf_suspend()
382 struct at91_cf_socket *cf = platform_get_drvdata(pdev); in at91_cf_resume() local
383 struct at91_cf_data *board = cf->board; in at91_cf_resume()