Hi All, New in v2 are some minor tweaks to the first patch based on Andy's review. See the commit message of the first patch for the why and what of this series. Also the whole purpose of posting this series for now is just to get the first patch reviewed and merged, the others are more of a RFC until that happens. Once the first patch is merged we can look at using the new iosf_mbi_[un]block_punit_i2c_access() functions in various drivers for the AXP288 PMIC (and the TI dollarcove PMIC) to only take the P-Unit semaphore once around a group of i2c accesses to the PMIC. The second patch is an example of this. The third patch is some trivial cleanup to the i2c-designware driver which becomes possible after the first patch is merged. As mentioned in the commit message of the first patch, that patch deliberately saves that cleanup for later, so that it only touches i2c-designware-baytrail.c and not the main i2c-designware*.c files, so that it can be merged through the x86 tree without conflicts. Wolfram can we have your ack for merging the i2c-designware-baytrail.c changes through the x86 tree (assuming you are ok with moving all the iosf_mbi magic out of that file into arch/x86/platform/intel/iosf_mbi.c)? Regards, Hans