Lines Matching refs:serport
31 struct serport {
46 struct serport *serport = serio->port_data;
47 return -(serport->tty->ops->write(serport->tty, &data, 1) != 1);
52 struct serport *serport = serio->port_data;
55 spin_lock_irqsave(&serport->lock, flags);
56 set_bit(SERPORT_ACTIVE, &serport->flags);
57 spin_unlock_irqrestore(&serport->lock, flags);
65 struct serport *serport = serio->port_data;
68 spin_lock_irqsave(&serport->lock, flags);
69 clear_bit(SERPORT_ACTIVE, &serport->flags);
70 spin_unlock_irqrestore(&serport->lock, flags);
80 struct serport *serport;
85 serport = kzalloc(sizeof(struct serport), GFP_KERNEL);
86 if (!serport)
89 serport->tty = tty;
90 spin_lock_init(&serport->lock);
91 init_waitqueue_head(&serport->wait);
93 tty->disc_data = serport;
106 struct serport *serport = (struct serport *) tty->disc_data;
108 kfree(serport);
119 struct serport *serport = (struct serport*) tty->disc_data;
124 spin_lock_irqsave(&serport->lock, flags);
126 if (!test_bit(SERPORT_ACTIVE, &serport->flags))
146 serio_interrupt(serport->serio, cp[i], ch_flags);
150 spin_unlock_irqrestore(&serport->lock, flags);
163 struct serport *serport = (struct serport*) tty->disc_data;
166 if (test_and_set_bit(SERPORT_BUSY, &serport->flags))
169 serport->serio = serio = kzalloc(sizeof(struct serio), GFP_KERNEL);
175 serio->id = serport->id;
180 serio->port_data = serport;
183 serio_register_port(serport->serio);
186 wait_event_interruptible(serport->wait, test_bit(SERPORT_DEAD, &serport->flags));
187 serio_unregister_port(serport->serio);
188 serport->serio = NULL;
190 clear_bit(SERPORT_DEAD, &serport->flags);
191 clear_bit(SERPORT_BUSY, &serport->flags);
198 struct serport *serport = tty->disc_data;
200 serport->id.proto = type & 0x000000ff;
201 serport->id.id = (type & 0x0000ff00) >> 8;
202 serport->id.extra = (type & 0x00ff0000) >> 16;
248 struct serport *serport = (struct serport *) tty->disc_data;
251 spin_lock_irqsave(&serport->lock, flags);
252 set_bit(SERPORT_DEAD, &serport->flags);
253 spin_unlock_irqrestore(&serport->lock, flags);
255 wake_up_interruptible(&serport->wait);
261 struct serport *serport = (struct serport *) tty->disc_data;
264 spin_lock_irqsave(&serport->lock, flags);
265 if (test_bit(SERPORT_ACTIVE, &serport->flags))
266 serio_drv_write_wakeup(serport->serio);
267 spin_unlock_irqrestore(&serport->lock, flags);
298 printk(KERN_ERR "serport.c: Error registering line discipline.\n");