Lines Matching refs:lp_table

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