On Fri, May 26, 2017 at 10:20:51AM +0200, Wolfram Sang wrote: > Yes, I wanted to do this for years now... The I2C core became a huge monolithic > blob getting harder and harder to maintain. This series breaks out some > functional parts into seperate files. This makes the code easier to handle > because of the smaller chunks. It reduces ifdeffery because we can now handle > compilation at the Makefile level. And it helps to spread responsibility, e.g. > the ACPI maintainers do now have a dedicated file listed in MAINTAINERS. > > This series was tested with a Renesas Lager board (R-Car H2 SoC). It booted > normally and all device drivers for I2C clients seem to work normally. I wired > two I2C busses together and used i2c-slave-eeprom to let one I2C IP core read > out data from the other. That all worked fine. Buildbot is also happy, it found > two issues of the first (non public) iteration. Thanks! > > I did not test ACPI and hope for some assistance here :) I'd also be happy if > people could check the includes of the newly created files, there might be > missing some. > > As a result, the main i2c-core file goes down from ~3600 lines to ~2000 lines. > I think this is pretty helpful. I plan to apply this for v4.13 to not block > other core changes. Let's see if we are there yet and the series is ready. > Looking forward to comments. > > A branch can be found here: > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/core-refactor > So, I pushed this series out into -next to get broader testing. Everything went well, so far. Might be famous last words... ;)