Lines Matching refs:guillemot
50 struct guillemot {
107 struct guillemot *guillemot = gameport_get_drvdata(gameport);
108 struct input_dev *dev = guillemot->dev;
112 guillemot->reads++;
114 if (guillemot_read_packet(guillemot->gameport, data) != GUILLEMOT_MAX_LENGTH * 8 ||
116 guillemot->bads++;
119 for (i = 0; i < 6 && guillemot->type->abs[i] >= 0; i++)
120 input_report_abs(dev, guillemot->type->abs[i], data[i + 5]);
122 if (guillemot->type->hat) {
127 for (i = 0; i < 16 && guillemot->type->btn[i] >= 0; i++)
128 input_report_key(dev, guillemot->type->btn[i], (data[2 + (i >> 3)] >> (i & 7)) & 1);
140 struct guillemot *guillemot = input_get_drvdata(dev);
142 gameport_start_polling(guillemot->gameport);
152 struct guillemot *guillemot = input_get_drvdata(dev);
154 gameport_stop_polling(guillemot->gameport);
163 struct guillemot *guillemot;
169 guillemot = kzalloc(sizeof(struct guillemot), GFP_KERNEL);
171 if (!guillemot || !input_dev) {
176 guillemot->gameport = gameport;
177 guillemot->dev = input_dev;
179 gameport_set_drvdata(gameport, guillemot);
197 printk(KERN_WARNING "guillemot.c: Unknown joystick on %s. [ %02x%02x:%04x, ver %d.%02d ]\n",
206 snprintf(guillemot->phys, sizeof(guillemot->phys), "%s/input0", gameport->phys);
207 guillemot->type = guillemot_type + i;
210 input_dev->phys = guillemot->phys;
217 input_set_drvdata(input_dev, guillemot);
224 for (i = 0; (t = guillemot->type->abs[i]) >= 0; i++)
227 if (guillemot->type->hat) {
232 for (i = 0; (t = guillemot->type->btn[i]) >= 0; i++)
235 err = input_register_device(guillemot->dev);
244 kfree(guillemot);
250 struct guillemot *guillemot = gameport_get_drvdata(gameport);
252 printk(KERN_INFO "guillemot.c: Failed %d reads out of %d on %s\n", guillemot->reads, guillemot->bads, guillemot->phys);
253 input_unregister_device(guillemot->dev);
255 kfree(guillemot);
260 .name = "guillemot",