Lines Matching refs:socket

92 	struct pcmcia_socket *socket = dev_get_drvdata(dev);
94 complete(&socket->socket_released);
100 * pcmcia_register_socket - add a new pcmcia socket device
101 * @socket: the &socket to register
103 int pcmcia_register_socket(struct pcmcia_socket *socket)
108 if (!socket || !socket->ops || !socket->dev.parent || !socket->resource_ops)
111 dev_dbg(&socket->dev, "pcmcia_register_socket(0x%p)\n", socket->ops);
113 /* try to obtain a socket number [yes, it gets ugly if we
115 * sockets... but the socket number is deprecated
119 socket->sock = 0;
131 socket->sock = i - 1;
133 list_add_tail(&socket->socket_list, &pcmcia_socket_list);
139 * the Cardbus socket capability is disabled.
141 socket->features &= ~SS_CAP_CARDBUS;
144 /* set proper values in socket->dev */
145 dev_set_drvdata(&socket->dev, socket);
146 socket->dev.class = &pcmcia_socket_class;
147 dev_set_name(&socket->dev, "pcmcia_socket%u", socket->sock);
150 socket->cis_mem.flags = 0;
151 socket->cis_mem.speed = cis_speed;
153 INIT_LIST_HEAD(&socket->cis_cache);
155 init_completion(&socket->socket_released);
156 init_completion(&socket->thread_done);
157 mutex_init(&socket->skt_mutex);
158 mutex_init(&socket->ops_mutex);
159 spin_lock_init(&socket->thread_lock);
161 if (socket->resource_ops->init) {
162 mutex_lock(&socket->ops_mutex);
163 ret = socket->resource_ops->init(socket);
164 mutex_unlock(&socket->ops_mutex);
169 tsk = kthread_run(pccardd, socket, "pccardd");
175 wait_for_completion(&socket->thread_done);
176 if (!socket->thread) {
177 dev_warn(&socket->dev,
178 "PCMCIA: warning: socket thread did not start\n");
182 pcmcia_parse_events(socket, SS_DETECT);
195 list_del(&socket->socket_list);
203 * pcmcia_unregister_socket - remove a pcmcia socket device
204 * @socket: the &socket to unregister
206 void pcmcia_unregister_socket(struct pcmcia_socket *socket)
208 if (!socket)
211 dev_dbg(&socket->dev, "pcmcia_unregister_socket(0x%p)\n", socket->ops);
213 if (socket->thread)
214 kthread_stop(socket->thread);
218 list_del(&socket->socket_list);
222 if (socket->resource_ops->exit) {
223 mutex_lock(&socket->ops_mutex);
224 socket->resource_ops->exit(socket);
225 mutex_unlock(&socket->ops_mutex);
227 wait_for_completion(&socket->socket_released);
255 skt->socket.flags |= SS_OUTPUT_ENA | SS_RESET;
256 skt->ops->set_socket(skt, &skt->socket);
259 skt->socket.flags &= ~SS_RESET;
260 skt->ops->set_socket(skt, &skt->socket);
282 * socket_setup() turns on socket power and resets the socket, in two stages.
283 * socket_shutdown() unconfigures a socket and turns off socket power.
299 /* Blank out the socket state */
300 s->socket = dead_socket;
302 s->ops->set_socket(s, &s->socket);
309 * pccardd thread) accesses this socket, and all (16-bit)
320 /* give socket some time to power down */
326 "*** DANGER *** unable to remove socket power\n");
373 skt->socket.Vcc = skt->socket.Vpp = 33;
375 skt->socket.Vcc = skt->socket.Vpp = 50;
384 skt->socket.flags = 0;
385 skt->ops->set_socket(skt, &skt->socket);
407 * Handle card insertion. Setup the socket, reset the card,
460 skt->socket = dead_socket;
461 skt->ops->set_socket(skt, &skt->socket);
473 skt->socket = dead_socket;
475 skt->ops->set_socket(skt, &skt->socket);
518 * Finalize the resume. In case of a cardbus socket, we have
540 * Resume a socket. If a card is present, verify its CIS against
564 * Process a socket card detect status change.
567 * about 20ms (to be on the safe side) before reading the socket status.
598 skt->socket = dead_socket;
600 skt->ops->set_socket(skt, &skt->socket);
605 dev_warn(&skt->dev, "PCMCIA: unable to register socket\n");
613 dev_warn(&skt->dev, "err %d adding socket attributes\n", ret);
681 /* shut down socket, if a device is still present */
696 * Yenta (at least) probes interrupts before registering the socket and
715 * @s: the PCMCIA socket we wan't to command
777 dev_dbg(&skt->dev, "resetting socket\n");