• 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

34 static inline u32 pcmcia_readl(struct bcm63xx_pcmcia_socket *skt, u32 off)
36 return bcm_readl(skt->base + off);
39 static inline void pcmcia_writel(struct bcm63xx_pcmcia_socket *skt,
42 bcm_writel(val, skt->base + off);
78 struct bcm63xx_pcmcia_socket *skt;
82 skt = sock->driver_data;
84 spin_lock_irqsave(&skt->lock, flags);
90 val = pcmcia_readl(skt, PCMCIA_C1_REG);
97 if (skt->card_detected && (skt->card_type & CARD_CARDBUS))
100 pcmcia_writel(skt, val, PCMCIA_C1_REG);
103 skt->requested_state = *state;
105 spin_unlock_irqrestore(&skt->lock, flags);
162 static unsigned int __get_socket_status(struct bcm63xx_pcmcia_socket *skt)
170 val = pcmcia_readl(skt, PCMCIA_C1_REG);
176 if ((stat & SS_DETECT) && !skt->card_detected) {
182 pcmcia_writel(skt, val, PCMCIA_C1_REG);
186 val = pcmcia_readl(skt, PCMCIA_C1_REG);
193 pcmcia_writel(skt, val, PCMCIA_C1_REG);
197 val = pcmcia_readl(skt, PCMCIA_C1_REG);
204 pcmcia_writel(skt, val, PCMCIA_C1_REG);
208 val = pcmcia_readl(skt, PCMCIA_C1_REG);
213 skt->card_type = vscd_to_cardtype[stat];
214 if (!skt->card_type)
215 dev_err(&skt->socket.dev, "unsupported card type\n");
222 if (skt->card_type & CARD_PCCARD)
227 pcmcia_writel(skt, val, PCMCIA_C1_REG);
229 skt->card_detected = (stat & SS_DETECT) ? 1 : 0;
232 if (skt->card_type & CARD_CARDBUS)
234 if (skt->card_type & CARD_3V)
236 if (skt->card_type & CARD_XV)
240 if (gpio_get_value(skt->pd->ready_gpio))
252 struct bcm63xx_pcmcia_socket *skt;
254 skt = sock->driver_data;
256 spin_lock_bh(&skt->lock);
257 *status = __get_socket_status(skt);
258 spin_unlock_bh(&skt->lock);
268 struct bcm63xx_pcmcia_socket *skt;
271 skt = (struct bcm63xx_pcmcia_socket *)data;
273 spin_lock_bh(&skt->lock);
275 stat = __get_socket_status(skt);
279 events = (stat ^ skt->old_status) & skt->requested_state.csc_mask;
280 skt->old_status = stat;
281 spin_unlock_bh(&skt->lock);
284 pcmcia_parse_events(&skt->socket, events);
286 mod_timer(&skt->timer,
301 struct bcm63xx_pcmcia_socket *skt;
304 skt = sock->driver_data;
306 res = skt->attr_res;
308 res = skt->common_res;
328 struct bcm63xx_pcmcia_socket *skt;
335 skt = kzalloc(sizeof(*skt), GFP_KERNEL);
336 if (!skt)
338 spin_lock_init(&skt->lock);
339 sock = &skt->socket;
340 sock->driver_data = skt;
343 skt->common_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
344 skt->attr_res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
346 skt->pd = pdev->dev.platform_data;
347 if (!skt->common_res || !skt->attr_res || !irq_res || !skt->pd) {
359 skt->reg_res = res;
361 skt->base = ioremap(res->start, regmem_size);
362 if (!skt->base) {
370 skt->io_base = ioremap(res->start, iomem_size);
371 if (!skt->io_base) {
382 sock->io_offset = (unsigned long)skt->io_base;
392 sock->map_size = resource_size(skt->common_res);
395 setup_timer(&skt->timer, bcm63xx_pcmcia_poll, (unsigned long)skt);
400 val = pcmcia_readl(skt, PCMCIA_C1_REG);
403 pcmcia_writel(skt, val, PCMCIA_C1_REG);
415 pcmcia_writel(skt, val, PCMCIA_C2_REG);
422 mod_timer(&skt->timer,
425 platform_set_drvdata(pdev, skt);
429 if (skt->io_base)
430 iounmap(skt->io_base);
431 if (skt->base)
432 iounmap(skt->base);
433 if (skt->reg_res)
434 release_mem_region(skt->reg_res->start, regmem_size);
435 kfree(skt);
441 struct bcm63xx_pcmcia_socket *skt;
444 skt = platform_get_drvdata(pdev);
445 del_timer_sync(&skt->timer);
446 iounmap(skt->base);
447 iounmap(skt->io_base);
448 res = skt->reg_res;
450 kfree(skt);