Lines Matching refs:socket
95 struct pcmcia_socket *socket = dev_get_drvdata(dev); in pcmcia_release_socket() local
97 complete(&socket->socket_released); in pcmcia_release_socket()
106 int pcmcia_register_socket(struct pcmcia_socket *socket) in pcmcia_register_socket() argument
111 if (!socket || !socket->ops || !socket->dev.parent || !socket->resource_ops) in pcmcia_register_socket()
114 dev_dbg(&socket->dev, "pcmcia_register_socket(0x%p)\n", socket->ops); in pcmcia_register_socket()
122 socket->sock = 0; in pcmcia_register_socket()
134 socket->sock = i - 1; in pcmcia_register_socket()
136 list_add_tail(&socket->socket_list, &pcmcia_socket_list); in pcmcia_register_socket()
144 socket->features &= ~SS_CAP_CARDBUS; in pcmcia_register_socket()
148 dev_set_drvdata(&socket->dev, socket); in pcmcia_register_socket()
149 socket->dev.class = &pcmcia_socket_class; in pcmcia_register_socket()
150 dev_set_name(&socket->dev, "pcmcia_socket%u", socket->sock); in pcmcia_register_socket()
153 socket->cis_mem.flags = 0; in pcmcia_register_socket()
154 socket->cis_mem.speed = cis_speed; in pcmcia_register_socket()
156 INIT_LIST_HEAD(&socket->cis_cache); in pcmcia_register_socket()
158 init_completion(&socket->socket_released); in pcmcia_register_socket()
159 init_completion(&socket->thread_done); in pcmcia_register_socket()
160 mutex_init(&socket->skt_mutex); in pcmcia_register_socket()
161 mutex_init(&socket->ops_mutex); in pcmcia_register_socket()
162 spin_lock_init(&socket->thread_lock); in pcmcia_register_socket()
164 if (socket->resource_ops->init) { in pcmcia_register_socket()
165 mutex_lock(&socket->ops_mutex); in pcmcia_register_socket()
166 ret = socket->resource_ops->init(socket); in pcmcia_register_socket()
167 mutex_unlock(&socket->ops_mutex); in pcmcia_register_socket()
172 tsk = kthread_run(pccardd, socket, "pccardd"); in pcmcia_register_socket()
178 wait_for_completion(&socket->thread_done); in pcmcia_register_socket()
179 if (!socket->thread) { in pcmcia_register_socket()
180 dev_warn(&socket->dev, in pcmcia_register_socket()
185 pcmcia_parse_events(socket, SS_DETECT); in pcmcia_register_socket()
198 list_del(&socket->socket_list); in pcmcia_register_socket()
209 void pcmcia_unregister_socket(struct pcmcia_socket *socket) in pcmcia_unregister_socket() argument
211 if (!socket) in pcmcia_unregister_socket()
214 dev_dbg(&socket->dev, "pcmcia_unregister_socket(0x%p)\n", socket->ops); in pcmcia_unregister_socket()
216 if (socket->thread) in pcmcia_unregister_socket()
217 kthread_stop(socket->thread); in pcmcia_unregister_socket()
221 list_del(&socket->socket_list); in pcmcia_unregister_socket()
225 if (socket->resource_ops->exit) { in pcmcia_unregister_socket()
226 mutex_lock(&socket->ops_mutex); in pcmcia_unregister_socket()
227 socket->resource_ops->exit(socket); in pcmcia_unregister_socket()
228 mutex_unlock(&socket->ops_mutex); in pcmcia_unregister_socket()
230 wait_for_completion(&socket->socket_released); in pcmcia_unregister_socket()
258 skt->socket.flags |= SS_OUTPUT_ENA | SS_RESET; in socket_reset()
259 skt->ops->set_socket(skt, &skt->socket); in socket_reset()
262 skt->socket.flags &= ~SS_RESET; in socket_reset()
263 skt->ops->set_socket(skt, &skt->socket); in socket_reset()
303 s->socket = dead_socket; in socket_shutdown()
305 s->ops->set_socket(s, &s->socket); in socket_shutdown()
376 skt->socket.Vcc = skt->socket.Vpp = 33; in socket_setup()
378 skt->socket.Vcc = skt->socket.Vpp = 50; in socket_setup()
387 skt->socket.flags = 0; in socket_setup()
388 skt->ops->set_socket(skt, &skt->socket); in socket_setup()
461 skt->socket = dead_socket; in socket_suspend()
462 skt->ops->set_socket(skt, &skt->socket); in socket_suspend()
473 skt->socket = dead_socket; in socket_early_resume()
475 skt->ops->set_socket(skt, &skt->socket); in socket_early_resume()
597 skt->socket = dead_socket; in pccardd()
599 skt->ops->set_socket(skt, &skt->socket); in pccardd()