Changeset 0c3beeb in mainline


Ignore:
Timestamp:
2011-02-01T11:37:46Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
993a1e1, ec293a8
Parents:
a09128c (diff), 0b31409 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge: unified logging (ticket 52)

Location:
uspace
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/vhc/Makefile

    ra09128c r0c3beeb  
    4444        conndev.c \
    4545        connhost.c \
    46         debug.c \
    4746        devices.c \
    4847        hc.c \
  • uspace/drv/vhc/conndev.c

    ra09128c r0c3beeb  
    9999                int rc = get_device_name(callback, devname, DEVICE_NAME_MAXLENGTH);
    100100
    101                 dprintf(0, "virtual device connected (name: %s, id: %x)",
     101                usb_log_info("New virtual device `%s' (id = %x).\n",
    102102                    rc == EOK ? devname : "<unknown>", dev->id);
    103103
     
    122122        }
    123123
    124         dprintf(0, "virtual device disconnected (id: %x)", dev->id);
     124        usb_log_info("Virtual device disconnected (id = %x).\n", dev->id);
    125125        virtdev_destroy_device(dev);
    126126}
  • uspace/drv/vhc/connhost.c

    ra09128c r0c3beeb  
    9393    usbhc_iface_transfer_out_callback_t callback, void *arg)
    9494{
    95         dprintf(3, "transfer OUT [%d.%d (%s); %zu]",
     95        usb_log_debug2("Transfer OUT [%d.%d (%s); %zu].\n",
    9696            target.address, target.endpoint,
    9797            usb_str_transfer_type(transfer_type),
     
    113113    usbhc_iface_transfer_out_callback_t callback, void *arg)
    114114{
    115         dprintf(3, "transfer SETUP [%d.%d (%s); %zu]",
     115        usb_log_debug2("Transfer SETUP [%d.%d (%s); %zu].\n",
    116116            target.address, target.endpoint,
    117117            usb_str_transfer_type(transfer_type),
     
    133133    usbhc_iface_transfer_in_callback_t callback, void *arg)
    134134{
    135         dprintf(3, "transfer IN [%d.%d (%s); %zu]",
     135        usb_log_debug2("Transfer IN [%d.%d (%s); %zu].\n",
    136136            target.address, target.endpoint,
    137137            usb_str_transfer_type(transfer_type),
  • uspace/drv/vhc/devices.c

    ra09128c r0c3beeb  
    196196        if (virtual_hub_device.address == transaction->target.address) {
    197197                size_t tmp;
    198                 dprintf(1, "sending `%s' transaction to hub",
     198                usb_log_debug2("Sending `%s' transaction to hub.\n",
    199199                    usbvirt_str_transaction_type(transaction->type));
    200200                switch (transaction->type) {
     
    222222                                break;
    223223                }
    224                 dprintf(4, "transaction on hub processed...");
    225224                outcome = USB_OUTCOME_OK;
    226225        }
  • uspace/drv/vhc/hc.c

    ra09128c r0c3beeb  
    9292    usb_transaction_outcome_t outcome)
    9393{
    94         dprintf(3, "transaction " TRANSACTION_FORMAT " done, outcome: %s",
     94        usb_log_debug2("Transaction " TRANSACTION_FORMAT " done: %s.\n",
    9595            TRANSACTION_PRINTF(*transaction),
    9696            usb_str_transaction_outcome(outcome));
     
    108108        static unsigned int seed = 4573;
    109109       
    110         printf("%s: transaction processor ready.\n", NAME);
     110        usb_log_info("Transaction processor ready.\n");
    111111       
    112112        while (true) {
     
    125125                list_remove(first_transaction_link);
    126126               
    127 
    128                 dprintf(0, "about to process " TRANSACTION_FORMAT " [%s]",
     127                usb_log_debug("Processing " TRANSACTION_FORMAT " [%s].\n",
    129128                    TRANSACTION_PRINTF(*transaction), ports);
    130129
    131                 dprintf(3, "processing transaction " TRANSACTION_FORMAT "",
    132                     TRANSACTION_PRINTF(*transaction));
    133                
    134130                usb_transaction_outcome_t outcome;
    135131                outcome = virtdev_send_to_all(transaction);
     
    148144        fid_t fid = fibril_create(hc_manager_fibril, NULL);
    149145        if (fid == 0) {
    150                 printf(NAME ": failed to start HC manager fibril\n");
     146                usb_log_fatal("Failed to start HC manager fibril.\n");
    151147                return;
    152148        }
     
    172168        transaction->callback = callback;
    173169        transaction->callback_arg = arg;
    174        
    175         dprintf(3, "creating transaction " TRANSACTION_FORMAT,
     170
     171        return transaction;
     172}
     173
     174static void hc_add_transaction(transaction_t *transaction)
     175{
     176        usb_log_debug("Adding transaction " TRANSACTION_FORMAT ".\n",
    176177            TRANSACTION_PRINTF(*transaction));
    177        
    178         return transaction;
     178        list_append(&transaction->link, &transaction_list);
    179179}
    180180
     
    190190            target, transfer_type,
    191191            buffer, len, callback, arg);
    192         list_append(&transaction->link, &transaction_list);
     192        hc_add_transaction(transaction);
    193193}
    194194
     
    203203            target, transfer_type,
    204204            buffer, len, callback, arg);
    205         list_append(&transaction->link, &transaction_list);
     205        hc_add_transaction(transaction);
    206206}
    207207
  • uspace/drv/vhc/hcd.c

    ra09128c r0c3beeb  
    9494        virtual_hub_device_init(dev);
    9595
    96         printf("%s: virtual USB host controller ready.\n", NAME);
     96        usb_log_info("Virtual USB host controller ready (id = %zu).\n",
     97            (size_t) dev->handle);
    9798
    9899        return EOK;
     
    117118        sleep(5);
    118119
    119         usb_dprintf_enable(NAME, -1);
     120        usb_log_enable(USB_LOG_LEVEL_INFO, NAME);
    120121
    121122        printf(NAME ": virtual USB host controller driver.\n");
  • uspace/drv/vhc/hub.c

    ra09128c r0c3beeb  
    6363            = fibril_create(hub_register_in_devman_fibril, hc_dev);
    6464        if (root_hub_registration == 0) {
    65                 printf(NAME ": failed to create hub registration fibril\n");
     65                usb_log_fatal("Failed to create hub registration fibril.\n");
    6666                return;
    6767        }
  • uspace/drv/vhc/vhcd.h

    ra09128c r0c3beeb  
    4545#define DEVMAP_PATH_DEV NAMESPACE "/" NAME_DEV
    4646
    47 #define dprintf(level, format, ...) \
    48         usb_dprintf(NAME, (level), format "\n", ##__VA_ARGS__)
    49 void dprintf_inval_call(int, ipc_call_t, sysarg_t);
     47//#define dprintf(level, format, ...)
     48//      usb_dprintf(NAME, (level), format "\n", ##__VA_ARGS__)
     49//void dprintf_inval_call(int, ipc_call_t, sysarg_t);
    5050
    5151#endif
  • uspace/lib/usb/include/usb/debug.h

    ra09128c r0c3beeb  
    11/*
    2  * Copyright (c) 2010 Vojtech Horky
     2 * Copyright (c) 2010-2011 Vojtech Horky
    33 * All rights reserved.
    44 *
     
    3737#include <stdio.h>
    3838#include <usb/usb.h>
     39#include <assert.h>
    3940
    4041void usb_dprintf(const char *tag, int level, const char *format, ...);
     
    4445    const uint8_t *, size_t);
    4546
     47/** Logging level. */
     48typedef enum {
     49    USB_LOG_LEVEL_FATAL,
     50    USB_LOG_LEVEL_ERROR,
     51    USB_LOG_LEVEL_WARNING,
     52    USB_LOG_LEVEL_INFO,
     53    USB_LOG_LEVEL_DEBUG,
     54    USB_LOG_LEVEL_DEBUG2
     55} usb_log_level_t;
     56
     57
     58void usb_log_enable(usb_log_level_t, const char *);
     59
     60void usb_log_printf(usb_log_level_t, const char *, ...);
     61
     62#define usb_log_fatal(format, ...) \
     63        usb_log_printf(USB_LOG_LEVEL_FATAL, format, ##__VA_ARGS__)
     64
     65#define usb_log_error(format, ...) \
     66        usb_log_printf(USB_LOG_LEVEL_ERROR, format, ##__VA_ARGS__)
     67
     68#define usb_log_warning(format, ...) \
     69        usb_log_printf(USB_LOG_LEVEL_WARNING, format, ##__VA_ARGS__)
     70
     71#define usb_log_info(format, ...) \
     72        usb_log_printf(USB_LOG_LEVEL_INFO, format, ##__VA_ARGS__)
     73
     74#define usb_log_debug(format, ...) \
     75        usb_log_printf(USB_LOG_LEVEL_DEBUG, format, ##__VA_ARGS__)
     76
     77#define usb_log_debug2(format, ...) \
     78        usb_log_printf(USB_LOG_LEVEL_DEBUG2, format, ##__VA_ARGS__)
     79
     80
     81
    4682#endif
    4783/**
  • uspace/lib/usb/src/debug.c

    ra09128c r0c3beeb  
    11/*
    2  * Copyright (c) 2010 Vojtech Horky
     2 * Copyright (c) 2010-2011 Vojtech Horky
    33 * All rights reserved.
    44 *
     
    6161static FIBRIL_MUTEX_INITIALIZE(tag_list_guard);
    6262
     63/** Level of logging messages. */
     64static usb_log_level_t log_level = USB_LOG_LEVEL_WARNING;
     65/** Prefix for logging messages. */
     66static const char *log_prefix = "usb";
     67/** Serialization mutex for logging functions. */
     68static FIBRIL_MUTEX_INITIALIZE(log_serializer);
     69
    6370/** Find or create new tag with given name.
    6471 *
     
    155162}
    156163
     164/** Enable logging.
     165 *
     166 * @param level Maximal enabled level (including this one).
     167 * @param message_prefix Prefix for each printed message.
     168 */
     169void usb_log_enable(usb_log_level_t level, const char *message_prefix)
     170{
     171        log_prefix = message_prefix;
     172        log_level = level;
     173}
     174
     175
     176static const char *log_level_name(usb_log_level_t level)
     177{
     178        switch (level) {
     179                case USB_LOG_LEVEL_FATAL:
     180                        return " FATAL";
     181                case USB_LOG_LEVEL_ERROR:
     182                        return " ERROR";
     183                case USB_LOG_LEVEL_WARNING:
     184                        return " WARN";
     185                case USB_LOG_LEVEL_INFO:
     186                        return " info";
     187                default:
     188                        return "";
     189        }
     190}
     191
     192/** Print logging message.
     193 *
     194 * @param level Verbosity level of the message.
     195 * @param format Formatting directive.
     196 */
     197void usb_log_printf(usb_log_level_t level, const char *format, ...)
     198{
     199        if (level > log_level) {
     200                return;
     201        }
     202
     203        FILE *stream = NULL;
     204        switch (level) {
     205                case USB_LOG_LEVEL_FATAL:
     206                case USB_LOG_LEVEL_ERROR:
     207                        stream = stderr;
     208                        break;
     209                default:
     210                        stream = stdout;
     211                        break;
     212        }
     213        assert(stream != NULL);
     214
     215        va_list args;
     216        va_start(args, format);
     217
     218        fibril_mutex_lock(&log_serializer);
     219        fprintf(stream, "[%s]%s: ", log_prefix, log_level_name(level));
     220        vfprintf(stream, format, args);
     221        fibril_mutex_unlock(&log_serializer);
     222
     223        va_end(args);
     224}
    157225
    158226/**
Note: See TracChangeset for help on using the changeset viewer.