Lines Matching defs:lp_table
144 static struct lp_struct lp_table[LP_NO];
162 #define r_dtr(x) (parport_read_data(lp_table[(x)].dev->port))
163 #define r_str(x) (parport_read_status(lp_table[(x)].dev->port))
164 #define w_ctr(x,y) do { parport_write_control(lp_table[(x)].dev->port, (y)); } while (0)
165 #define w_dtr(x,y) do { parport_write_data(lp_table[(x)].dev->port, (y)); } while (0)
210 lp_claim_parport_or_block(&lp_table[minor]);
215 lp_release_parport(&lp_table[minor]);
227 polling = lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE;
229 lp_release_parport(&lp_table[minor]);
230 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE);
232 finish_wait(&lp_table[minor].waitq, &wait);
234 lp_claim_parport_or_block(&lp_table[minor]);
236 parport_yield_blocking(lp_table[minor].dev);
242 unsigned int last = lp_table[minor].last_error;
270 lp_table[minor].last_error = last;
283 if (lp_table[minor].current_mode != IEEE1284_MODE_COMPAT) {
303 struct parport *port = lp_table[minor].dev->port;
304 char *kbuf = lp_table[minor].lp_buffer;
312 if (time_after(jiffies, lp_table[minor].lastcall + LP_TIME(minor)))
313 lp_table[minor].runchars = 0;
315 lp_table[minor].lastcall = jiffies;
322 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
332 lp_claim_parport_or_block(&lp_table[minor]);
334 lp_table[minor].current_mode = lp_negotiate(port,
335 lp_table[minor].best_mode);
337 parport_set_timeout(lp_table[minor].dev,
339 : lp_table[minor].timeout));
363 parport_negotiate(lp_table[minor].dev->port,
365 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
379 parport_yield_blocking(lp_table[minor].dev);
380 lp_table[minor].current_mode
382 lp_table[minor].best_mode);
401 &lp_table[minor].bits)) {
403 parport_negotiate(lp_table[minor].dev->port,
405 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
406 lp_release_parport(&lp_table[minor]);
409 mutex_unlock(&lp_table[minor].port_mutex);
422 struct parport *port = lp_table[minor].dev->port;
424 char *kbuf = lp_table[minor].lp_buffer;
431 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
434 lp_claim_parport_or_block(&lp_table[minor]);
436 parport_set_timeout(lp_table[minor].dev,
438 : lp_table[minor].timeout));
440 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
441 if (parport_negotiate(lp_table[minor].dev->port,
460 if (lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE) {
461 parport_negotiate(lp_table[minor].dev->port,
464 if (parport_negotiate(lp_table[minor].dev->port,
470 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE);
472 finish_wait(&lp_table[minor].waitq, &wait);
482 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
484 lp_release_parport(&lp_table[minor]);
489 mutex_unlock(&lp_table[minor].port_mutex);
521 lp_claim_parport_or_block(&lp_table[minor]);
523 lp_release_parport(&lp_table[minor]);
541 lp_table[minor].lp_buffer = kmalloc(LP_BUFFER_SIZE, GFP_KERNEL);
542 if (!lp_table[minor].lp_buffer) {
548 lp_claim_parport_or_block(&lp_table[minor]);
549 if ( (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) &&
550 !parport_negotiate(lp_table[minor].dev->port,
553 lp_table[minor].best_mode = IEEE1284_MODE_ECP;
555 lp_table[minor].best_mode = IEEE1284_MODE_COMPAT;
558 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
559 lp_release_parport(&lp_table[minor]);
560 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
570 lp_claim_parport_or_block(&lp_table[minor]);
571 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
572 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT;
573 lp_release_parport(&lp_table[minor]);
574 kfree(lp_table[minor].lp_buffer);
575 lp_table[minor].lp_buffer = NULL;
632 if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
634 lp_claim_parport_or_block(&lp_table[minor]);
636 lp_release_parport(&lp_table[minor]);
637 mutex_unlock(&lp_table[minor].port_mutex);
671 /* Convert to jiffies, place in lp_table */
695 lp_table[minor].timeout = to_jiffies;
816 struct pardevice *dev = lp_table[CONSOLE_LP].dev;
926 ppdev_cb.private = &lp_table[nr];
927 lp_table[nr].dev = parport_register_dev_model(port, "lp",
929 if (lp_table[nr].dev == NULL)
931 lp_table[nr].flags |= LP_EXIST;
1009 parport_unregister_device(lp_table[n].dev);
1029 lp_table[i].dev = NULL;
1030 lp_table[i].flags = 0;
1031 lp_table[i].chars = LP_INIT_CHAR;
1032 lp_table[i].time = LP_INIT_TIME;
1033 lp_table[i].wait = LP_INIT_WAIT;
1034 lp_table[i].lp_buffer = NULL;
1036 lp_table[i].lastcall = 0;
1037 lp_table[i].runchars = 0;
1038 memset(&lp_table[i].stats, 0, sizeof(struct lp_stats));
1040 lp_table[i].last_error = 0;
1041 init_waitqueue_head(&lp_table[i].waitq);
1042 init_waitqueue_head(&lp_table[i].dataq);
1043 mutex_init(&lp_table[i].port_mutex);
1044 lp_table[i].timeout = 10 * HZ;