Ignore:
Timestamp:
2011-01-07T16:42:00Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
93fb170c
Parents:
15701921
Message:

port_status refactoring, use flags instead of structure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci/root_hub/port_status.c

    r15701921 r8f748215  
    22#include <stdio.h>
    33
     4#include "debug.h"
    45#include "port_status.h"
    56
    6 void print_port_status( const port_status_t *status )
     7struct flag_name
    78{
    8         assert( status );
    9         printf( "\tsuspended: %s\n", status->status.suspended ? "YES" : "NO" );
    10         printf( "\tin reset: %s\n", status->status.reset ? "YES" : "NO" );
    11         printf( "\tlow speed: %s\n", status->status.low_speed ? "YES" : "NO" );
    12         printf( "\tresume detected: %s\n", status->status.resume ? "YES" : "NO" );
    13         printf( "\talways \"1\" reserved bit: %s\n",
    14           status->status.always_one ? "YES" : "NO" );
    15         /* line status skipped */
    16         printf( "\tenable/disable change: %s\n", status->status.enabled_change ? "YES" : "NO" );
    17         printf( "\tport enabled: %s\n", status->status.enabled ? "YES" : "NO" );
    18         printf( "\tconnect change: %s\n", status->status.connect_change ? "YES" : "NO" );
    19         printf( "\tconnected: %s\n", status->status.connected ? "YES" : "NO" );
     9        unsigned flag;
     10        const char *name;
     11};
     12
     13static const struct flag_name flags[] =
     14{
     15        { STATUS_SUSPEND, "suspended" },
     16        { STATUS_IN_RESET, "in reset" },
     17        { STATUS_LOW_SPEED, "low speed device" },
     18        { STATUS_ALWAYS_ONE, "always 1 bit" },
     19        { STATUS_RESUME, "resume" },
     20        { STATUS_LINE_D_MINUS, "line D- value" },
     21        { STATUS_LINE_D_PLUS, "line D+ value" },
     22        { STATUS_ENABLED_CHANGED, "enabled changed" },
     23        { STATUS_ENABLED, "enabled" },
     24        { STATUS_CONNECTED_CHANGED, "connected changed" },
     25        { STATUS_CONNECTED, "connected" }
     26};
     27
     28void print_port_status(port_status_t value)
     29{
     30        unsigned i = 0;
     31        for (;i < sizeof(flags)/sizeof(struct flag_name); ++i) {
     32                uhci_print_verbose("\t%s status: %s.\n", flags[i].name,
     33                  value & flags[i].flag ? "ON" : "OFF");
     34        }
    2035}
Note: See TracChangeset for help on using the changeset viewer.