[lkml]   [2012]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] of: i2c: add support for wakeup-source property
    Add support for specifying a generic "wakeup-source" property on i2c
    clients, which will set the I2C_CLIENT_WAKE flag, thus configuring the
    device to wake the system from suspend (via IRQ).

    This obviously doesn't make sense on devices lacking IRQ, but since we
    still allow that in the i2c_board_info case, I don't see a reason to
    restrict it here.

    Note: Since the generic i2c bindings aren't documented in the kernel,
    I didn't find a good place to add documentation for this binding
    extension. I still think it makes sense to have a generic property
    instead of having each device do its own binding for the same.

    Signed-off-by: Olof Johansson <>
    drivers/of/of_i2c.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
    index 1e173f3..3550f3b 100644
    --- a/drivers/of/of_i2c.c
    +++ b/drivers/of/of_i2c.c
    @@ -61,6 +61,9 @@ void of_i2c_register_devices(struct i2c_adapter *adap)
    info.of_node = of_node_get(node);
    info.archdata = &dev_ad;

    + if (of_get_property(node, "wakeup-source", NULL))
    + info.flags |= I2C_CLIENT_WAKE;
    request_module("%s%s", I2C_MODULE_PREFIX, info.type);

    result = i2c_new_device(adap, &info);

     \ /
      Last update: 2012-07-21 21:21    [W:0.023 / U:87.732 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site