X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8fce4520de1f257819b16f9253fa28dcdae743f4..8b8f49b713d64065775fe538232f8639083601bd:/lunaix-os/hal/char/uart/16550_pmio.c diff --git a/lunaix-os/hal/char/uart/16550_pmio.c b/lunaix-os/hal/char/uart/16550_pmio.c index 4342d98..9910051 100644 --- a/lunaix-os/hal/char/uart/16550_pmio.c +++ b/lunaix-os/hal/char/uart/16550_pmio.c @@ -74,17 +74,18 @@ upiom_init(struct device_def* def) *((volatile int*)irqs[i]) = 0; } - uart_setup(uart); uart_enable_fifo(uart, UART_FIFO8); llist_append(&com_ports, &uart->local_ports); - struct serial_dev* sdev = serial_create(); + struct serial_dev* sdev = serial_create(&def->class); sdev->backend = uart; sdev->write = uart_general_tx; sdev->exec_cmd = uart_general_exec_cmd; uart->sdev = sdev; + uart_setup(uart); + uart_setie(uart); uart = NULL; } @@ -96,7 +97,7 @@ upiom_init(struct device_def* def) } static struct device_def uart_pmio_def = { - .class = DEVCLASS(DEVIF_SOC, DEVFN_CHAR, DEV_SERIAL, 0), + .class = DEVCLASS(DEVIF_SOC, DEVFN_CHAR, DEV_UART16550), .name = "16550 Generic UART (I/O)", .init = upiom_init };