• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/input/joystick/

Lines Matching defs:a3d

55 struct a3d {
114 static void a3d_read(struct a3d *a3d, unsigned char *data)
116 struct input_dev *dev = a3d->dev;
118 switch (a3d->mode) {
133 a3d->axes[0] = ((signed char)((data[11] << 6) | (data[12] << 3) | (data[13]))) + 128;
134 a3d->axes[1] = ((signed char)((data[14] << 6) | (data[15] << 3) | (data[16]))) + 128;
135 a3d->axes[2] = ((signed char)((data[17] << 6) | (data[18] << 3) | (data[19]))) + 128;
136 a3d->axes[3] = ((signed char)((data[20] << 6) | (data[21] << 3) | (data[22]))) + 128;
138 a3d->buttons = ((data[3] << 3) | data[4]) & 0xf;
181 struct a3d *a3d = gameport_get_drvdata(gameport);
184 a3d->reads++;
185 if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length ||
186 data[0] != a3d->mode || a3d_csum(data, a3d->length))
187 a3d->bads++;
189 a3d_read(a3d, data);
200 struct a3d *a3d = gameport->port_data;
204 axes[i] = (a3d->axes[i] < 254) ? a3d->axes[i] : -1;
205 *buttons = a3d->buttons;
216 struct a3d *a3d = gameport->port_data;
221 gameport_start_polling(a3d->gameport);
231 struct a3d *a3d = gameport->port_data;
233 gameport_stop_polling(a3d->gameport);
242 struct a3d *a3d = input_get_drvdata(dev);
244 gameport_start_polling(a3d->gameport);
254 struct a3d *a3d = input_get_drvdata(dev);
256 gameport_stop_polling(a3d->gameport);
265 struct a3d *a3d;
272 a3d = kzalloc(sizeof(struct a3d), GFP_KERNEL);
274 if (!a3d || !input_dev) {
279 a3d->dev = input_dev;
280 a3d->gameport = gameport;
282 gameport_set_drvdata(gameport, a3d);
295 a3d->mode = data[0];
297 if (!a3d->mode || a3d->mode > 5) {
298 printk(KERN_WARNING "a3d.c: Unknown A3D device detected "
299 "(%s, id=%d), contact <vojtech@ucw.cz>\n", gameport->phys, a3d->mode);
307 snprintf(a3d->phys, sizeof(a3d->phys), "%s/input0", gameport->phys);
309 input_dev->name = a3d_names[a3d->mode];
310 input_dev->phys = a3d->phys;
313 input_dev->id.product = a3d->mode;
319 input_set_drvdata(input_dev, a3d);
321 if (a3d->mode == A3D_MODE_PXL) {
325 a3d->length = 33;
341 a3d_read(a3d, data);
353 a3d->length = 29;
360 a3d_read(a3d, data);
362 if (!(a3d->adc = adc = gameport_allocate_port()))
363 printk(KERN_ERR "a3d: Not enough memory for ADC port\n");
365 adc->port_data = a3d;
371 gameport_set_name(adc, a3d_names[a3d->mode]);
379 err = input_register_device(a3d->dev);
385 fail3: if (a3d->adc)
386 gameport_unregister_port(a3d->adc);
390 kfree(a3d);
396 struct a3d *a3d = gameport_get_drvdata(gameport);
398 input_unregister_device(a3d->dev);
399 if (a3d->adc)
400 gameport_unregister_port(a3d->adc);
403 kfree(a3d);