• David Brownell's avatar
    i2c: i2c stack can probe() · 7b4fbc50
    David Brownell authored
    One of a series of I2C infrastructure updates to support enumeration using
    the standard Linux driver model.
    
    This patch updates probe() and associated hotplug/coldplug support, but
    not remove().  Nothing yet _uses_ it to create I2C devices, so those
    hotplug/coldplug mechanisms will be the only externally visible change.
    This patch will be an overall NOP since the I2C stack doesn't yet create
    clients/devices except as part of binding them to legacy drivers.
    
    Some code is moved earlier in the source code, helping group more of the
    per-device infrastructure in one place and simplifying handling per-device
    attributes.
    
    Terminology being adopted:  "legacy drivers" create devices (i2c_client)
    themselves, while "new style" ones follow the driver model (the i2c_client
    is handed to the probe routine).  It's an either/or thing; the two models
    don't mix, and drivers that try mixing them won't even be registered.
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    7b4fbc50
i2c-core.c 32.9 KB