Lines Matching refs:lp_table
144 static struct lp_struct lp_table[LP_NO]; variable
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]); in lp_reset()
215 lp_release_parport(&lp_table[minor]); in lp_reset()
227 polling = lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE; in lp_error()
229 lp_release_parport(&lp_table[minor]); in lp_error()
230 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE); in lp_error()
232 finish_wait(&lp_table[minor].waitq, &wait); in lp_error()
234 lp_claim_parport_or_block(&lp_table[minor]); in lp_error()
236 parport_yield_blocking(lp_table[minor].dev); in lp_error()
242 unsigned int last = lp_table[minor].last_error; in lp_check_status()
270 lp_table[minor].last_error = last; in lp_check_status()
283 if (lp_table[minor].current_mode != IEEE1284_MODE_COMPAT) { in lp_wait_ready()
303 struct parport *port = lp_table[minor].dev->port; in lp_write()
304 char *kbuf = lp_table[minor].lp_buffer; in lp_write()
312 if (time_after(jiffies, lp_table[minor].lastcall + LP_TIME(minor))) in lp_write()
313 lp_table[minor].runchars = 0; in lp_write()
315 lp_table[minor].lastcall = jiffies; in lp_write()
322 if (mutex_lock_interruptible(&lp_table[minor].port_mutex)) in lp_write()
332 lp_claim_parport_or_block(&lp_table[minor]); in lp_write()
334 lp_table[minor].current_mode = lp_negotiate(port, in lp_write()
335 lp_table[minor].best_mode); in lp_write()
337 parport_set_timeout(lp_table[minor].dev, in lp_write()
339 : lp_table[minor].timeout)); in lp_write()
363 parport_negotiate(lp_table[minor].dev->port, in lp_write()
365 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT; in lp_write()
379 parport_yield_blocking(lp_table[minor].dev); in lp_write()
380 lp_table[minor].current_mode in lp_write()
382 lp_table[minor].best_mode); in lp_write()
401 &lp_table[minor].bits)) { in lp_write()
403 parport_negotiate(lp_table[minor].dev->port, in lp_write()
405 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT; in lp_write()
406 lp_release_parport(&lp_table[minor]); in lp_write()
409 mutex_unlock(&lp_table[minor].port_mutex); in lp_write()
422 struct parport *port = lp_table[minor].dev->port; in lp_read()
424 char *kbuf = lp_table[minor].lp_buffer; in lp_read()
431 if (mutex_lock_interruptible(&lp_table[minor].port_mutex)) in lp_read()
434 lp_claim_parport_or_block(&lp_table[minor]); in lp_read()
436 parport_set_timeout(lp_table[minor].dev, in lp_read()
438 : lp_table[minor].timeout)); in lp_read()
440 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT); in lp_read()
441 if (parport_negotiate(lp_table[minor].dev->port, in lp_read()
460 if (lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE) { in lp_read()
461 parport_negotiate(lp_table[minor].dev->port, in lp_read()
464 if (parport_negotiate(lp_table[minor].dev->port, in lp_read()
470 prepare_to_wait(&lp_table[minor].waitq, &wait, TASK_INTERRUPTIBLE); in lp_read()
472 finish_wait(&lp_table[minor].waitq, &wait); in lp_read()
482 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT); in lp_read()
484 lp_release_parport(&lp_table[minor]); in lp_read()
489 mutex_unlock(&lp_table[minor].port_mutex); in lp_read()
521 lp_claim_parport_or_block(&lp_table[minor]); in lp_open()
523 lp_release_parport(&lp_table[minor]); in lp_open()
541 lp_table[minor].lp_buffer = kmalloc(LP_BUFFER_SIZE, GFP_KERNEL); in lp_open()
542 if (!lp_table[minor].lp_buffer) { in lp_open()
548 lp_claim_parport_or_block(&lp_table[minor]); in lp_open()
549 if ( (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) && in lp_open()
550 !parport_negotiate(lp_table[minor].dev->port, in lp_open()
553 lp_table[minor].best_mode = IEEE1284_MODE_ECP; in lp_open()
555 lp_table[minor].best_mode = IEEE1284_MODE_COMPAT; in lp_open()
558 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT); in lp_open()
559 lp_release_parport(&lp_table[minor]); in lp_open()
560 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT; in lp_open()
570 lp_claim_parport_or_block(&lp_table[minor]); in lp_release()
571 parport_negotiate(lp_table[minor].dev->port, IEEE1284_MODE_COMPAT); in lp_release()
572 lp_table[minor].current_mode = IEEE1284_MODE_COMPAT; in lp_release()
573 lp_release_parport(&lp_table[minor]); in lp_release()
574 kfree(lp_table[minor].lp_buffer); in lp_release()
575 lp_table[minor].lp_buffer = NULL; in lp_release()
632 if (mutex_lock_interruptible(&lp_table[minor].port_mutex)) in lp_do_ioctl()
634 lp_claim_parport_or_block(&lp_table[minor]); in lp_do_ioctl()
636 lp_release_parport(&lp_table[minor]); in lp_do_ioctl()
637 mutex_unlock(&lp_table[minor].port_mutex); in lp_do_ioctl()
695 lp_table[minor].timeout = to_jiffies; in lp_set_timeout()
812 struct pardevice *dev = lp_table[CONSOLE_LP].dev; in lp_console_write()
920 ppdev_cb.private = &lp_table[nr]; in lp_register()
921 lp_table[nr].dev = parport_register_dev_model(port, "lp", in lp_register()
923 if (lp_table[nr].dev == NULL) in lp_register()
925 lp_table[nr].flags |= LP_EXIST; in lp_register()
1003 parport_unregister_device(lp_table[n].dev); in lp_detach()
1023 lp_table[i].dev = NULL; in lp_init()
1024 lp_table[i].flags = 0; in lp_init()
1025 lp_table[i].chars = LP_INIT_CHAR; in lp_init()
1026 lp_table[i].time = LP_INIT_TIME; in lp_init()
1027 lp_table[i].wait = LP_INIT_WAIT; in lp_init()
1028 lp_table[i].lp_buffer = NULL; in lp_init()
1030 lp_table[i].lastcall = 0; in lp_init()
1031 lp_table[i].runchars = 0; in lp_init()
1032 memset(&lp_table[i].stats, 0, sizeof(struct lp_stats)); in lp_init()
1034 lp_table[i].last_error = 0; in lp_init()
1035 init_waitqueue_head(&lp_table[i].waitq); in lp_init()
1036 init_waitqueue_head(&lp_table[i].dataq); in lp_init()
1037 mutex_init(&lp_table[i].port_mutex); in lp_init()
1038 lp_table[i].timeout = 10 * HZ; in lp_init()