Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c

    r4c6fd56 rf2d88f3  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2010 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    8080int main(int argc, char *argv[])
    8181{
    82         loc_srv_t *srv;
    83 
    8482        printf("%s: S3C24xx on-chip UART driver\n", NAME);
    8583
    8684        async_set_fallback_port_handler(s3c24xx_uart_connection, uart);
    87         errno_t rc = loc_server_register(NAME, &srv);
     85        errno_t rc = loc_server_register(NAME);
    8886        if (rc != EOK) {
    8987                printf("%s: Unable to register server.\n", NAME);
     
    9290
    9391        uart = malloc(sizeof(s3c24xx_uart_t));
    94         if (uart == NULL) {
    95                 loc_server_unregister(srv);
    96                 return -1;
    97         }
    98 
    99         if (s3c24xx_uart_init(uart) != EOK) {
    100                 free(uart);
    101                 loc_server_unregister(srv);
    102                 return -1;
    103         }
    104 
    105         rc = loc_service_register(srv, NAMESPACE "/" NAME, &uart->service_id);
     92        if (uart == NULL)
     93                return -1;
     94
     95        if (s3c24xx_uart_init(uart) != EOK)
     96                return -1;
     97
     98        rc = loc_service_register(NAMESPACE "/" NAME, &uart->service_id);
    10699        if (rc != EOK) {
    107                 // XXX s3c24xx_uart_fini(uart);
    108                 free(uart);
    109                 loc_server_unregister(srv);
    110100                printf(NAME ": Unable to register device %s.\n",
    111101                    NAMESPACE "/" NAME);
Note: See TracChangeset for help on using the changeset viewer.