Lines Matching refs:i
138 int timeout, bitout, sched, i, kick, start, strobe; in sw_read_packet() local
141 i = -id; /* Don't care about data, only want ID */ in sw_read_packet()
164 while ((timeout > 0 || bitout > 0) && (i < length)) { in sw_read_packet()
174 if (i >= 0) /* Want this data */ in sw_read_packet()
175 buf[i] = v >> 5; /* Store it */ in sw_read_packet()
176 i++; /* Advance index */ in sw_read_packet()
186 if (pending && sched < 0 && (i > -SW_END)) { /* Second trigger time */ in sw_read_packet()
199 printk(KERN_DEBUG "sidewinder.c: Read %d triplets. [", i); in sw_read_packet()
200 for (j = 0; j < i; j++) printk("%d", buf[j]); in sw_read_packet()
205 return i; in sw_read_packet()
221 int i = pos / bits; in sw_get_bits() local
225 data |= (__u64)((buf[i] >> tri++) & 1) << bit++; /* Transfer bit */ in sw_get_bits()
227 i++; /* Next triplet */ in sw_get_bits()
244 int i, t; in sw_init_digital() local
248 i = 0; in sw_init_digital()
253 udelay(seq[i]); /* Delay magic time */ in sw_init_digital()
254 } while (seq[++i]); in sw_init_digital()
303 int hat, i, j; in sw_parse() local
335 for (i = 0; i < sw->number; i ++) { in sw_parse()
337 if (sw_parity(GB(i*15,15))) in sw_parse()
340 input_report_abs(sw->dev[i], ABS_X, GB(i*15+3,1) - GB(i*15+2,1)); in sw_parse()
341 input_report_abs(sw->dev[i], ABS_Y, GB(i*15+0,1) - GB(i*15+1,1)); in sw_parse()
344 input_report_key(sw->dev[i], sw_btn[SW_ID_GP][j], !GB(i*15+j+4,1)); in sw_parse()
346 input_sync(sw->dev[i]); in sw_parse()
428 int i; in sw_read() local
430 i = sw_read_packet(sw->gameport, buf, sw->length, 0); in sw_read()
432 if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) { /* Broken packet, try to fix */ in sw_read()
434 if (i == 64 && !sw_check(sw_get_bits(buf,0,64,1))) { /* Last init failed, 1 bit mode */ in sw_read()
438 i = 128; /* Bogus value */ in sw_read()
441 if (i < 66 && GB(0,64) == GB(i*3-66,64)) /* 1 == 3 */ in sw_read()
442 i = 66; /* Everything is fine */ in sw_read()
444 if (i < 66 && GB(0,64) == GB(66,64)) /* 1 == 2 */ in sw_read()
445 i = 66; /* Everything is fine */ in sw_read()
447 if (i < 66 && GB(i*3-132,64) == GB(i*3-66,64)) { /* 2 == 3 */ in sw_read()
448 memmove(buf, buf + i - 22, 22); /* Move data */ in sw_read()
449 i = 66; /* Carry on */ in sw_read()
453 if (i == sw->length && !sw_parse(buf, sw)) { /* Parse data */ in sw_read()
485 if (!i && sw->type == SW_ID_3DP) { /* 3D Pro can be in analog mode */ in sw_read()
491 i = sw_read_packet(sw->gameport, buf, SW_LENGTH, 0); /* Read normal data packet */ in sw_read()
493 sw_read_packet(sw->gameport, buf, SW_LENGTH, i); /* Read ID packet, this initializes the stick */ in sw_read()
530 int i; in sw_print_packet() local
533 for (i = (((length + 3) >> 2) - 1); i >= 0; i--) in sw_print_packet()
534 printk("%x", (int)sw_get_bits(buf, i << 2, 4, bits)); in sw_print_packet()
545 int i; in sw_3dp_id() local
548 for (i = 0; i < 7; i++) /* ASCII PnP ID */ in sw_3dp_id()
549 pnp[i] = sw_get_bits(buf, 24+8*i, 8, 1); in sw_3dp_id()
551 for (i = 0; i < 8; i++) /* ASCII firmware revision */ in sw_3dp_id()
552 rev[i] = sw_get_bits(buf, 88+8*i, 8, 1); in sw_3dp_id()
573 int i; in sw_guess_mode() local
576 for (i = 1; i < len; i++) in sw_guess_mode()
577 xor |= (buf[i - 1] ^ buf[i]) & 6; in sw_guess_mode()
590 int i, j, k, l; in sw_connect() local
618 i = sw_read_packet(gameport, buf, SW_LENGTH, 0); /* Read normal packet */ in sw_connect()
620 dbg("Init 1: Mode %d. Length %d.", m , i); in sw_connect()
622 if (!i) { /* No data. 3d Pro analog mode? */ in sw_connect()
625 i = sw_read_packet(gameport, buf, SW_LENGTH, 0); /* Retry reading packet */ in sw_connect()
627 dbg("Init 1b: Length %d.", i); in sw_connect()
628 if (!i) { /* No data -> FAIL */ in sw_connect()
634 j = sw_read_packet(gameport, idbuf, SW_LENGTH, i); /* Read ID. This initializes the stick */ in sw_connect()
640 i = sw_read_packet(gameport, buf, SW_LENGTH, 0); /* Retry reading packet */ in sw_connect()
641 m |= sw_guess_mode(buf, i); in sw_connect()
642 dbg("Init 2b: Mode %d. Length %d.", m, i); in sw_connect()
643 if (!i) { in sw_connect()
648 j = sw_read_packet(gameport, idbuf, SW_LENGTH, i); /* Retry reading ID */ in sw_connect()
659 i = sw_read_packet(gameport, buf, SW_LENGTH, 0); /* Read data packet */ in sw_connect()
660 dbg("Init 3: Mode %d. Length %d. Last %d. Tries %d.", m, i, l, k); in sw_connect()
662 if (i > l) { /* Longer? As we can only lose bits, it makes */ in sw_connect()
664 l = i; /* than the previous one */ in sw_connect()
668 sw->length = i; in sw_connect()
671 dbg("Init 3a: Case %d.\n", i * m); in sw_connect()
673 switch (i * m) { in sw_connect()
717 sw_print_packet("Data", i * m, buf, m); in sw_connect()
724 sw_print_packet("Data", i * m, buf, m); in sw_connect()
730 k = i; in sw_connect()
733 for (i = 0; i < sw->number; i++) { in sw_connect()
738 snprintf(sw->phys[i], sizeof(sw->phys[i]), in sw_connect()
739 "%s/input%d", gameport->phys, i); in sw_connect()
741 sw->dev[i] = input_dev = input_allocate_device(); in sw_connect()
748 input_dev->phys = sw->phys[i]; in sw_connect()
781 err = input_register_device(sw->dev[i]); in sw_connect()
791 fail4: input_free_device(sw->dev[i]); in sw_connect()
792 fail3: while (--i >= 0) in sw_connect()
793 input_unregister_device(sw->dev[i]); in sw_connect()
803 int i; in sw_disconnect() local
805 for (i = 0; i < sw->number; i++) in sw_disconnect()
806 input_unregister_device(sw->dev[i]); in sw_disconnect()