I recently remembered this old series because I needed to add a dummy to the DA9063 driver, so I had a look at it. I am somewhat sorry for the long delay, yet the overload of patches is something I am not really responsible for :/ However, the series v6 from December 2017 was mostly OK. I decided to fix the things I noticed right away, only minor stuff: * instead of '__' prefix for the new functions, I added an 'errptr' suffix. '__' indicates internal use, mostly unlocked flavors. However, these functions could be exported somewhen and then it makes sense to have a more descriptive name. This also removes the inconsistency that the devm_* variant returned an errptr while the non-devm variant returned NULL. Now, the name makes it clear. * some minor issues/typos in the kernel doc sections This series does not include converting 'i2c_new_secondary_device' which I plan to convert (including all users) to use errptr only. And maybe the same for 'i2c_new_probed_device', I am not sure about it yet. I added a new user of this series, since at24 has changed a bit since back then. Patch 3 is only for testing. First, this series needs to be applied. Tested on a Renesas Lager board (R-Car Gen2). If the feedback is positive, then I plan to create an immutable branch for the at24- and MFD-trees after next rc1, so stuff can be based on top of it. 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 | 114 ++++++++++++++++++++++++++++++---- drivers/mfd/da9063-i2c.c | 2 + include/linux/i2c.h | 3 + 4 files changed, 109 insertions(+), 13 deletions(-) -- 2.11.0