Lines Matching refs:port

146 static void db9_saturn_write_sub(struct parport *port, int type, unsigned char data, int powered, int pwr_sub)
153 parport_write_data(port, c);
157 parport_write_data(port, c);
161 parport_write_control(port, c);
169 static unsigned char db9_saturn_read_sub(struct parport *port, int type)
175 data = parport_read_status(port) ^ 0x80;
180 data = parport_read_data(port) & 0x0f;
189 static unsigned char db9_saturn_read_analog(struct parport *port, int type, int powered)
193 db9_saturn_write_sub(port, type, 0, powered, 0);
195 data = db9_saturn_read_sub(port, type) << 4;
196 db9_saturn_write_sub(port, type, 2, powered, 0);
198 data |= db9_saturn_read_sub(port, type);
206 static unsigned char db9_saturn_read_packet(struct parport *port, unsigned char *data, int type, int powered)
211 db9_saturn_write_sub(port, type, 3, powered, 0);
212 data[0] = db9_saturn_read_sub(port, type);
219 db9_saturn_write_sub(port, type, 0, powered, 1);
220 data[2] = db9_saturn_read_sub(port, type) << 4;
221 db9_saturn_write_sub(port, type, 2, powered, 1);
222 data[1] = db9_saturn_read_sub(port, type) << 4;
223 db9_saturn_write_sub(port, type, 1, powered, 1);
224 data[1] |= db9_saturn_read_sub(port, type);
225 db9_saturn_write_sub(port, type, 3, powered, 1);
226 /* data[2] |= db9_saturn_read_sub(port, type); */
231 db9_saturn_write_sub(port, type, 2, powered, 0);
233 data[0] = db9_saturn_read_analog(port, type, powered);
237 data[i + 1] = db9_saturn_read_analog(port, type, powered);
238 db9_saturn_write_sub(port, type, 3, powered, 0);
242 if (db9_saturn_read_analog(port, type, powered) != 0x60)
245 data[i] = db9_saturn_read_analog(port, type, powered);
249 data[i + j + 1] = db9_saturn_read_analog(port, type, powered);
251 db9_saturn_write_sub(port, type, 3, powered, 0);
256 db9_saturn_write_sub(port, type, 2, powered, 0);
258 tmp = db9_saturn_read_analog(port, type, powered);
261 data[i + 1] = db9_saturn_read_analog(port, type, powered);
262 db9_saturn_write_sub(port, type, 3, powered, 0);
336 static int db9_saturn(int mode, struct parport *port, struct input_dev *devs[])
360 id = db9_saturn_read_packet(port, data, type + i, 1);
369 struct parport *port = db9->pd->port;
377 data = parport_read_data(port) >> 3;
385 data = parport_read_status(port) >> 3;
394 data = parport_read_data(port);
403 data = parport_read_data(port);
413 parport_write_control(port, DB9_NOSELECT);
414 data = parport_read_data(port);
421 parport_write_control(port, DB9_NORMAL);
422 data = parport_read_data(port);
430 parport_write_control(port, DB9_NOSELECT);
431 data = parport_read_data(port);
438 parport_write_control(port, DB9_NORMAL);
439 data = parport_read_data(port);
449 parport_write_control(port, DB9_NOSELECT); /* 1 */
451 data = parport_read_data(port);
458 parport_write_control(port, DB9_NORMAL);
460 data = parport_read_data(port);
465 parport_write_control(port, DB9_NOSELECT); /* 2 */
467 parport_write_control(port, DB9_NORMAL);
469 parport_write_control(port, DB9_NOSELECT); /* 3 */
471 data=parport_read_data(port);
478 parport_write_control(port, DB9_NORMAL);
480 parport_write_control(port, DB9_NOSELECT); /* 4 */
482 parport_write_control(port, DB9_NORMAL);
489 db9_saturn(db9->mode, port, db9->dev);
494 data = parport_read_data(port);
499 parport_write_control(port, 0x0a);
502 data = parport_read_data(port);
503 parport_write_control(port, 0x02);
504 parport_write_control(port, 0x0a);
508 parport_write_control(port, 0x00);
520 struct parport *port = db9->pd->port;
529 parport_write_data(port, 0xff);
531 parport_data_reverse(port);
532 parport_write_control(port, DB9_NORMAL);
544 struct parport *port = db9->pd->port;
549 parport_write_control(port, 0x00);
550 parport_data_forward(port);
618 "%s/input%d", db9->pd->port->name, i);