• David Brownell's avatar
    [PATCH] USB physical paths id · 3668d7cd
    David Brownell authored
    This provides something that gets discussed regularly: stable
    device IDs.  Straightforward; most of it was already present:
    
        - Moves "bus_name" out of HCD framework into usb_bus.
          This accounts for _by far the bulk_ of this patch, since
          every use of that original field needed to change.
    
        - Make Vojtech's usb_make_path() use bus_name instead
          of unstable bus numbers ... and usb_device->devpath
          instead of recomputing that same info.  Combine two
          stable IDs, and the result is still stable.  And since both
          are precomputed, usb_make_path() turns into only an
          error check wrapped around snprintf() ... so I inlined it.
    
        - Minor tweak to usb_device->devpath construction.  It
          still uses "/" for the root hub (better suggestions?) but
          Vojtech wanted "." for separators, so I changed that.
    
        - The older HCDs (uhci.c etc) initialize usb_bus.bus_name,
          as well as the sharable HCD framework
    
        - HCD framework no longer uses "bus" member.
    
    These IDs are currently exposed in "input" hotplugging, and
    my next patch addresses that for USB network devices.
    3668d7cd
usb-uhci.c 85 KB