Lines Matching defs:iqs62x_keys

46 				  struct iqs62x_keys_private *iqs62x_keys)
60 iqs62x_keys->keycodemax = ret;
63 iqs62x_keys->keycode,
64 iqs62x_keys->keycodemax);
70 for (i = 0; i < ARRAY_SIZE(iqs62x_keys->switches); i++) {
82 iqs62x_keys->switches[i].code = val;
83 iqs62x_keys->switches[i].enabled = true;
86 iqs62x_keys->switches[i].flag = (i == IQS62X_SW_HALL_N ?
90 iqs62x_keys->switches[i].flag = (i == IQS62X_SW_HALL_N ?
98 static int iqs62x_keys_init(struct iqs62x_keys_private *iqs62x_keys)
100 struct iqs62x_core *iqs62x = iqs62x_keys->iqs62x;
116 for (i = 0; i < iqs62x_keys->keycodemax; i++) {
117 if (iqs62x_keys->keycode[i] == KEY_RESERVED)
136 for (i = 0; i < ARRAY_SIZE(iqs62x_keys->switches); i++) {
137 if (!(iqs62x_keys->switches[i].enabled))
140 flag = iqs62x_keys->switches[i].flag;
147 input_report_switch(iqs62x_keys->input,
148 iqs62x_keys->switches[i].code,
153 input_sync(iqs62x_keys->input);
163 if (iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_UP] != KEY_RESERVED)
166 if (iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_DN] != KEY_RESERVED)
174 iqs62x_keys->interval = val;
188 struct iqs62x_keys_private *iqs62x_keys;
191 iqs62x_keys = container_of(notifier, struct iqs62x_keys_private,
195 ret = iqs62x_keys_init(iqs62x_keys);
197 dev_err(iqs62x_keys->input->dev.parent,
205 for (i = 0; i < iqs62x_keys->keycodemax; i++) {
207 event_data->interval == iqs62x_keys->interval)
210 input_report_key(iqs62x_keys->input, iqs62x_keys->keycode[i],
214 for (i = 0; i < ARRAY_SIZE(iqs62x_keys->switches); i++)
215 if (iqs62x_keys->switches[i].enabled)
216 input_report_switch(iqs62x_keys->input,
217 iqs62x_keys->switches[i].code,
219 BIT(iqs62x_keys->switches[i].flag));
221 input_sync(iqs62x_keys->input);
223 if (event_data->interval == iqs62x_keys->interval)
231 input_report_key(iqs62x_keys->input,
232 iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_UP],
234 input_sync(iqs62x_keys->input);
236 input_report_key(iqs62x_keys->input,
237 iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_DN],
239 input_sync(iqs62x_keys->input);
242 iqs62x_keys->interval = event_data->interval;
250 struct iqs62x_keys_private *iqs62x_keys;
254 iqs62x_keys = devm_kzalloc(&pdev->dev, sizeof(*iqs62x_keys),
256 if (!iqs62x_keys)
259 platform_set_drvdata(pdev, iqs62x_keys);
261 ret = iqs62x_keys_parse_prop(pdev, iqs62x_keys);
269 input->keycodemax = iqs62x_keys->keycodemax;
270 input->keycode = iqs62x_keys->keycode;
271 input->keycodesize = sizeof(*iqs62x_keys->keycode);
276 for (i = 0; i < iqs62x_keys->keycodemax; i++)
277 if (iqs62x_keys->keycode[i] != KEY_RESERVED)
279 iqs62x_keys->keycode[i]);
281 for (i = 0; i < ARRAY_SIZE(iqs62x_keys->switches); i++)
282 if (iqs62x_keys->switches[i].enabled)
284 iqs62x_keys->switches[i].code);
286 iqs62x_keys->iqs62x = iqs62x;
287 iqs62x_keys->input = input;
289 ret = iqs62x_keys_init(iqs62x_keys);
295 ret = input_register_device(iqs62x_keys->input);
301 iqs62x_keys->notifier.notifier_call = iqs62x_keys_notifier;
302 ret = blocking_notifier_chain_register(&iqs62x_keys->iqs62x->nh,
303 &iqs62x_keys->notifier);
312 struct iqs62x_keys_private *iqs62x_keys = platform_get_drvdata(pdev);
315 ret = blocking_notifier_chain_unregister(&iqs62x_keys->iqs62x->nh,
316 &iqs62x_keys->notifier);