Lines Matching refs:port
128 static void db9_saturn_write_sub(struct parport *port, int type, unsigned char data, int powered, int pwr_sub)
135 parport_write_data(port, c);
139 parport_write_data(port, c);
143 parport_write_control(port, c);
151 static unsigned char db9_saturn_read_sub(struct parport *port, int type)
157 data = parport_read_status(port) ^ 0x80;
162 data = parport_read_data(port) & 0x0f;
171 static unsigned char db9_saturn_read_analog(struct parport *port, int type, int powered)
175 db9_saturn_write_sub(port, type, 0, powered, 0);
177 data = db9_saturn_read_sub(port, type) << 4;
178 db9_saturn_write_sub(port, type, 2, powered, 0);
180 data |= db9_saturn_read_sub(port, type);
188 static unsigned char db9_saturn_read_packet(struct parport *port, unsigned char *data, int type, int powered)
193 db9_saturn_write_sub(port, type, 3, powered, 0);
194 data[0] = db9_saturn_read_sub(port, type);
201 db9_saturn_write_sub(port, type, 0, powered, 1);
202 data[2] = db9_saturn_read_sub(port, type) << 4;
203 db9_saturn_write_sub(port, type, 2, powered, 1);
204 data[1] = db9_saturn_read_sub(port, type) << 4;
205 db9_saturn_write_sub(port, type, 1, powered, 1);
206 data[1] |= db9_saturn_read_sub(port, type);
207 db9_saturn_write_sub(port, type, 3, powered, 1);
208 /* data[2] |= db9_saturn_read_sub(port, type); */
213 db9_saturn_write_sub(port, type, 2, powered, 0);
215 data[0] = db9_saturn_read_analog(port, type, powered);
219 data[i + 1] = db9_saturn_read_analog(port, type, powered);
220 db9_saturn_write_sub(port, type, 3, powered, 0);
224 if (db9_saturn_read_analog(port, type, powered) != 0x60)
227 data[i] = db9_saturn_read_analog(port, type, powered);
231 data[i + j + 1] = db9_saturn_read_analog(port, type, powered);
233 db9_saturn_write_sub(port, type, 3, powered, 0);
238 db9_saturn_write_sub(port, type, 2, powered, 0);
240 tmp = db9_saturn_read_analog(port, type, powered);
243 data[i + 1] = db9_saturn_read_analog(port, type, powered);
244 db9_saturn_write_sub(port, type, 3, powered, 0);
322 static int db9_saturn(int mode, struct parport *port, struct input_dev *devs[])
346 id = db9_saturn_read_packet(port, data, type + i, 1);
355 struct parport *port = db9->pd->port;
363 data = parport_read_data(port) >> 3;
372 data = parport_read_status(port) >> 3;
381 data = parport_read_data(port);
390 data = parport_read_data(port);
400 parport_write_control(port, DB9_NOSELECT);
401 data = parport_read_data(port);
408 parport_write_control(port, DB9_NORMAL);
409 data = parport_read_data(port);
417 parport_write_control(port, DB9_NOSELECT);
418 data = parport_read_data(port);
425 parport_write_control(port, DB9_NORMAL);
426 data = parport_read_data(port);
436 parport_write_control(port, DB9_NOSELECT); /* 1 */
438 data = parport_read_data(port);
445 parport_write_control(port, DB9_NORMAL);
447 data = parport_read_data(port);
452 parport_write_control(port, DB9_NOSELECT); /* 2 */
454 parport_write_control(port, DB9_NORMAL);
456 parport_write_control(port, DB9_NOSELECT); /* 3 */
458 data=parport_read_data(port);
465 parport_write_control(port, DB9_NORMAL);
467 parport_write_control(port, DB9_NOSELECT); /* 4 */
469 parport_write_control(port, DB9_NORMAL);
476 db9_saturn(db9->mode, port, db9->dev);
481 data = parport_read_data(port);
486 parport_write_control(port, 0x0a);
489 data = parport_read_data(port);
490 parport_write_control(port, 0x02);
491 parport_write_control(port, 0x0a);
495 parport_write_control(port, 0x00);
507 struct parport *port = db9->pd->port;
516 parport_write_data(port, 0xff);
518 parport_data_reverse(port);
519 parport_write_control(port, DB9_NORMAL);
531 struct parport *port = db9->pd->port;
536 parport_write_control(port, 0x00);
537 parport_data_forward(port);
609 "%s/input%d", db9->pd->port->name, i);
650 static void db9_detach(struct parport *port)
656 if (db9_base[i] && db9_base[i]->parportno == port->number)