On 04/06/2019 17:20, 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@collabora.com
drivers/extcon/extcon-usbc-cros-ec.c | 3 +- drivers/hid/hid-google-hammer.c | 4 +- drivers/i2c/busses/i2c-cros-ec-tunnel.c | 4 +- drivers/iio/accel/cros_ec_accel_legacy.c | 3 +- .../common/cros_ec_sensors/cros_ec_sensors.c | 3 +- .../cros_ec_sensors/cros_ec_sensors_core.c | 3 +- drivers/iio/light/cros_ec_light_prox.c | 3 +- drivers/iio/pressure/cros_ec_baro.c | 3 +- drivers/input/keyboard/cros_ec_keyb.c | 4 +- .../media/platform/cros-ec-cec/cros-ec-cec.c | 4 +- drivers/mfd/cros_ec_dev.c | 3 +- drivers/platform/chrome/cros_ec.c | 3 +- drivers/platform/chrome/cros_ec_chardev.c | 4 +- drivers/platform/chrome/cros_ec_debugfs.c | 3 +- drivers/platform/chrome/cros_ec_i2c.c | 4 +- drivers/platform/chrome/cros_ec_lightbar.c | 3 +- drivers/platform/chrome/cros_ec_lpc.c | 4 +- drivers/platform/chrome/cros_ec_lpc_reg.c | 4 +- drivers/platform/chrome/cros_ec_proto.c | 3 +- drivers/platform/chrome/cros_ec_rpmsg.c | 4 +- drivers/platform/chrome/cros_ec_spi.c | 4 +- drivers/platform/chrome/cros_ec_sysfs.c | 3 +- drivers/platform/chrome/cros_ec_trace.c | 2 +- drivers/platform/chrome/cros_ec_trace.h | 4 +- drivers/platform/chrome/cros_ec_vbc.c | 3 +- drivers/platform/chrome/cros_usbpd_logger.c | 5 +- drivers/power/supply/cros_usbpd-charger.c | 5 +- drivers/pwm/pwm-cros-ec.c | 4 +- drivers/rtc/rtc-cros-ec.c | 3 +- .../linux/iio/common/cros_ec_sensors_core.h | 3 +- include/linux/mfd/cros_ec.h | 306 ----------------- .../{mfd => platform_data}/cros_ec_commands.h | 0 include/linux/platform_data/cros_ec_proto.h | 315 ++++++++++++++++++ sound/soc/codecs/cros_ec_codec.c | 4 +- 34 files changed, 379 insertions(+), 351 deletions(-) rename include/linux/{mfd => platform_data}/cros_ec_commands.h (100%) create mode 100644 include/linux/platform_data/cros_ec_proto.h
Acked-by: Neil Armstrong narmstrong@baylibre.com # for the cros-ec-cec part