• J
    platform: Add support for automatic device IDs · 689ae231
    Jean Delvare 提交于
    Right now we have support for explicit platform device IDs, as well as
    ID-less platform devices when a given device type can only have one
    instance. However there are cases where multiple instances of a device
    type can exist, and their IDs aren't (and can't be) known in advance
    and do not matter. In that case we need automatic device IDs to avoid
    device name collisions.
    
    I am using magic ID value -2 (PLATFORM_DEVID_AUTO) for this, similar
    to -1 for ID-less devices. The automatically allocated device IDs are
    global (to avoid an additional per-driver cost.) We keep note that the
    ID was automatically allocated so that it can be freed later.
    
    Note that we also restore the ID to PLATFORM_DEVID_AUTO on error and
    device deletion, to avoid avoid unexpected behavior on retry. I don't
    really expect retries on platform device addition, but better safe
    than sorry.
    Signed-off-by: NJean Delvare <khali@linux-fr.org>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    689ae231
platform.c 29.5 KB