mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits) Input: gpio_keys - add support for switches (EV_SW) Input: cobalt_btns - convert to use polldev library Input: add skeleton for simple polled devices Input: update some documentation Input: wistron - fix typo in keymap for Acer TM610 Input: add input_set_capability() helper Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs Input: i8042 - add Panasonic CF-29 to nomux list Input: lifebook - split into 2 devices Input: lifebook - add signature of Panasonic CF-29 Input: lifebook - activate 6-byte protocol on select models Input: lifebook - work properly on Panasonic CF-18 Input: cobalt buttons - separate device and driver registration Input: ati_remote - make button repeat sensitivity configurable Input: pxa27x - do not use deprecated SA_INTERRUPT flag Input: ucb1400 - make delays configurable Input: misc devices - switch to using input_dev->dev.parent Input: joysticks - switch to using input_dev->dev.parent Input: touchscreens - switch to using input_dev->dev.parent Input: mice - switch to using input_dev->dev.parent ... Fixed up conflicts with core device model removal of "struct subsystem" manually. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
commit
a3d52136ee
120 changed files with 4349 additions and 3265 deletions
|
@ -506,6 +506,7 @@ struct input_absinfo {
|
|||
#define KEY_VOICEMAIL 0x1ac
|
||||
#define KEY_ADDRESSBOOK 0x1ad
|
||||
#define KEY_MESSENGER 0x1ae
|
||||
#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */
|
||||
|
||||
#define KEY_DEL_EOL 0x1c0
|
||||
#define KEY_DEL_EOS 0x1c1
|
||||
|
@ -914,33 +915,6 @@ struct ff_effect {
|
|||
#define BIT(x) (1UL<<((x)%BITS_PER_LONG))
|
||||
#define LONG(x) ((x)/BITS_PER_LONG)
|
||||
|
||||
#define INPUT_KEYCODE(dev, scancode) ((dev->keycodesize == 1) ? ((u8*)dev->keycode)[scancode] : \
|
||||
((dev->keycodesize == 2) ? ((u16*)dev->keycode)[scancode] : (((u32*)dev->keycode)[scancode])))
|
||||
|
||||
#define SET_INPUT_KEYCODE(dev, scancode, val) \
|
||||
({ unsigned __old; \
|
||||
switch (dev->keycodesize) { \
|
||||
case 1: { \
|
||||
u8 *k = (u8 *)dev->keycode; \
|
||||
__old = k[scancode]; \
|
||||
k[scancode] = val; \
|
||||
break; \
|
||||
} \
|
||||
case 2: { \
|
||||
u16 *k = (u16 *)dev->keycode; \
|
||||
__old = k[scancode]; \
|
||||
k[scancode] = val; \
|
||||
break; \
|
||||
} \
|
||||
default: { \
|
||||
u32 *k = (u32 *)dev->keycode; \
|
||||
__old = k[scancode]; \
|
||||
k[scancode] = val; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
__old; })
|
||||
|
||||
struct input_dev {
|
||||
|
||||
void *private;
|
||||
|
@ -963,6 +937,8 @@ struct input_dev {
|
|||
unsigned int keycodemax;
|
||||
unsigned int keycodesize;
|
||||
void *keycode;
|
||||
int (*setkeycode)(struct input_dev *dev, int scancode, int keycode);
|
||||
int (*getkeycode)(struct input_dev *dev, int scancode, int *keycode);
|
||||
|
||||
struct ff_device *ff;
|
||||
|
||||
|
@ -997,6 +973,9 @@ struct input_dev {
|
|||
unsigned int users;
|
||||
|
||||
struct class_device cdev;
|
||||
union { /* temporarily so while we switching to struct device */
|
||||
struct device *parent;
|
||||
} dev;
|
||||
|
||||
struct list_head h_list;
|
||||
struct list_head node;
|
||||
|
@ -1075,7 +1054,7 @@ struct input_handler {
|
|||
void *private;
|
||||
|
||||
void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value);
|
||||
struct input_handle* (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id);
|
||||
int (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id);
|
||||
void (*disconnect)(struct input_handle *handle);
|
||||
void (*start)(struct input_handle *handle);
|
||||
|
||||
|
@ -1105,7 +1084,7 @@ struct input_handle {
|
|||
};
|
||||
|
||||
#define to_dev(n) container_of(n,struct input_dev,node)
|
||||
#define to_handler(n) container_of(n,struct input_handler,node);
|
||||
#define to_handler(n) container_of(n,struct input_handler,node)
|
||||
#define to_handle(n) container_of(n,struct input_handle,d_node)
|
||||
#define to_handle_h(n) container_of(n,struct input_handle,h_node)
|
||||
|
||||
|
@ -1122,12 +1101,25 @@ static inline void input_put_device(struct input_dev *dev)
|
|||
class_device_put(&dev->cdev);
|
||||
}
|
||||
|
||||
static inline void *input_get_drvdata(struct input_dev *dev)
|
||||
{
|
||||
return dev->private;
|
||||
}
|
||||
|
||||
static inline void input_set_drvdata(struct input_dev *dev, void *data)
|
||||
{
|
||||
dev->private = data;
|
||||
}
|
||||
|
||||
int input_register_device(struct input_dev *);
|
||||
void input_unregister_device(struct input_dev *);
|
||||
|
||||
int input_register_handler(struct input_handler *);
|
||||
void input_unregister_handler(struct input_handler *);
|
||||
|
||||
int input_register_handle(struct input_handle *);
|
||||
void input_unregister_handle(struct input_handle *);
|
||||
|
||||
int input_grab_device(struct input_handle *);
|
||||
void input_release_device(struct input_handle *);
|
||||
|
||||
|
@ -1169,6 +1161,8 @@ static inline void input_sync(struct input_dev *dev)
|
|||
input_event(dev, EV_SYN, SYN_REPORT, 0);
|
||||
}
|
||||
|
||||
void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code);
|
||||
|
||||
static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat)
|
||||
{
|
||||
dev->absmin[axis] = min;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue