Lines Matching refs:link
41 static int avma1cs_config(struct pcmcia_device *link);
42 static void avma1cs_release(struct pcmcia_device *link);
57 static void avma1cs_detach(struct pcmcia_device *link) in avma1cs_detach() argument
59 dev_dbg(&link->dev, "avma1cs_detach(0x%p)\n", link); in avma1cs_detach()
60 avma1cs_release(link); in avma1cs_detach()
61 kfree(link->priv); in avma1cs_detach()
75 static int avma1cs_config(struct pcmcia_device *link) in avma1cs_config() argument
82 dev_dbg(&link->dev, "avma1cs_config(0x%p)\n", link); in avma1cs_config()
85 if (link->prod_id[1]) in avma1cs_config()
86 strlcpy(devname, link->prod_id[1], sizeof(devname)); in avma1cs_config()
88 if (pcmcia_loop_config(link, avma1cs_configcheck, NULL)) in avma1cs_config()
95 if (!link->irq) { in avma1cs_config()
97 pcmcia_disable_device(link); in avma1cs_config()
104 i = pcmcia_enable_device(link); in avma1cs_config()
106 pcmcia_disable_device(link); in avma1cs_config()
114 avma1cs_release(link); in avma1cs_config()
118 icard.para[0] = link->irq; in avma1cs_config()
119 icard.para[1] = link->resource[0]->start; in avma1cs_config()
123 i = hisax_init_pcmcia(link, &busy, &icard); in avma1cs_config()
127 (unsigned int) link->resource[0]->start); in avma1cs_config()
128 avma1cs_release(link); in avma1cs_config()
131 link->priv = (void *) (unsigned long) i; in avma1cs_config()
136 static void avma1cs_release(struct pcmcia_device *link) in avma1cs_release() argument
138 unsigned long minor = (unsigned long) link->priv; in avma1cs_release()
140 dev_dbg(&link->dev, "avma1cs_release(0x%p)\n", link); in avma1cs_release()
145 pcmcia_disable_device(link); in avma1cs_release()