aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/ibmasm/remote.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/ibmasm/remote.c')
-rw-r--r--drivers/misc/ibmasm/remote.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/misc/ibmasm/remote.c b/drivers/misc/ibmasm/remote.c
index 0f9e3aa34d07..a40fda6c402c 100644
--- a/drivers/misc/ibmasm/remote.c
+++ b/drivers/misc/ibmasm/remote.c
@@ -158,12 +158,10 @@ static void print_input(struct remote_input *input)
158 } 158 }
159} 159}
160 160
161static void send_mouse_event(struct input_dev *dev, struct pt_regs *regs, 161static void send_mouse_event(struct input_dev *dev, struct remote_input *input)
162 struct remote_input *input)
163{ 162{
164 unsigned char buttons = input->mouse_buttons; 163 unsigned char buttons = input->mouse_buttons;
165 164
166 input_regs(dev, regs);
167 input_report_abs(dev, ABS_X, input->data.mouse.x); 165 input_report_abs(dev, ABS_X, input->data.mouse.x);
168 input_report_abs(dev, ABS_Y, input->data.mouse.y); 166 input_report_abs(dev, ABS_Y, input->data.mouse.y);
169 input_report_key(dev, BTN_LEFT, buttons & REMOTE_BUTTON_LEFT); 167 input_report_key(dev, BTN_LEFT, buttons & REMOTE_BUTTON_LEFT);
@@ -172,7 +170,7 @@ static void send_mouse_event(struct input_dev *dev, struct pt_regs *regs,
172 input_sync(dev); 170 input_sync(dev);
173} 171}
174 172
175static void send_keyboard_event(struct input_dev *dev, struct pt_regs *regs, 173static void send_keyboard_event(struct input_dev *dev,
176 struct remote_input *input) 174 struct remote_input *input)
177{ 175{
178 unsigned int key; 176 unsigned int key;
@@ -182,13 +180,11 @@ static void send_keyboard_event(struct input_dev *dev, struct pt_regs *regs,
182 key = xlate_high[code & 0xff]; 180 key = xlate_high[code & 0xff];
183 else 181 else
184 key = xlate[code]; 182 key = xlate[code];
185 input_regs(dev, regs);
186 input_report_key(dev, key, (input->data.keyboard.key_down) ? 1 : 0); 183 input_report_key(dev, key, (input->data.keyboard.key_down) ? 1 : 0);
187 input_sync(dev); 184 input_sync(dev);
188} 185}
189 186
190void ibmasm_handle_mouse_interrupt(struct service_processor *sp, 187void ibmasm_handle_mouse_interrupt(struct service_processor *sp)
191 struct pt_regs *regs)
192{ 188{
193 unsigned long reader; 189 unsigned long reader;
194 unsigned long writer; 190 unsigned long writer;
@@ -203,9 +199,9 @@ void ibmasm_handle_mouse_interrupt(struct service_processor *sp,
203 199
204 print_input(&input); 200 print_input(&input);
205 if (input.type == INPUT_TYPE_MOUSE) { 201 if (input.type == INPUT_TYPE_MOUSE) {
206 send_mouse_event(sp->remote.mouse_dev, regs, &input); 202 send_mouse_event(sp->remote.mouse_dev, &input);
207 } else if (input.type == INPUT_TYPE_KEYBOARD) { 203 } else if (input.type == INPUT_TYPE_KEYBOARD) {
208 send_keyboard_event(sp->remote.keybd_dev, regs, &input); 204 send_keyboard_event(sp->remote.keybd_dev, &input);
209 } else 205 } else
210 break; 206 break;
211 207