Commit 696fcc30 authored by Vojtech Pavlik's avatar Vojtech Pavlik

Minor fixes to make the whole thing compile on latest 2.5 and kbuild2

parent b8902f1f
...@@ -2,6 +2,24 @@ ...@@ -2,6 +2,24 @@
# Makefile for the input core drivers. # Makefile for the input core drivers.
# #
# I-Force may need both USB and RS-232
CONFIG_JOYSTICK_IFORCE := n
ifeq ($(CONFIG_JOYSTICK_IFORCE_232),y)
ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y)
CONFIG_JOYSTICK_IFORCE := y
endif
endif
ifeq ($(CONFIG_JOYSTICK_IFORCE_232),m)
CONFIG_JOYSTICK_IFORCE := m
endif
ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),m)
CONFIG_JOYSTICK_IFORCE := m
endif
# Each configuration option enables a list of files. # Each configuration option enables a list of files.
obj-$(CONFIG_JOYSTICK_A3D) += a3d.o obj-$(CONFIG_JOYSTICK_A3D) += a3d.o
...@@ -26,29 +44,7 @@ obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o ...@@ -26,29 +44,7 @@ obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o
obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o
obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o
# I-Force may need both USB and RS-232 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
CONFIG_JOYSTICK_IFORCE := n
ifeq ($(CONFIG_JOYSTICK_IFORCE_232),y)
ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y)
CONFIG_JOYSTICK_IFORCE := y
endif
endif
ifeq ($(CONFIG_JOYSTICK_IFORCE_232),m)
CONFIG_JOYSTICK_IFORCE := m
endif
ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),m)
CONFIG_JOYSTICK_IFORCE := m
endif
subdir-$(CONFIG_JOYSTICK_IFORCE) += iforce
ifeq ($(CONFIG_JOYSTICK_IFORCE),y)
obj-y += iforce/iforce-drv.o
endif
# The global Rules.make. # The global Rules.make.
......
...@@ -426,10 +426,10 @@ static void adi_init_input(struct adi *adi, struct adi_port *port, int half) ...@@ -426,10 +426,10 @@ static void adi_init_input(struct adi *adi, struct adi_port *port, int half)
adi->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); adi->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
for (i = 0; i < adi->axes10 + adi->axes8 + (adi->hats + (adi->pad != -1)) * 2; i++) for (i = 0; i < adi->axes10 + adi->axes8 + (adi->hats + (adi->pad != -1)) * 2; i++)
set_bit(adi->abs[i], &adi->dev.absbit); set_bit(adi->abs[i], adi->dev.absbit);
for (i = 0; i < adi->buttons; i++) for (i = 0; i < adi->buttons; i++)
set_bit(adi->key[i], &adi->dev.keybit); set_bit(adi->key[i], adi->dev.keybit);
} }
static void adi_init_center(struct adi *adi) static void adi_init_center(struct adi *adi)
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# Makefile for the I-Force driver # Makefile for the I-Force driver
# #
O_TARGET := iforce-drv.o
# I-Force may need both USB and RS-232 # I-Force may need both USB and RS-232
CONFIG_JOYSTICK_IFORCE := n CONFIG_JOYSTICK_IFORCE := n
...@@ -24,8 +22,12 @@ endif ...@@ -24,8 +22,12 @@ endif
obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o
# The global Rules.make.
include $(TOPDIR)/Rules.make include $(TOPDIR)/Rules.make
# iforce.o is a multipart module.
IFORCEOBJS = iforce-ff.o iforce-main.o iforce-packets.o IFORCEOBJS = iforce-ff.o iforce-main.o iforce-packets.o
ifneq ($(CONFIG_JOYSTICK_IFORCE_232),) ifneq ($(CONFIG_JOYSTICK_IFORCE_232),)
...@@ -38,4 +40,3 @@ endif ...@@ -38,4 +40,3 @@ endif
iforce.o: $(IFORCEOBJS) iforce.o: $(IFORCEOBJS)
$(LD) -i $(IFORCEOBJS) -o $@ $(LD) -i $(IFORCEOBJS) -o $@
...@@ -156,7 +156,7 @@ static void magellan_connect(struct serio *serio, struct serio_dev *dev) ...@@ -156,7 +156,7 @@ static void magellan_connect(struct serio *serio, struct serio_dev *dev)
magellan->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); magellan->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
for (i = 0; i < 9; i++) for (i = 0; i < 9; i++)
set_bit(magellan_buttons[i], &magellan->dev.keybit); set_bit(magellan_buttons[i], magellan->dev.keybit);
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
t = magellan_axes[i]; t = magellan_axes[i];
......
...@@ -2,10 +2,6 @@ ...@@ -2,10 +2,6 @@
# Makefile for the input core drivers. # Makefile for the input core drivers.
# #
# The target object and module list name.
O_TARGET := keybdrv.o
# Each configuration option enables a list of files. # Each configuration option enables a list of files.
obj-$(CONFIG_KEYBOARD_ATKBD) += atkbd.o obj-$(CONFIG_KEYBOARD_ATKBD) += atkbd.o
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/serio.h> #include <linux/serio.h>
#include <linux/tqueue.h>
MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>"); MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
MODULE_DESCRIPTION("AT and PS/2 keyboard driver"); MODULE_DESCRIPTION("AT and PS/2 keyboard driver");
......
...@@ -2,10 +2,6 @@ ...@@ -2,10 +2,6 @@
# Makefile for the mouse drivers. # Makefile for the mouse drivers.
# #
# The target object and module list name.
O_TARGET := mousedrv.o
# Each configuration option enables a list of files. # Each configuration option enables a list of files.
obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o
......
...@@ -253,11 +253,11 @@ static void sermouse_connect(struct serio *serio, struct serio_dev *dev) ...@@ -253,11 +253,11 @@ static void sermouse_connect(struct serio *serio, struct serio_dev *dev)
sermouse->type = serio->type & SERIO_PROTO; sermouse->type = serio->type & SERIO_PROTO;
c = (serio->type & SERIO_EXTRA) >> 16; c = (serio->type & SERIO_EXTRA) >> 16;
if (c & 0x01) set_bit(BTN_MIDDLE, &sermouse->dev.keybit); if (c & 0x01) set_bit(BTN_MIDDLE, sermouse->dev.keybit);
if (c & 0x02) set_bit(BTN_SIDE, &sermouse->dev.keybit); if (c & 0x02) set_bit(BTN_SIDE, sermouse->dev.keybit);
if (c & 0x04) set_bit(BTN_EXTRA, &sermouse->dev.keybit); if (c & 0x04) set_bit(BTN_EXTRA, sermouse->dev.keybit);
if (c & 0x10) set_bit(REL_WHEEL, &sermouse->dev.relbit); if (c & 0x10) set_bit(REL_WHEEL, sermouse->dev.relbit);
if (c & 0x20) set_bit(REL_HWHEEL, &sermouse->dev.relbit); if (c & 0x20) set_bit(REL_HWHEEL, sermouse->dev.relbit);
sprintf(sermouse->phys, "%s/input0", serio->phys); sprintf(sermouse->phys, "%s/input0", serio->phys);
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
tristate 'Serial i/o support' CONFIG_SERIO tristate 'Serial i/o support' CONFIG_SERIO
dep_tristate ' i8042 PC Keyboard controller' CONFIG_SERIO_I8042 $CONFIG_SERIO $CONFIG_ISA dep_tristate ' i8042 PC Keyboard controller' CONFIG_SERIO_I8042 $CONFIG_SERIO $CONFIG_ISA
if [ "$CONFIG_INPUT_I8042" != "n" ]; then if [ "$CONFIG_SERIO_I8042" != "n" ]; then
hex ' Register Base Address' CONFIG_I8042_REG_BASE 60 hex ' Register Base Address' CONFIG_I8042_REG_BASE 60
int ' PS/2 Keyboard IRQ' CONFIG_I8042_KBD_IRQ 1 int ' PS/2 Keyboard IRQ' CONFIG_I8042_KBD_IRQ 1
int ' PS/2 AUX IRQ' CONFIG_I8042_AUX_IRQ 12 int ' PS/2 AUX IRQ' CONFIG_I8042_AUX_IRQ 12
......
...@@ -2,10 +2,6 @@ ...@@ -2,10 +2,6 @@
# Makefile for the mouse drivers. # Makefile for the mouse drivers.
# #
# The target object and module list name.
O_TARGET := tsdrv.o
# Each configuration option enables a list of files. # Each configuration option enables a list of files.
obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o
......
...@@ -296,9 +296,8 @@ aiptek_probe(struct usb_device *dev, unsigned int ifnum, ...@@ -296,9 +296,8 @@ aiptek_probe(struct usb_device *dev, unsigned int ifnum,
input_register_device(&aiptek->dev); input_register_device(&aiptek->dev);
printk(KERN_INFO "input%d: %s on usb%d:%d.%d\n", printk(KERN_INFO "input: %s on usb%d:%d.%d\n",
aiptek->dev.number, aiptek->features->name, dev->bus->busnum, aiptek->features->name, dev->bus->busnum, dev->devnum, ifnum);
dev->devnum, ifnum);
return aiptek; return aiptek;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#define _INPUT_H #define _INPUT_H
/* /*
* $Id: input.h,v 1.57 2002/01/02 11:59:56 vojtech Exp $ * $Id: input.h,v 1.68 2002/05/31 10:35:49 fsirl Exp $
* *
* Copyright (c) 1999-2001 Vojtech Pavlik * Copyright (c) 1999-2001 Vojtech Pavlik
*/ */
...@@ -322,12 +322,13 @@ struct input_event { ...@@ -322,12 +322,13 @@ struct input_event {
#define KEY_FINANCE 219 #define KEY_FINANCE 219
#define KEY_SPORT 220 #define KEY_SPORT 220
#define KEY_SHOP 221 #define KEY_SHOP 221
#define KEY_ALTERASE 222
#define KEY_UNKNOWN 240 #define KEY_CANCEL 223
#define KEY_BRIGHTNESSDOWN 224 #define KEY_BRIGHTNESSDOWN 224
#define KEY_BRIGHTNESSUP 225 #define KEY_BRIGHTNESSUP 225
#define KEY_UNKNOWN 240
#define BTN_MISC 0x100 #define BTN_MISC 0x100
#define BTN_0 0x100 #define BTN_0 0x100
#define BTN_1 0x101 #define BTN_1 0x101
...@@ -394,6 +395,10 @@ struct input_event { ...@@ -394,6 +395,10 @@ struct input_event {
#define BTN_STYLUS 0x14b #define BTN_STYLUS 0x14b
#define BTN_STYLUS2 0x14c #define BTN_STYLUS2 0x14c
#define BTN_WHEEL 0x150
#define BTN_GEAR_DOWN 0x150
#define BTN_GEAR_UP 0x151
#define KEY_MAX 0x1ff #define KEY_MAX 0x1ff
/* /*
...@@ -514,10 +519,6 @@ struct input_event { ...@@ -514,10 +519,6 @@ struct input_event {
* Structures used in ioctls to upload effects to a device * Structures used in ioctls to upload effects to a device
* The first structures are not passed directly by using ioctls. * The first structures are not passed directly by using ioctls.
* They are sub-structures of the actually sent structure (called ff_effect) * They are sub-structures of the actually sent structure (called ff_effect)
*
* Ranges:
* 0 <= __u16 <= 65535
* -32767 <= __s16 <= +32767 ! Not -32768 for lower bound !
*/ */
struct ff_replay { struct ff_replay {
...@@ -530,7 +531,7 @@ struct ff_trigger { ...@@ -530,7 +531,7 @@ struct ff_trigger {
__u16 interval; /* Time to wait before an effect can be re-triggered (ms) */ __u16 interval; /* Time to wait before an effect can be re-triggered (ms) */
}; };
struct ff_shape { struct ff_envelope {
__u16 attack_length; /* Duration of attack (ms) */ __u16 attack_length; /* Duration of attack (ms) */
__u16 attack_level; /* Level at beginning of attack */ __u16 attack_level; /* Level at beginning of attack */
__u16 fade_length; /* Duration of fade (ms) */ __u16 fade_length; /* Duration of fade (ms) */
...@@ -540,19 +541,18 @@ struct ff_shape { ...@@ -540,19 +541,18 @@ struct ff_shape {
/* FF_CONSTANT */ /* FF_CONSTANT */
struct ff_constant_effect { struct ff_constant_effect {
__s16 level; /* Strength of effect. Negative values are OK */ __s16 level; /* Strength of effect. Negative values are OK */
struct ff_shape shape; struct ff_envelope envelope;
}; };
/* FF_SPRING of FF_FRICTION */ /* FF_RAMP */
struct ff_interactive_effect { struct ff_ramp_effect {
/* Axis along which effect must be created. If null, the field named direction __s16 start_level;
* is used __s16 end_level;
* It is a bit array (ie to enable axes X and Y, use BIT(ABS_X) | BIT(ABS_Y) struct ff_envelope envelope;
* It overrides the value of ff_effect::direction, which is used only if };
* axis == 0
*/
__u16 axis;
/* FF_SPRING of FF_FRICTION */
struct ff_condition_effect {
__u16 right_saturation; /* Max level when joystick is on the right */ __u16 right_saturation; /* Max level when joystick is on the right */
__u16 left_saturation; /* Max level when joystick in on the left */ __u16 left_saturation; /* Max level when joystick in on the left */
...@@ -561,7 +561,7 @@ struct ff_interactive_effect { ...@@ -561,7 +561,7 @@ struct ff_interactive_effect {
__s16 left_coeff; /* Same for left side */ __s16 left_coeff; /* Same for left side */
__u16 deadband; /* Size of area where no force is produced */ __u16 deadband; /* Size of area where no force is produced */
__s16 center; /* Position of dead dead zone */ __s16 center; /* Position of dead zone */
}; };
...@@ -573,7 +573,23 @@ struct ff_periodic_effect { ...@@ -573,7 +573,23 @@ struct ff_periodic_effect {
__s16 offset; /* Mean value of wave (roughly) */ __s16 offset; /* Mean value of wave (roughly) */
__u16 phase; /* 'Horizontal' shift */ __u16 phase; /* 'Horizontal' shift */
struct ff_shape shape; struct ff_envelope envelope;
/* Only used if waveform == FF_CUSTOM */
__u32 custom_len; /* Number of samples */
__s16 *custom_data; /* Buffer of samples */
/* Note: the data pointed by custom_data is copied by the driver. You can
* therefore dispose of the memory after the upload/update */
};
/* FF_RUMBLE */
/* Some rumble pads have two motors of different weight.
strong_magnitude represents the magnitude of the vibration generated
by the heavy motor.
*/
struct ff_rumble_effect {
__u16 strong_magnitude; /* Magnitude of the heavy motor */
__u16 weak_magnitude; /* Magnitude of the light one */
}; };
/* /*
...@@ -598,26 +614,13 @@ struct ff_effect { ...@@ -598,26 +614,13 @@ struct ff_effect {
union { union {
struct ff_constant_effect constant; struct ff_constant_effect constant;
struct ff_ramp_effect ramp;
struct ff_periodic_effect periodic; struct ff_periodic_effect periodic;
struct ff_interactive_effect interactive; struct ff_condition_effect condition[2]; /* One for each axis */
struct ff_rumble_effect rumble;
} u; } u;
}; };
/*
* Buttons that can trigger effects. Use for example FF_BTN(BTN_TRIGGER) to
* access the bitmap.
*/
#define FF_BTN(x) ((x) - BTN_MISC + FF_BTN_OFFSET)
#define FF_BTN_OFFSET 0x00
/*
* Force feedback axis mappings. Use FF_ABS() to access the bitmap.
*/
#define FF_ABS(x) ((x) + FF_ABS_OFFSET)
#define FF_ABS_OFFSET 0x40
/* /*
* Force feedback effect types * Force feedback effect types
*/ */
...@@ -627,6 +630,9 @@ struct ff_effect { ...@@ -627,6 +630,9 @@ struct ff_effect {
#define FF_CONSTANT 0x52 #define FF_CONSTANT 0x52
#define FF_SPRING 0x53 #define FF_SPRING 0x53
#define FF_FRICTION 0x54 #define FF_FRICTION 0x54
#define FF_DAMPER 0x55
#define FF_INERTIA 0x56
#define FF_RAMP 0x57
/* /*
* Force feedback periodic effect types * Force feedback periodic effect types
...@@ -668,8 +674,6 @@ struct input_dev { ...@@ -668,8 +674,6 @@ struct input_dev {
char *name; char *name;
char *phys; char *phys;
char *uniq; char *uniq;
int number;
unsigned short idbus; unsigned short idbus;
unsigned short idvendor; unsigned short idvendor;
unsigned short idproduct; unsigned short idproduct;
...@@ -707,8 +711,6 @@ struct input_dev { ...@@ -707,8 +711,6 @@ struct input_dev {
int absfuzz[ABS_MAX + 1]; int absfuzz[ABS_MAX + 1];
int absflat[ABS_MAX + 1]; int absflat[ABS_MAX + 1];
int only_one_writer;
int (*open)(struct input_dev *dev); int (*open)(struct input_dev *dev);
void (*close)(struct input_dev *dev); void (*close)(struct input_dev *dev);
int (*accept)(struct input_dev *dev, struct file *file); int (*accept)(struct input_dev *dev, struct file *file);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment