Lines Matching refs:port
131 static void db9_saturn_write_sub(struct parport *port, int type, unsigned char data, int powered, int pwr_sub)
138 parport_write_data(port, c);
142 parport_write_data(port, c);
146 parport_write_control(port, c);
154 static unsigned char db9_saturn_read_sub(struct parport *port, int type)
160 data = parport_read_status(port) ^ 0x80;
165 data = parport_read_data(port) & 0x0f;
174 static unsigned char db9_saturn_read_analog(struct parport *port, int type, int powered)
178 db9_saturn_write_sub(port, type, 0, powered, 0);
180 data = db9_saturn_read_sub(port, type) << 4;
181 db9_saturn_write_sub(port, type, 2, powered, 0);
183 data |= db9_saturn_read_sub(port, type);
191 static unsigned char db9_saturn_read_packet(struct parport *port, unsigned char *data, int type, int powered)
196 db9_saturn_write_sub(port, type, 3, powered, 0);
197 data[0] = db9_saturn_read_sub(port, type);
204 db9_saturn_write_sub(port, type, 0, powered, 1);
205 data[2] = db9_saturn_read_sub(port, type) << 4;
206 db9_saturn_write_sub(port, type, 2, powered, 1);
207 data[1] = db9_saturn_read_sub(port, type) << 4;
208 db9_saturn_write_sub(port, type, 1, powered, 1);
209 data[1] |= db9_saturn_read_sub(port, type);
210 db9_saturn_write_sub(port, type, 3, powered, 1);
211 /* data[2] |= db9_saturn_read_sub(port, type); */
216 db9_saturn_write_sub(port, type, 2, powered, 0);
218 data[0] = db9_saturn_read_analog(port, type, powered);
222 data[i + 1] = db9_saturn_read_analog(port, type, powered);
223 db9_saturn_write_sub(port, type, 3, powered, 0);
227 if (db9_saturn_read_analog(port, type, powered) != 0x60)
230 data[i] = db9_saturn_read_analog(port, type, powered);
234 data[i + j + 1] = db9_saturn_read_analog(port, type, powered);
236 db9_saturn_write_sub(port, type, 3, powered, 0);
241 db9_saturn_write_sub(port, type, 2, powered, 0);
243 tmp = db9_saturn_read_analog(port, type, powered);
246 data[i + 1] = db9_saturn_read_analog(port, type, powered);
247 db9_saturn_write_sub(port, type, 3, powered, 0);
325 static int db9_saturn(int mode, struct parport *port, struct input_dev *devs[])
349 id = db9_saturn_read_packet(port, data, type + i, 1);
358 struct parport *port = db9->pd->port;
366 data = parport_read_data(port) >> 3;
375 data = parport_read_status(port) >> 3;
384 data = parport_read_data(port);
393 data = parport_read_data(port);
403 parport_write_control(port, DB9_NOSELECT);
404 data = parport_read_data(port);
411 parport_write_control(port, DB9_NORMAL);
412 data = parport_read_data(port);
420 parport_write_control(port, DB9_NOSELECT);
421 data = parport_read_data(port);
428 parport_write_control(port, DB9_NORMAL);
429 data = parport_read_data(port);
439 parport_write_control(port, DB9_NOSELECT); /* 1 */
441 data = parport_read_data(port);
448 parport_write_control(port, DB9_NORMAL);
450 data = parport_read_data(port);
455 parport_write_control(port, DB9_NOSELECT); /* 2 */
457 parport_write_control(port, DB9_NORMAL);
459 parport_write_control(port, DB9_NOSELECT); /* 3 */
461 data=parport_read_data(port);
468 parport_write_control(port, DB9_NORMAL);
470 parport_write_control(port, DB9_NOSELECT); /* 4 */
472 parport_write_control(port, DB9_NORMAL);
479 db9_saturn(db9->mode, port, db9->dev);
484 data = parport_read_data(port);
489 parport_write_control(port, 0x0a);
492 data = parport_read_data(port);
493 parport_write_control(port, 0x02);
494 parport_write_control(port, 0x0a);
498 parport_write_control(port, 0x00);
510 struct parport *port = db9->pd->port;
519 parport_write_data(port, 0xff);
521 parport_data_reverse(port);
522 parport_write_control(port, DB9_NORMAL);
534 struct parport *port = db9->pd->port;
539 parport_write_control(port, 0x00);
540 parport_data_forward(port);
612 "%s/input%d", db9->pd->port->name, i);
653 static void db9_detach(struct parport *port)
659 if (db9_base[i] && db9_base[i]->parportno == port->number)