Lines Matching refs:serio
269 struct serio *serio; member
426 static irqreturn_t lkkbd_interrupt(struct serio *serio, in lkkbd_interrupt() argument
429 struct lkkbd *lk = serio_get_drvdata(serio); in lkkbd_interrupt()
490 struct serio *serio = lk->serio; in lkkbd_toggle_leds() local
499 serio_write(serio, LK_CMD_LED_ON); in lkkbd_toggle_leds()
500 serio_write(serio, leds_on); in lkkbd_toggle_leds()
503 serio_write(serio, LK_CMD_LED_OFF); in lkkbd_toggle_leds()
504 serio_write(serio, leds_off); in lkkbd_toggle_leds()
510 struct serio *serio = lk->serio; in lkkbd_toggle_keyclick() local
514 serio_write(serio, LK_CMD_ENABLE_KEYCLICK); in lkkbd_toggle_keyclick()
515 serio_write(serio, volume_to_hw(lk->keyclick_volume)); in lkkbd_toggle_keyclick()
516 serio_write(serio, LK_CMD_ENABLE_CTRCLICK); in lkkbd_toggle_keyclick()
517 serio_write(serio, volume_to_hw(lk->ctrlclick_volume)); in lkkbd_toggle_keyclick()
520 serio_write(serio, LK_CMD_DISABLE_KEYCLICK); in lkkbd_toggle_keyclick()
521 serio_write(serio, LK_CMD_DISABLE_CTRCLICK); in lkkbd_toggle_keyclick()
547 serio_write(lk->serio, LK_CMD_SOUND_BELL); in lkkbd_event()
572 serio_write(lk->serio, LK_CMD_REQUEST_ID); in lkkbd_reinit()
575 serio_write(lk->serio, LK_CMD_SET_DEFAULTS); in lkkbd_reinit()
585 serio_write(lk->serio, LK_CMD_ENABLE_LK401); in lkkbd_reinit()
589 serio_write(lk->serio, in lkkbd_reinit()
593 serio_write(lk->serio, LK_CMD_ENABLE_BELL); in lkkbd_reinit()
594 serio_write(lk->serio, volume_to_hw(lk->bell_volume)); in lkkbd_reinit()
601 serio_write(lk->serio, LK_CMD_SOUND_BELL); in lkkbd_reinit()
607 static int lkkbd_connect(struct serio *serio, struct serio_driver *drv) in lkkbd_connect() argument
621 lk->serio = serio; in lkkbd_connect()
630 snprintf(lk->phys, sizeof(lk->phys), "%s/input0", serio->phys); in lkkbd_connect()
638 input_dev->dev.parent = &serio->dev; in lkkbd_connect()
662 serio_set_drvdata(serio, lk); in lkkbd_connect()
664 err = serio_open(serio, drv); in lkkbd_connect()
672 serio_write(lk->serio, LK_CMD_POWERCYCLE_RESET); in lkkbd_connect()
676 fail3: serio_close(serio); in lkkbd_connect()
677 fail2: serio_set_drvdata(serio, NULL); in lkkbd_connect()
686 static void lkkbd_disconnect(struct serio *serio) in lkkbd_disconnect() argument
688 struct lkkbd *lk = serio_get_drvdata(serio); in lkkbd_disconnect()
692 serio_close(serio); in lkkbd_disconnect()
693 serio_set_drvdata(serio, NULL); in lkkbd_disconnect()
708 MODULE_DEVICE_TABLE(serio, lkkbd_serio_ids);