• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/pcmcia/

Lines Matching refs:skt

57 void soc_pcmcia_debug(struct soc_pcmcia_socket *skt, const char *func,
62 printk(KERN_DEBUG "skt%u: %s: ", skt->nr, func);
89 void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *skt, struct soc_pcmcia_timing *timing)
91 timing->io = calc_speed(skt->spd_io, MAX_IO_WIN, SOC_PCMCIA_IO_ACCESS);
92 timing->mem = calc_speed(skt->spd_mem, MAX_WIN, SOC_PCMCIA_3V_MEM_ACCESS);
93 timing->attr = calc_speed(skt->spd_attr, MAX_WIN, SOC_PCMCIA_3V_MEM_ACCESS);
97 static unsigned int soc_common_pcmcia_skt_state(struct soc_pcmcia_socket *skt)
104 skt->ops->socket_state(skt, &state);
116 stat |= skt->cs_state.Vcc ? SS_POWERON : 0;
118 if (skt->cs_state.flags & SS_IOCARD)
136 soc_common_pcmcia_config_skt(struct soc_pcmcia_socket *skt, socket_state_t *state)
140 ret = skt->ops->configure_socket(skt, state);
146 if (skt->irq_state != 1 && state->io_irq) {
147 skt->irq_state = 1;
148 set_irq_type(skt->socket.pci_irq, IRQ_TYPE_EDGE_FALLING);
149 } else if (skt->irq_state == 1 && state->io_irq == 0) {
150 skt->irq_state = 0;
151 set_irq_type(skt->socket.pci_irq, IRQ_TYPE_NONE);
154 skt->cs_state = *state;
159 "socket %d\n", skt->nr);
175 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
177 debug(skt, 2, "initializing socket\n");
179 skt->ops->socket_init(skt);
195 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
197 debug(skt, 2, "suspending socket\n");
199 skt->ops->socket_suspend(skt);
206 static void soc_common_check_status(struct soc_pcmcia_socket *skt)
210 debug(skt, 4, "entering PCMCIA monitoring thread\n");
216 status = soc_common_pcmcia_skt_state(skt);
219 events = (status ^ skt->status) & skt->cs_state.csc_mask;
220 skt->status = status;
223 debug(skt, 4, "events: %s%s%s%s%s%s\n",
232 pcmcia_parse_events(&skt->socket, events);
239 struct soc_pcmcia_socket *skt = (struct soc_pcmcia_socket *)dummy;
240 debug(skt, 4, "polling for events\n");
242 mod_timer(&skt->poll_timer, jiffies + SOC_PCMCIA_POLL_PERIOD);
244 soc_common_check_status(skt);
258 struct soc_pcmcia_socket *skt = dev;
260 debug(skt, 3, "servicing IRQ %d\n", irq);
262 soc_common_check_status(skt);
286 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
288 skt->status = soc_common_pcmcia_skt_state(skt);
289 *status = skt->status;
305 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
307 debug(skt, 2, "mask: %s%s%s%s%s%sflags: %s%s%s%s%s%sVcc %d Vpp %d irq %d\n",
322 return soc_common_pcmcia_config_skt(skt, state);
337 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
340 debug(skt, 2, "map %u speed %u start 0x%08llx stop 0x%08llx\n",
343 debug(skt, 2, "flags: %s%s%s%s%s%s%s%s\n",
366 skt->spd_io[map->map] = speed;
367 skt->ops->set_timing(skt);
373 map->stop += skt->socket.io_offset;
374 map->start = skt->socket.io_offset;
391 struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
395 debug(skt, 2, "map %u speed %u card_start %08x\n",
397 debug(skt, 2, "flags: %s%s%s%s%s%s%s%s\n",
418 res = &skt->res_attr;
419 skt->spd_attr[map->map] = speed;
420 skt->spd_mem[map->map] = 0;
422 res = &skt->res_mem;
423 skt->spd_attr[map->map] = 0;
424 skt->spd_mem[map->map] = speed;
427 skt->ops->set_timing(skt);
481 struct soc_pcmcia_socket *skt =
485 p+=sprintf(p, "slot : %d\n", skt->nr);
487 dump_bits(&p, "status", skt->status,
489 dump_bits(&p, "csc_mask", skt->cs_state.csc_mask,
491 dump_bits(&p, "cs_flags", skt->cs_state.flags,
494 p+=sprintf(p, "Vcc : %d\n", skt->cs_state.Vcc);
495 p+=sprintf(p, "Vpp : %d\n", skt->cs_state.Vpp);
496 p+=sprintf(p, "IRQ : %d (%d)\n", skt->cs_state.io_irq,
497 skt->socket.pci_irq);
498 if (skt->ops->show_timing)
499 p+=skt->ops->show_timing(skt, p);
516 int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
522 if (irqs[i].sock != skt->nr)
525 IRQF_DISABLED, irqs[i].str, skt);
536 if (irqs[i].sock == skt->nr)
537 free_irq(irqs[i].irq, skt);
543 void soc_pcmcia_free_irqs(struct soc_pcmcia_socket *skt,
549 if (irqs[i].sock == skt->nr)
550 free_irq(irqs[i].irq, skt);
554 void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt,
560 if (irqs[i].sock == skt->nr)
565 void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt,
571 if (irqs[i].sock == skt->nr) {
586 struct soc_pcmcia_socket *skt;
591 list_for_each_entry(skt, &soc_pcmcia_sockets, node)
592 if ( skt->ops->frequency_change )
593 ret += skt->ops->frequency_change(skt, val, freqs);
624 void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt)
627 del_timer_sync(&skt->poll_timer);
629 pcmcia_unregister_socket(&skt->socket);
633 skt->ops->hw_shutdown(skt);
635 soc_common_pcmcia_config_skt(skt, &dead_socket);
637 list_del(&skt->node);
640 iounmap(skt->virt_io);
641 skt->virt_io = NULL;
642 release_resource(&skt->res_attr);
643 release_resource(&skt->res_mem);
644 release_resource(&skt->res_io);
645 release_resource(&skt->res_skt);
649 int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt)
653 init_timer(&skt->poll_timer);
654 skt->poll_timer.function = soc_common_pcmcia_poll_event;
655 skt->poll_timer.data = (unsigned long)skt;
656 skt->poll_timer.expires = jiffies + SOC_PCMCIA_POLL_PERIOD;
658 ret = request_resource(&iomem_resource, &skt->res_skt);
662 ret = request_resource(&skt->res_skt, &skt->res_io);
666 ret = request_resource(&skt->res_skt, &skt->res_mem);
670 ret = request_resource(&skt->res_skt, &skt->res_attr);
674 skt->virt_io = ioremap(skt->res_io.start, 0x10000);
675 if (skt->virt_io == NULL) {
682 list_add(&skt->node, &soc_pcmcia_sockets);
689 skt->ops->set_timing(skt);
691 ret = skt->ops->hw_init(skt);
695 skt->socket.ops = &soc_common_pcmcia_operations;
696 skt->socket.features = SS_CAP_STATIC_MAP|SS_CAP_PCCARD;
697 skt->socket.resource_ops = &pccard_static_ops;
698 skt->socket.irq_mask = 0;
699 skt->socket.map_size = PAGE_SIZE;
700 skt->socket.io_offset = (unsigned long)skt->virt_io;
702 skt->status = soc_common_pcmcia_skt_state(skt);
704 ret = pcmcia_register_socket(&skt->socket);
708 add_timer(&skt->poll_timer);
712 ret = device_create_file(&skt->socket.dev, &dev_attr_status);
720 del_timer_sync(&skt->poll_timer);
721 pcmcia_unregister_socket(&skt->socket);
726 skt->ops->hw_shutdown(skt);
728 list_del(&skt->node);
730 iounmap(skt->virt_io);
732 release_resource(&skt->res_attr);
734 release_resource(&skt->res_mem);
736 release_resource(&skt->res_io);
738 release_resource(&skt->res_skt);