On Tue, Jun 04, 2019 at 05:20:15PM +0200, Enric Balletbo i Serra wrote: > There is a bit of mess between cros-ec mfd includes and platform > includes. For example, we have a linux/mfd/cros_ec.h include that > exports the interface implemented in platform/chrome/cros_ec_proto.c. Or > we have a linux/mfd/cros_ec_commands.h file that is non related to the > multifunction device (in the sense that is not exporting any function of > the mfd device). This causes crossed includes between mfd and > platform/chrome subsystems and makes the code difficult to read, apart > from creating 'curious' situations where a platform/chrome driver includes > a linux/mfd/cros_ec.h file just to get the exported functions that are > implemented in another platform/chrome driver. > > In order to have a better separation on what the cros-ec multifunction > driver does and what the cros-ec core provides move and rework the > affected includes doing: > > - Move cros_ec_commands.h to include/linux/platform_data/cros_ec_commands.h > - Get rid of the parts that are implemented in the platform/chrome/cros_ec_proto.c > driver from include/linux/mfd/cros_ec.h to a new file > include/linux/platform_data/cros_ec_proto.h > - Update all the drivers with the new includes, so > - Drivers that only need to know about the protocol include > - linux/platform_data/cros_ec_proto.h > - linux/platform_data/cros_ec_commands.h > - Drivers that need to know about the cros-ec mfd device also include > - linux/mfd/cros_ec.h > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> # for input Thanks. -- Dmitry