Hiya, so, here is a new version as a result of the discussion. Changes since V7: * dropped the 'errptr' suffix and renamed the functions to 'i2c_new_client_device' and 'i2c_new_dummy_device' * add EXPORT_SYMBOL_GPL to these new functions I decided to convert the users of i2c_new_device and i2c_new_dummy to the new functions after these functions are available. So, we can get rid of the old functions somewhen. To speed this up, I'd like to send them this merge window to Linus. Yeah, this is short notice, but I simply couldn't work earlier on this because of my illness. So, if you can support me with immediate (but still thorough!) reviews, that would be much appreciated. If we can get it upstream this cycle, then I can already start fixing the users. Patch 3 is only for demonstration purposes, of course. I will send it to the MFD list once the dependencies are upstream. Tested on a Renesas Lager board (R-Car Gen2). Looking forward to comments, Wolfram Heiner Kallweit (2): i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy i2c: core: add device-managed version of i2c_new_dummy Wolfram Sang (1): mfd: da9063: occupy second I2C address, too Documentation/driver-model/devres.txt | 3 + drivers/i2c/i2c-core-base.c | 118 +++++++++++++++++++++++--- drivers/mfd/da9063-i2c.c | 2 + include/linux/i2c.h | 3 + 4 files changed, 113 insertions(+), 13 deletions(-) -- 2.19.1