a3d
a3d->axes[0] = ((signed char)((data[11] << 6) | (data[12] << 3) | (data[13]))) + 128;
a3d->axes[1] = ((signed char)((data[14] << 6) | (data[15] << 3) | (data[16]))) + 128;
a3d->axes[2] = ((signed char)((data[17] << 6) | (data[18] << 3) | (data[19]))) + 128;
a3d->axes[3] = ((signed char)((data[20] << 6) | (data[21] << 3) | (data[22]))) + 128;
a3d->buttons = ((data[3] << 3) | data[4]) & 0xf;
struct a3d *a3d = gameport_get_drvdata(gameport);
a3d->reads++;
if (a3d_read_packet(a3d->gameport, a3d->length, data) != a3d->length ||
data[0] != a3d->mode || a3d_csum(data, a3d->length))
a3d->bads++;
a3d_read(a3d, data);
struct a3d *a3d = gameport->port_data;
axes[i] = (a3d->axes[i] < 254) ? a3d->axes[i] : -1;
*buttons = a3d->buttons;
struct a3d *a3d = gameport->port_data;
gameport_start_polling(a3d->gameport);
struct a3d *a3d = gameport->port_data;
gameport_stop_polling(a3d->gameport);
struct a3d *a3d = input_get_drvdata(dev);
gameport_start_polling(a3d->gameport);
struct a3d *a3d = input_get_drvdata(dev);
gameport_stop_polling(a3d->gameport);
struct a3d *a3d;
a3d = kzalloc_obj(*a3d);
if (!a3d || !input_dev) {
a3d->dev = input_dev;
a3d->gameport = gameport;
gameport_set_drvdata(gameport, a3d);
a3d->mode = data[0];
if (!a3d->mode || a3d->mode > 5) {
"(%s, id=%d), contact <vojtech@ucw.cz>\n", gameport->phys, a3d->mode);
snprintf(a3d->phys, sizeof(a3d->phys), "%s/input0", gameport->phys);
input_dev->name = a3d_names[a3d->mode];
input_dev->phys = a3d->phys;
input_dev->id.product = a3d->mode;
input_set_drvdata(input_dev, a3d);
if (a3d->mode == A3D_MODE_PXL) {
a3d->length = 33;
a3d_read(a3d, data);
a3d->length = 29;
a3d_read(a3d, data);
if (!(a3d->adc = adc = gameport_allocate_port()))
adc->port_data = a3d;
gameport_set_name(adc, a3d_names[a3d->mode]);
err = input_register_device(a3d->dev);
fail3: if (a3d->adc)
gameport_unregister_port(a3d->adc);
kfree(a3d);
struct a3d *a3d = gameport_get_drvdata(gameport);
input_unregister_device(a3d->dev);
if (a3d->adc)
gameport_unregister_port(a3d->adc);
kfree(a3d);
static void a3d_read(struct a3d *a3d, unsigned char *data)
struct input_dev *dev = a3d->dev;
switch (a3d->mode) {
a3dsrc_t a3d[NR_A3D];
a3dsrc_t *a3dsrc = &(v->a3d[source + (slice * 4)]);
a3dsrc_ZeroStateA3D(&v->a3d[0], v);
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
kcontrol = snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i]);
int a3d = 0;
a3d = vortex_adb_checkinout(vortex,
if (a3d < 0) {
vortex_Vort3D_InitializeSource(&vortex->a3d[a3d], en,
vortex_route(vortex, en, 0x11, ADB_SRCOUT(src[i]), ADB_A3DIN(a3d));