Here are some patches to let the rcar driver have a diet without losing functionality. IMO the code becomes more readable, too, although mileages may vary about this or that change. Bus-free handling is improved, too. Tested with renesas-devel-v3.15-rc7-20140526 on a Lager and Koelsch board. The git tree can be found here, including one proof-of-concept enablement patch: git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/rcar-cleanup Please test, review, comment. Thanks, Wolfram Wolfram Sang (11): i2c: rcar: not everything needs to be a function i2c: rcar: no need to store irq number i2c: rcar: refactor bus state machine i2c: rcar: refactor irq state machine i2c: rcar: check bus free before first message i2c: rcar: refactor setting up msg i2c: rcar: refactor status bit handling i2c: rcar: remove spinlock i2c: rcar: reuse status bits as enable bits i2c: rcar: janitorial cleanup after refactoring i2c: rcar: update copyright and license information drivers/i2c/busses/i2c-rcar.c | 252 ++++++++---------------------------------- 1 file changed, 48 insertions(+), 204 deletions(-) -- 2.0.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html