fsia6b 65 drivers/input/joystick/fsia6b.c struct fsia6b *fsia6b = serio_get_drvdata(serio); fsia6b 70 drivers/input/joystick/fsia6b.c fsia6b->packet.ibuf = (data << 8) | ((fsia6b->packet.ibuf >> 8) & 0xFF); fsia6b 72 drivers/input/joystick/fsia6b.c switch (fsia6b->packet.state) { fsia6b 74 drivers/input/joystick/fsia6b.c if (fsia6b->packet.ibuf == 0x4020) fsia6b 75 drivers/input/joystick/fsia6b.c fsia6b->packet.state = COLLECT; fsia6b 79 drivers/input/joystick/fsia6b.c fsia6b->packet.state = PROCESS; fsia6b 83 drivers/input/joystick/fsia6b.c fsia6b->packet.channel[fsia6b->packet.offset] = fsia6b 84 drivers/input/joystick/fsia6b.c fsia6b->packet.ibuf; fsia6b 85 drivers/input/joystick/fsia6b.c fsia6b->packet.offset++; fsia6b 87 drivers/input/joystick/fsia6b.c if (fsia6b->packet.offset == IBUS_SERVO_COUNT) { fsia6b 88 drivers/input/joystick/fsia6b.c fsia6b->packet.offset = 0; fsia6b 89 drivers/input/joystick/fsia6b.c fsia6b->packet.state = SYNC; fsia6b 91 drivers/input/joystick/fsia6b.c input_report_abs(fsia6b->dev, fsia6b_axes[i], fsia6b 92 drivers/input/joystick/fsia6b.c fsia6b->packet.channel[i]); fsia6b 95 drivers/input/joystick/fsia6b.c if (fsia6b->packet.channel[i] > 1900) fsia6b 97 drivers/input/joystick/fsia6b.c else if (fsia6b->packet.channel[i] < 1100) fsia6b 102 drivers/input/joystick/fsia6b.c input_report_key(fsia6b->dev, fsia6b 107 drivers/input/joystick/fsia6b.c input_report_key(fsia6b->dev, fsia6b 112 drivers/input/joystick/fsia6b.c input_report_key(fsia6b->dev, fsia6b 117 drivers/input/joystick/fsia6b.c input_sync(fsia6b->dev); fsia6b 119 drivers/input/joystick/fsia6b.c fsia6b->packet.state = COLLECT; fsia6b 129 drivers/input/joystick/fsia6b.c struct fsia6b *fsia6b; fsia6b 135 drivers/input/joystick/fsia6b.c fsia6b = kzalloc(sizeof(*fsia6b), GFP_KERNEL); fsia6b 136 drivers/input/joystick/fsia6b.c if (!fsia6b) fsia6b 139 drivers/input/joystick/fsia6b.c fsia6b->packet.ibuf = 0; fsia6b 140 drivers/input/joystick/fsia6b.c fsia6b->packet.offset = 0; fsia6b 141 drivers/input/joystick/fsia6b.c fsia6b->packet.state = SYNC; fsia6b 143 drivers/input/joystick/fsia6b.c serio_set_drvdata(serio, fsia6b); fsia6b 150 drivers/input/joystick/fsia6b.c fsia6b->dev = input_dev; fsia6b 152 drivers/input/joystick/fsia6b.c snprintf(fsia6b->phys, sizeof(fsia6b->phys), "%s/input0", serio->phys); fsia6b 155 drivers/input/joystick/fsia6b.c input_dev->phys = fsia6b->phys; fsia6b 169 drivers/input/joystick/fsia6b.c dev_err(&fsia6b->dev->dev, fsia6b 185 drivers/input/joystick/fsia6b.c err = input_register_device(fsia6b->dev); fsia6b 194 drivers/input/joystick/fsia6b.c kfree(fsia6b); fsia6b 200 drivers/input/joystick/fsia6b.c struct fsia6b *fsia6b = serio_get_drvdata(serio); fsia6b 204 drivers/input/joystick/fsia6b.c input_unregister_device(fsia6b->dev); fsia6b 205 drivers/input/joystick/fsia6b.c kfree(fsia6b);