mirror of https://gitee.com/openkylin/linux.git
Input: logips2pp - add sugnature 56 (Cordless MouseMan Wheel), cleanup
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
11ea3173d5
commit
e3882bb56e
|
@ -30,9 +30,9 @@
|
|||
#define PS2PP_NAV_BTN 0x20
|
||||
|
||||
struct ps2pp_info {
|
||||
const int model;
|
||||
unsigned const int kind;
|
||||
unsigned const int features;
|
||||
u8 model;
|
||||
u8 kind;
|
||||
u16 features;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -199,9 +199,9 @@ static void ps2pp_disconnect(struct psmouse *psmouse)
|
|||
device_remove_file(&psmouse->ps2dev.serio->dev, &psmouse_attr_smartscroll.dattr);
|
||||
}
|
||||
|
||||
static struct ps2pp_info *get_model_info(unsigned char model)
|
||||
static const struct ps2pp_info *get_model_info(unsigned char model)
|
||||
{
|
||||
static struct ps2pp_info ps2pp_list[] = {
|
||||
static const struct ps2pp_info ps2pp_list[] = {
|
||||
{ 12, 0, PS2PP_SIDE_BTN},
|
||||
{ 13, 0, 0 },
|
||||
{ 15, PS2PP_KIND_MX, /* MX1000 */
|
||||
|
@ -215,6 +215,7 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
|||
{ 51, 0, 0 },
|
||||
{ 52, PS2PP_KIND_WHEEL, PS2PP_SIDE_BTN | PS2PP_WHEEL },
|
||||
{ 53, PS2PP_KIND_WHEEL, PS2PP_WHEEL },
|
||||
{ 56, PS2PP_KIND_WHEEL, PS2PP_SIDE_BTN | PS2PP_WHEEL }, /* Cordless MouseMan Wheel */
|
||||
{ 61, PS2PP_KIND_MX, /* MX700 */
|
||||
PS2PP_WHEEL | PS2PP_SIDE_BTN | PS2PP_TASK_BTN |
|
||||
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
||||
|
@ -245,12 +246,11 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
|||
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
||||
{ 114, PS2PP_KIND_MX, /* MX310 */
|
||||
PS2PP_WHEEL | PS2PP_SIDE_BTN |
|
||||
PS2PP_TASK_BTN | PS2PP_EXTRA_BTN },
|
||||
{ }
|
||||
PS2PP_TASK_BTN | PS2PP_EXTRA_BTN }
|
||||
};
|
||||
int i;
|
||||
|
||||
for (i = 0; ps2pp_list[i].model; i++)
|
||||
for (i = 0; i < ARRAY_SIZE(ps2pp_list); i++)
|
||||
if (model == ps2pp_list[i].model)
|
||||
return &ps2pp_list[i];
|
||||
|
||||
|
@ -262,7 +262,8 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
|||
* Set up input device's properties based on the detected mouse model.
|
||||
*/
|
||||
|
||||
static void ps2pp_set_model_properties(struct psmouse *psmouse, struct ps2pp_info *model_info,
|
||||
static void ps2pp_set_model_properties(struct psmouse *psmouse,
|
||||
const struct ps2pp_info *model_info,
|
||||
int using_ps2pp)
|
||||
{
|
||||
struct input_dev *input_dev = psmouse->dev;
|
||||
|
@ -328,7 +329,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
|
|||
struct ps2dev *ps2dev = &psmouse->ps2dev;
|
||||
unsigned char param[4];
|
||||
unsigned char model, buttons;
|
||||
struct ps2pp_info *model_info;
|
||||
const struct ps2pp_info *model_info;
|
||||
int use_ps2pp = 0;
|
||||
|
||||
param[0] = 0;
|
||||
|
@ -350,7 +351,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
|
|||
/*
|
||||
* Do Logitech PS2++ / PS2T++ magic init.
|
||||
*/
|
||||
if (model == 97) { /* Touch Pad 3 */
|
||||
if (model_info->kind == PS2PP_KIND_TP3) { /* Touch Pad 3 */
|
||||
|
||||
/* Unprotect RAM */
|
||||
param[0] = 0x11; param[1] = 0x04; param[2] = 0x68;
|
||||
|
|
Loading…
Reference in New Issue