Lines Matching defs:sensehat_joystick
23 struct sensehat_joystick {
36 struct sensehat_joystick *sensehat_joystick = cookie;
42 error = regmap_read(sensehat_joystick->regmap, JOYSTICK_SMB_REG, &keys);
44 dev_err(&sensehat_joystick->pdev->dev,
49 bitmap_xor(&changes, &curr_states, &sensehat_joystick->prev_states,
53 input_report_key(sensehat_joystick->keys_dev, keymap[i],
56 input_sync(sensehat_joystick->keys_dev);
57 sensehat_joystick->prev_states = keys;
63 struct sensehat_joystick *sensehat_joystick;
66 sensehat_joystick = devm_kzalloc(&pdev->dev, sizeof(*sensehat_joystick),
68 if (!sensehat_joystick)
71 sensehat_joystick->pdev = pdev;
73 sensehat_joystick->regmap = dev_get_regmap(pdev->dev.parent, NULL);
74 if (!sensehat_joystick->regmap) {
79 sensehat_joystick->keys_dev = devm_input_allocate_device(&pdev->dev);
80 if (!sensehat_joystick->keys_dev) {
85 sensehat_joystick->keys_dev->name = "Raspberry Pi Sense HAT Joystick";
86 sensehat_joystick->keys_dev->phys = "sensehat-joystick/input0";
87 sensehat_joystick->keys_dev->id.bustype = BUS_I2C;
89 __set_bit(EV_KEY, sensehat_joystick->keys_dev->evbit);
90 __set_bit(EV_REP, sensehat_joystick->keys_dev->evbit);
92 __set_bit(keymap[i], sensehat_joystick->keys_dev->keybit);
94 error = input_register_device(sensehat_joystick->keys_dev);
107 sensehat_joystick);