Re: [PATCH 00/10] Move part of cros-ec out of MFD subsystem

Randy Dunlap
2019-06-04T22:18:43Z

On 6/4/19 8:20 AM, Enric Balletbo i Serra wrote:
> Hi,
>
> This is the first attempt to clean up a bit more the cros-ec drivers
> to have a better separation on what is part of the MFD subsystem and what
> is part of platform/chrome.
>
> It'd be really nice have some reviews, acks and tested on different
> platforms from the chromiumos people before merge all this patchset, as
> this moves a lot of code.
>
> The major changes introduced by this patchset are:
> 1. Move the core driver to platform/chrome, as is not really related to
> an MFD device driver.
> 2. Create a new misc chardev driver to replace the chardev bits from
> cros-ec-dev (MFD)
> 3. Added some convenience structs in cros-ec-dev (MFD) to easy add more
> subdrivers and avoid to add more boiler plate.
>
> Once applied we have moved all the code to platform/chrome except the
> cros-ec-dev driver, which is the one that instantiates the different
> subdrivers as cells of the MFD device.
>
> I tested the following patches on Veyron, Kevin, Samus, Peach Pi and
> Peach Pit without noticing any problem, but they would need a lot of
> more tests. I'll continue testing while the reviewing process of this
> patchset.
>
> Waiting for your feedback,
> Enric
>

Hi,
Was there a patch 02/10? I didn't see it.
What mailing list(s) was it sent to?

thanks.

>
> Enric Balletbo i Serra (10):
> mfd / platform: cros_ec: Handle chained ECs as platform devices
> mfd / platform: cros_ec: Move cros-ec core driver out from MFD
> mfd / platform: cros_ec: Miscellaneous character device to talk with
> the EC
> mfd: cros_ec: Switch to use the new cros-ec-chardev driver
> mfd / platform: cros_ec: Rename config to a better name
> mfd / platform: cros_ec: Reorganize platform and mfd includes
> mfd: cros_ec: Update with SPDX Licence identifier and fix description
> mfd: cros_ec: Use kzalloc and cros_ec_cmd_xfer_status helper
> mfd: cros_ec: Add convenience struct to define dedicated CrOS EC MCUs
> mfd: cros_ec: Add convenience struct to define autodetectable CrOS EC
> subdevices
>
> Documentation/ioctl/ioctl-number.txt | 2 +-
> drivers/extcon/Kconfig | 2 +-
> drivers/extcon/extcon-usbc-cros-ec.c | 3 +-
> drivers/hid/Kconfig | 2 +-
> drivers/hid/hid-google-hammer.c | 4 +-
> drivers/i2c/busses/Kconfig | 2 +-
> drivers/i2c/busses/i2c-cros-ec-tunnel.c | 4 +-
> drivers/iio/accel/cros_ec_accel_legacy.c | 3 +-
> drivers/iio/common/cros_ec_sensors/Kconfig | 2 +-
> .../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/Kconfig | 2 +-
> drivers/input/keyboard/cros_ec_keyb.c | 4 +-
> drivers/media/platform/Kconfig | 3 +-
> .../media/platform/cros-ec-cec/cros-ec-cec.c | 4 +-
> drivers/mfd/Kconfig | 26 +-
> drivers/mfd/Makefile | 4 +-
> drivers/mfd/cros_ec_dev.c | 433 +++++-------------
> drivers/platform/chrome/Kconfig | 48 +-
> drivers/platform/chrome/Makefile | 2 +
> drivers/{mfd => platform/chrome}/cros_ec.c | 64 +--
> drivers/platform/chrome/cros_ec_chardev.c | 279 +++++++++++
> drivers/platform/chrome/cros_ec_debugfs.c | 3 +-
> drivers/platform/chrome/cros_ec_i2c.c | 12 +-
> drivers/platform/chrome/cros_ec_lightbar.c | 3 +-
> drivers/platform/chrome/cros_ec_lpc.c | 7 +-
> drivers/platform/chrome/cros_ec_lpc_reg.c | 4 +-
> drivers/platform/chrome/cros_ec_proto.c | 3 +-
> drivers/platform/chrome/cros_ec_rpmsg.c | 6 +-
> drivers/platform/chrome/cros_ec_spi.c | 12 +-
> 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/Kconfig | 2 +-
> drivers/power/supply/cros_usbpd-charger.c | 5 +-
> drivers/pwm/Kconfig | 2 +-
> drivers/pwm/pwm-cros-ec.c | 4 +-
> drivers/rtc/Kconfig | 2 +-
> drivers/rtc/rtc-cros-ec.c | 3 +-
> .../linux/iio/common/cros_ec_sensors_core.h | 3 +-
> include/linux/mfd/cros_ec.h | 302 +-----------
> .../{mfd => platform_data}/cros_ec_commands.h | 0
> include/linux/platform_data/cros_ec_proto.h | 315 +++++++++++++
> .../uapi/linux/cros_ec_chardev.h | 18 +-
> sound/soc/codecs/cros_ec_codec.c | 4 +-
> sound/soc/qcom/Kconfig | 2 +-
> 50 files changed, 902 insertions(+), 732 deletions(-)
> rename drivers/{mfd => platform/chrome}/cros_ec.c (85%)
> create mode 100644 drivers/platform/chrome/cros_ec_chardev.c
> rename include/linux/{mfd => platform_data}/cros_ec_commands.h (100%)
> create mode 100644 include/linux/platform_data/cros_ec_proto.h
> rename drivers/mfd/cros_ec_dev.h => include/uapi/linux/cros_ec_chardev.h (70%)
>

--
~Randy