Lines Matching defs:port

16 #include "port.h"
23 int port;
31 struct port_list *port;
42 struct port_list *port;
63 list_add(&conn->list, &conn->port->connections);
65 complete(&conn->port->done);
71 "There are currently no UML consoles waiting for port connections.\n" \
76 static int port_accept(struct port_list *port)
81 fd = port_connection(port->fd, socket, &pid);
100 .port = port });
109 if (atomic_read(&port->wait_count) == 0) {
111 printk(KERN_ERR "No one waiting for port\n");
113 list_add(&conn->list, &port->pending);
130 struct port_list *port;
136 port = list_entry(ele, struct port_list, list);
137 if (!port->has_connection)
140 while (port_accept(port))
142 port->has_connection = 0;
151 struct port_list *port = data;
153 port->has_connection = 1;
161 struct port_list *port;
167 port = list_entry(ele, struct port_list, list);
168 if (port->port == port_num)
171 port = kmalloc(sizeof(struct port_list), GFP_KERNEL);
172 if (port == NULL) {
173 printk(KERN_ERR "Allocation of port list failed\n");
179 printk(KERN_ERR "binding to port %d failed, errno = %d\n",
185 IRQF_SHARED, "port", port)) {
186 printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
190 *port = ((struct port_list)
191 { .list = LIST_HEAD_INIT(port->list),
194 .port = port_num,
196 .pending = LIST_HEAD_INIT(port->pending),
197 .connections = LIST_HEAD_INIT(port->connections) });
198 spin_lock_init(&port->lock);
199 init_completion(&port->done);
200 list_add(&port->list, &ports);
205 printk(KERN_ERR "Allocation of port device entry failed\n");
209 *dev = ((struct port_dev) { .port = port,
217 kfree(port);
227 struct port_list *port = dev->port;
230 atomic_inc(&port->wait_count);
233 if (wait_for_completion_interruptible(&port->done))
236 spin_lock(&port->lock);
238 conn = list_entry(port->connections.next, struct connection,
241 spin_unlock(&port->lock);
267 atomic_dec(&port->wait_count);
294 struct port_list *port;
297 port = list_entry(ele, struct port_list, list);
298 free_irq_by_fd(port->fd);
299 os_close_file(port->fd);