• Simon Glass's avatar
    dm: Introduce device sequence numbering · 5a66a8ff
    Simon Glass authored
    
    
    In U-Boot it is pretty common to number devices from 0 and access them
    on the command line using this numbering. While it may come to pass that
    we will move away from this numbering, the possibility seems remote at
    present.
    
    Given that devices within a uclass will have an implied numbering, it
    makes sense to build this into driver model as a core feature. The cost
    is fairly small in terms of code and data space.
    
    With each uclass having numbered devices we can ask for SPI port 0 or
    serial port 1 and receive a single device.
    
    Devices typically request a sequence number using aliases in the device
    tree. These are resolved when the device is probed, to deal with conflicts.
    Sequence numbers need not be sequential and holes are permitted.
    
    At present there is no support for sequence numbers using static platform
    data. It could easily be added to 'struct driver_info' if needed, but it
    seems better to add features as we find a use for them, and the use of -1
    to mean 'no sequence' makes the default value somewhat painful.
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    5a66a8ff
uclass.c 7.2 KB