Lines Matching refs:serio
281 struct serio *serio; member
438 static irqreturn_t lkkbd_interrupt(struct serio *serio, in lkkbd_interrupt() argument
441 struct lkkbd *lk = serio_get_drvdata(serio); in lkkbd_interrupt()
502 struct serio *serio = lk->serio; in lkkbd_toggle_leds() local
511 serio_write(serio, LK_CMD_LED_ON); in lkkbd_toggle_leds()
512 serio_write(serio, leds_on); in lkkbd_toggle_leds()
515 serio_write(serio, LK_CMD_LED_OFF); in lkkbd_toggle_leds()
516 serio_write(serio, leds_off); in lkkbd_toggle_leds()
522 struct serio *serio = lk->serio; in lkkbd_toggle_keyclick() local
526 serio_write(serio, LK_CMD_ENABLE_KEYCLICK); in lkkbd_toggle_keyclick()
527 serio_write(serio, volume_to_hw(lk->keyclick_volume)); in lkkbd_toggle_keyclick()
528 serio_write(serio, LK_CMD_ENABLE_CTRCLICK); in lkkbd_toggle_keyclick()
529 serio_write(serio, volume_to_hw(lk->ctrlclick_volume)); in lkkbd_toggle_keyclick()
532 serio_write(serio, LK_CMD_DISABLE_KEYCLICK); in lkkbd_toggle_keyclick()
533 serio_write(serio, LK_CMD_DISABLE_CTRCLICK); in lkkbd_toggle_keyclick()
559 serio_write(lk->serio, LK_CMD_SOUND_BELL); in lkkbd_event()
584 serio_write(lk->serio, LK_CMD_REQUEST_ID); in lkkbd_reinit()
587 serio_write(lk->serio, LK_CMD_SET_DEFAULTS); in lkkbd_reinit()
597 serio_write(lk->serio, LK_CMD_ENABLE_LK401); in lkkbd_reinit()
601 serio_write(lk->serio, in lkkbd_reinit()
605 serio_write(lk->serio, LK_CMD_ENABLE_BELL); in lkkbd_reinit()
606 serio_write(lk->serio, volume_to_hw(lk->bell_volume)); in lkkbd_reinit()
613 serio_write(lk->serio, LK_CMD_SOUND_BELL); in lkkbd_reinit()
619 static int lkkbd_connect(struct serio *serio, struct serio_driver *drv) in lkkbd_connect() argument
633 lk->serio = serio; in lkkbd_connect()
642 snprintf(lk->phys, sizeof(lk->phys), "%s/input0", serio->phys); in lkkbd_connect()
650 input_dev->dev.parent = &serio->dev; in lkkbd_connect()
674 serio_set_drvdata(serio, lk); in lkkbd_connect()
676 err = serio_open(serio, drv); in lkkbd_connect()
684 serio_write(lk->serio, LK_CMD_POWERCYCLE_RESET); in lkkbd_connect()
688 fail3: serio_close(serio); in lkkbd_connect()
689 fail2: serio_set_drvdata(serio, NULL); in lkkbd_connect()
698 static void lkkbd_disconnect(struct serio *serio) in lkkbd_disconnect() argument
700 struct lkkbd *lk = serio_get_drvdata(serio); in lkkbd_disconnect()
704 serio_close(serio); in lkkbd_disconnect()
705 serio_set_drvdata(serio, NULL); in lkkbd_disconnect()
720 MODULE_DEVICE_TABLE(serio, lkkbd_serio_ids);