lkml.org 
[lkml]   [2019]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v5 00/11] Move part of cros-ec out of MFD subsystem
    Date
    Hi,

    Now that rc1 is released is time to send another patchset rebased on
    top. This is an attempt to clean up a bit more the cros-ec driver
    to have a better separation on what is part of the MFD subsystem and
    what is part of platform/chrome.

    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 on cros-ec-dev (MFD) to easy add
    more subdrivers avoiding 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 driver.

    I tested the following patches on Veyron, Kevin, Samus, Peach Pi and
    Peach Pit without noticing any problem, but they would need more
    tests.

    Thanks,
    Enric

    Changes in v5:
    - Rebased on top of 5.3-rc1
    - Prefix the versions strings with CROS_EC_DEV_VERSION (Gwendal)

    Changes in v4:
    - Rebase again on top of for-mfd-next to avoid conflicts.

    Changes in v3:
    - Collect more acks an tested-by
    - Fix 'linux/mfd/cros_ec.h' is not exported (reported by lkp)
    - Use mfd_add_hotplug_devices helper (Gwendal)
    - Add a new patch to use mfd_add_hoplug_devices to register subdevices

    Changes in v2:
    - Collect acks received.
    - Remove '[PATCH 07/10] mfd: cros_ec: Update with SPDX Licence identifier
    and fix description' to avoid conflicts with some tree-wide patches
    that actually updates the Licence identifier.
    - Add '[PATCH 10/10] arm/arm64: defconfig: Update configs to use the new
    CROS_EC options' to update the defconfigs after change some config
    symbols.
    - Remove the list, and the lock, as are not needed (Greg Kroah-Hartman)
    - Remove dev_info in probe, anyway we will see the chardev or not if the
    probe fails (Greg Kroah-Hartman)

    Enric Balletbo i Serra (11):
    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: 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
    mfd: cros_ec: Use mfd_add_hotplug_devices() helper
    arm/arm64: defconfig: Update configs to use the new CROS_EC options

    arch/arm/configs/exynos_defconfig | 3 +-
    arch/arm/configs/multi_v7_defconfig | 8 +-
    arch/arm/configs/pxa_defconfig | 8 +-
    arch/arm/configs/tegra_defconfig | 6 +-
    arch/arm64/configs/defconfig | 6 +-
    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 +-
    .../cros_ec_sensors/cros_ec_lid_angle.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/Kconfig | 2 +-
    drivers/input/keyboard/cros_ec_keyb.c | 4 +-
    drivers/media/platform/Kconfig | 3 +-
    .../media/platform/cros-ec-cec/cros-ec-cec.c | 5 +-
    drivers/mfd/Kconfig | 26 +-
    drivers/mfd/Makefile | 4 +-
    drivers/mfd/cros_ec_dev.c | 461 +++++-------------
    drivers/platform/chrome/Kconfig | 50 +-
    drivers/platform/chrome/Makefile | 2 +
    drivers/{mfd => platform/chrome}/cros_ec.c | 64 +--
    drivers/platform/chrome/cros_ec_chardev.c | 253 ++++++++++
    drivers/platform/chrome/cros_ec_debugfs.c | 3 +-
    drivers/platform/chrome/cros_ec_i2c.c | 12 +-
    drivers/platform/chrome/cros_ec_ishtp.c | 5 +-
    drivers/platform/chrome/cros_ec_lightbar.c | 3 +-
    drivers/platform/chrome/cros_ec_lpc.c | 7 +-
    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 | 292 -----------
    .../{mfd => platform_data}/cros_ec_commands.h | 0
    include/linux/platform_data/cros_ec_proto.h | 317 ++++++++++++
    .../uapi/linux/cros_ec_chardev.h | 9 +-
    sound/soc/codecs/Kconfig | 4 +-
    sound/soc/codecs/cros_ec_codec.c | 4 +-
    sound/soc/qcom/Kconfig | 2 +-
    56 files changed, 901 insertions(+), 758 deletions(-)
    rename drivers/{mfd => platform/chrome}/cros_ec.c (84%)
    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 (80%)

    --
    2.20.1

    \
     
     \ /
      Last update: 2019-07-22 15:34    [W:2.793 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site