Lines Matching refs:driver

2 /* ePAPR hypervisor byte channel device driver
8 * This driver support three distinct interfaces, all of which are related to
11 * 1) An early-console (udbg) driver. This provides early console output
15 * 2) A normal console driver. Output is sent to the byte channel designated
16 * for stdout in the device tree. The console driver is for handling kernel
19 * 3) A tty driver, which is used to handle user-space input and output. The
336 pr_info("ehv-bc: registered console driver for byte channel %u\n",
537 * This is actually a contract between the driver and the tty layer outlining
538 * how much write room the driver can guarantee will be sent OR BUFFERED. This
539 * driver MUST honor the return value.
558 * so the driver should stop sending it data. The easiest way to do this is to
577 * tty layer's input buffers now have more room, so the driver can resume
599 * TTY driver operations
741 .driver = {
750 * ehv_bc_init - ePAPR hypervisor byte channel driver initialization
752 * This function is called when this driver is loaded.
756 struct tty_driver *driver;
761 pr_info("ePAPR hypervisor byte channel driver\n");
779 driver = tty_alloc_driver(count, TTY_DRIVER_REAL_RAW |
781 if (IS_ERR(driver)) {
782 ret = PTR_ERR(driver);
786 driver->driver_name = "ehv-bc";
787 driver->name = ehv_bc_console.name;
788 driver->type = TTY_DRIVER_TYPE_CONSOLE;
789 driver->subtype = SYSTEM_TYPE_CONSOLE;
790 driver->init_termios = tty_std_termios;
791 tty_set_operations(driver, &ehv_bc_ops);
793 ret = tty_register_driver(driver);
795 pr_err("ehv-bc: could not register tty driver (ret=%i)\n", ret);
799 ehv_bc_driver = driver;
803 pr_err("ehv-bc: could not register platform driver (ret=%i)\n",
812 tty_unregister_driver(driver);
814 tty_driver_kref_put(driver);