Lines Matching refs:appleir

107 struct appleir {
151 static void key_up(struct hid_device *hid, struct appleir *appleir, int key)
153 input_report_key(appleir->input_dev, key, 0);
154 input_sync(appleir->input_dev);
157 static void key_down(struct hid_device *hid, struct appleir *appleir, int key)
159 input_report_key(appleir->input_dev, key, 1);
160 input_sync(appleir->input_dev);
163 static void battery_flat(struct appleir *appleir)
165 dev_err(&appleir->input_dev->dev, "possible flat battery?\n");
170 struct appleir *appleir = from_timer(appleir, t, key_up_timer);
171 struct hid_device *hid = appleir->hid;
174 spin_lock_irqsave(&appleir->lock, flags);
175 if (appleir->current_key) {
176 key_up(hid, appleir, appleir->current_key);
177 appleir->current_key = 0;
179 spin_unlock_irqrestore(&appleir->lock, flags);
185 struct appleir *appleir = hid_get_drvdata(hid);
197 spin_lock_irqsave(&appleir->lock, flags);
202 if (appleir->current_key)
203 key_up(hid, appleir, appleir->current_key);
206 if (appleir->prev_key_idx > 0)
207 index = appleir->prev_key_idx;
212 appleir->current_key = appleir->keymap[index];
214 key_down(hid, appleir, appleir->current_key);
220 mod_timer(&appleir->key_up_timer, jiffies + HZ / 8);
221 appleir->prev_key_idx = 0;
224 appleir->prev_key_idx = -index;
225 spin_unlock_irqrestore(&appleir->lock, flags);
229 appleir->prev_key_idx = 0;
232 key_down(hid, appleir, appleir->current_key);
237 mod_timer(&appleir->key_up_timer, jiffies + HZ / 8);
242 battery_flat(appleir);
255 struct appleir *appleir = hid_get_drvdata(hid);
258 appleir->input_dev = input_dev;
260 input_dev->keycode = appleir->keymap;
262 input_dev->keycodemax = ARRAY_SIZE(appleir->keymap);
266 memcpy(appleir->keymap, appleir_key_table, sizeof(appleir->keymap));
268 set_bit(appleir->keymap[i], input_dev->keybit);
284 struct appleir *appleir;
286 appleir = devm_kzalloc(&hid->dev, sizeof(struct appleir), GFP_KERNEL);
287 if (!appleir)
290 appleir->hid = hid;
295 spin_lock_init(&appleir->lock);
296 timer_setup(&appleir->key_up_timer, key_up_tick, 0);
298 hid_set_drvdata(hid, appleir);
314 devm_kfree(&hid->dev, appleir);
320 struct appleir *appleir = hid_get_drvdata(hid);
322 del_timer_sync(&appleir->key_up_timer);
336 .name = "appleir",