Lines Matching defs:lp_table

144 static struct lp_struct lp_table[LP_NO];
164 #define r_dtr(x) (parport_read_data(lp_table[(x)].dev->port))
165 #define r_str(x) (parport_read_status(lp_table[(x)].dev->port))
166 #define w_ctr(x,y) do { parport_write_control(lp_table[(x)].dev->port, (y)); } while (0)
167 #define w_dtr(x,y) do { parport_write_data(lp_table[(x)].dev->port, (y)); } while (0)
212 lp_claim_parport_or_block(&lp_table[minor]);
217 lp_release_parport(&lp_table[minor]);
229 polling = lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE;
231 lp_release_parport(&lp_table[minor]);
232 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE);
234 finish_wait(&lp_table[minor].waitq, &wait);
236 lp_claim_parport_or_block(&lp_table[minor]);
238 parport_yield_blocking(lp_table[minor].dev);
244 unsigned int last = lp_table[minor].last_error;
272 lp_table[minor].last_error = last;
285 if (lp_table[minor].current_mode != IEEE1284_MODE_COMPAT) {
305 struct parport *port = lp_table[minor].dev->port;
306 char *kbuf = lp_table[minor].lp_buffer;
314 if (time_after(jiffies, lp_table[minor].lastcall + LP_TIME(minor)))
315 lp_table[minor].runchars = 0;
317 lp_table[minor].lastcall = jiffies;
324 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
334 lp_claim_parport_or_block(&lp_table[minor]);
336 lp_table[minor].current_mode = lp_negotiate(port,
337 lp_table[minor].best_mode);
339 parport_set_timeout(lp_table[minor].dev,
341 : lp_table[minor].timeout));
365 parport_negotiate(lp_table[minor].dev->port,
367 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
381 parport_yield_blocking(lp_table[minor].dev);
382 lp_table[minor].current_mode
384 lp_table[minor].best_mode);
403 &lp_table[minor].bits)) {
405 parport_negotiate(lp_table[minor].dev->port,
407 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
408 lp_release_parport(&lp_table[minor]);
411 mutex_unlock(&lp_table[minor].port_mutex);
424 struct parport *port = lp_table[minor].dev->port;
426 char *kbuf = lp_table[minor].lp_buffer;
433 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
436 lp_claim_parport_or_block(&lp_table[minor]);
438 parport_set_timeout(lp_table[minor].dev,
440 : lp_table[minor].timeout));
442 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
443 if (parport_negotiate(lp_table[minor].dev->port,
462 if (lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE) {
463 parport_negotiate(lp_table[minor].dev->port,
466 if (parport_negotiate(lp_table[minor].dev->port,
472 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE);
474 finish_wait(&lp_table[minor].waitq, &wait);
484 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
486 lp_release_parport(&lp_table[minor]);
491 mutex_unlock(&lp_table[minor].port_mutex);
523 lp_claim_parport_or_block(&lp_table[minor]);
525 lp_release_parport(&lp_table[minor]);
543 lp_table[minor].lp_buffer = kmalloc(LP_BUFFER_SIZE, GFP_KERNEL);
544 if (!lp_table[minor].lp_buffer) {
550 lp_claim_parport_or_block(&lp_table[minor]);
551 if ((lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) &&
552 !parport_negotiate(lp_table[minor].dev->port,
555 lp_table[minor].best_mode = IEEE1284_MODE_ECP;
557 lp_table[minor].best_mode = IEEE1284_MODE_COMPAT;
560 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
561 lp_release_parport(&lp_table[minor]);
562 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
572 lp_claim_parport_or_block(&lp_table[minor]);
573 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
574 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
575 lp_release_parport(&lp_table[minor]);
576 kfree(lp_table[minor].lp_buffer);
577 lp_table[minor].lp_buffer = NULL;
633 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
635 lp_claim_parport_or_block(&lp_table[minor]);
637 lp_release_parport(&lp_table[minor]);
638 mutex_unlock(&lp_table[minor].port_mutex);
672 /* Convert to jiffies, place in lp_table */
696 lp_table[minor].timeout = to_jiffies;
817 struct pardevice *dev = lp_table[CONSOLE_LP].dev;
927 ppdev_cb.private = &lp_table[nr];
928 lp_table[nr].dev = parport_register_dev_model(port, "lp",
930 if (lp_table[nr].dev == NULL)
932 lp_table[nr].flags |= LP_EXIST;
1010 parport_unregister_device(lp_table[n].dev);
1030 lp_table[i].dev = NULL;
1031 lp_table[i].flags = 0;
1032 lp_table[i].chars = LP_INIT_CHAR;
1033 lp_table[i].time = LP_INIT_TIME;
1034 lp_table[i].wait = LP_INIT_WAIT;
1035 lp_table[i].lp_buffer = NULL;
1037 lp_table[i].lastcall = 0;
1038 lp_table[i].runchars = 0;
1039 memset(&lp_table[i].stats, 0, sizeof(struct lp_stats));
1041 lp_table[i].last_error = 0;
1042 init_waitqueue_head(&lp_table[i].waitq);
1043 init_waitqueue_head(&lp_table[i].dataq);
1044 mutex_init(&lp_table[i].port_mutex);
1045 lp_table[i].timeout = 10 * HZ;