Lines Matching defs:ppkb

208 	struct pinephone_keyboard *ppkb = i2c_get_clientdata(client);
209 unsigned short *keymap = ppkb->input->keycode;
211 u8 *old_buf = ppkb->buf[!ppkb->buf_swap];
212 u8 *new_buf = ppkb->buf[ppkb->buf_swap];
223 crc = crc8(ppkb->crc_table, &new_buf[1], PPKB_COLS, CRC8_INIT_VALUE);
229 ppkb->buf_swap = !ppkb->buf_swap;
252 fn_state = value ? ppkb->fn_pressed : ppkb->fn_state[col] & mask;
254 ppkb->fn_state[col] ^= mask;
259 input_event(ppkb->input, EV_MSC, MSC_SCAN, code);
260 input_report_key(ppkb->input, keymap[code], value);
262 ppkb->fn_pressed = value;
265 input_sync(ppkb->input);
325 struct pinephone_keyboard *ppkb;
369 ppkb = devm_kzalloc(dev, sizeof(*ppkb), GFP_KERNEL);
370 if (!ppkb)
373 i2c_set_clientdata(client, ppkb);
377 ppkb->adapter.owner = THIS_MODULE;
378 ppkb->adapter.algo = &ppkb_adap_algo;
379 ppkb->adapter.algo_data = client;
380 ppkb->adapter.dev.parent = dev;
381 ppkb->adapter.dev.of_node = i2c_bus;
382 strscpy(ppkb->adapter.name, DRV_NAME, sizeof(ppkb->adapter.name));
384 error = devm_i2c_add_adapter(dev, &ppkb->adapter);
391 crc8_populate_msb(ppkb->crc_table, PPKB_CRC8_POLYNOMIAL);
393 ppkb->input = devm_input_allocate_device(dev);
394 if (!ppkb->input)
397 input_set_drvdata(ppkb->input, client);
399 ppkb->input->name = "PinePhone Keyboard";
400 ppkb->input->phys = DRV_NAME "/input0";
401 ppkb->input->id.bustype = BUS_I2C;
402 ppkb->input->open = ppkb_open;
403 ppkb->input->close = ppkb_close;
405 input_set_capability(ppkb->input, EV_MSC, MSC_SCAN);
406 __set_bit(EV_REP, ppkb->input->evbit);
410 ppkb->input);
416 error = input_register_device(ppkb->input);