aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-lg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/hid-lg.c')
-rw-r--r--drivers/hid/hid-lg.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c
index 0f870a3243ed..4a489785647a 100644
--- a/drivers/hid/hid-lg.c
+++ b/drivers/hid/hid-lg.c
@@ -89,6 +89,22 @@ static int lg_ultrax_remote_mapping(struct hid_input *hi,
89 return 1; 89 return 1;
90} 90}
91 91
92static int lg_dinovo_mapping(struct hid_input *hi, struct hid_usage *usage,
93 unsigned long **bit, int *max)
94{
95 if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR)
96 return 0;
97
98 switch (usage->hid & HID_USAGE) {
99
100 case 0x00d: lg_map_key_clear(KEY_MEDIA); break;
101 default:
102 return 0;
103
104 }
105 return 1;
106}
107
92static int lg_wireless_mapping(struct hid_input *hi, struct hid_usage *usage, 108static int lg_wireless_mapping(struct hid_input *hi, struct hid_usage *usage,
93 unsigned long **bit, int *max) 109 unsigned long **bit, int *max)
94{ 110{
@@ -164,6 +180,10 @@ static int lg_input_mapping(struct hid_device *hdev, struct hid_input *hi,
164 lg_ultrax_remote_mapping(hi, usage, bit, max)) 180 lg_ultrax_remote_mapping(hi, usage, bit, max))
165 return 1; 181 return 1;
166 182
183 if (hdev->product == USB_DEVICE_ID_DINOVO_MINI &&
184 lg_dinovo_mapping(hi, usage, bit, max))
185 return 1;
186
167 if ((quirks & LG_WIRELESS) && lg_wireless_mapping(hi, usage, bit, max)) 187 if ((quirks & LG_WIRELESS) && lg_wireless_mapping(hi, usage, bit, max))
168 return 1; 188 return 1;
169 189