Re: [PATCH v12 0/7] mfd: Add support for Asus Transformer embedded controller
From: Svyatoslav Ryhel
Date: Wed Oct 21 2026 - 02:37:23 EST
пн, 19 жовт. 2026 р. о 13:04 Svyatoslav Ryhel <clamor95@xxxxxxxxx> пише:
>
> Add support for embedded controller used in Asus Transformers for
> managing power and input functions.
>
> ---
> Changes in v2:
> - converted sysfs debug exports into debugfs
> - added kernel-doc comments for exposed functions
> - fixed minor typos and inconsistencies
>
> Changes in v3:
> - dropped DockRAM commits (both schema and driver)
> - integrated DockRAM functionality directly into the controller driver
> - EC schema moved to embedded controllers folder
> - removed all cell descriptions from the schema
> - removed all compatibles from the cell drivers
> - adjusted naming conventions to better align with the ASUS Transformers
> - defined EC variant sets to provide coverage for all known devices
>
> Changes in v4:
> - grouped known programming models of EC chronologically (both schema
> and driver)
> - call debugfs init only if CONFIG_DEBUG_FS is enabled
>
> Changes in v5:
> - added asus,tf600t-ec-dock compatible to schema
> - rebased on top of v7.0
> - kzalloc > kzalloc_obj in keys and kbc
>
> Changes in v6:
> - removed asus_ec_handle_smi casting
> - asus_dockram_access_ctl > asus_ec_get_ctl in control_reg_*
> - fixed battery Kconfig description
>
> Changes in v7:
> - added status check of devm_kasprintf where missing
> - devm_asus_ec_register_notifier dropped, added .remove where it was used
> - removed cell_to_ec, asus_dockram_read, asus_dockram_write, asus_ec_* public API
> asus_ec_i2c_command, devm_asus_ec_register_notifier, asus_ec_read, asus_ec_write
> - renamed asusec_info > asusec_core
> - ec-kbc: added packed size check
> ret > error
> improved key remap logic
> - ec-keys: improve formatting and comments
> ret > error
> switched to dev_err_probe
> - ec-leds: reworked to register both leds via loop
> - ec-mfd: adjusted Kconfig description
> fixed smbus operation sizes
> fixed saving of EC fw model
> adjusted IRQ flags
> converted to use definer for set cell composition
> added factory mode states enum and handling
> defined some "magic" values
> self > client, info > ec, ecreq > ecreq_gpio, priv > ddata
> asus_ec_chip_data data > asus_ec_chip_info info
> ec_data > ec_buf, ctl_data > ctl_buf
> added and improved comments, added structure descriptions
> asus_ec_magic_debug > asus_ec_susb_on_status
> removed all dev_dbg and most of dev_info
> pronts with model, fw behavior, factory and susb state preserved
> switched to MFD_CELL_* macros
> removed debugfs
> - ec-battery: swithced to BIT macro
> lock usage moved to asus_ec_battery_get_value
> in asus_ec_battery_poll_work fixed possible rescheduling fail
> in asus_ec_battery_poll_work fixed missing not charging
> - ec-charger: POWER_SUPPLY_PROP_MODEL_NAME set as the first check
>
> Changes in v8:
> - added MODULE_ALIAS
> - renamed DOCKRAM_* to ASUSEC_*
> - ec-keys: input_handler moved into private structure
> - ec-leds: added brightness_get
> - ec-mdf: fixed i2c_smbus_* return checks ()
> improved model storing
> - ec-batt: added status check of devm_kasprintf
>
> Changes in v9:
> - fixed i2c_smbus_read_i2c_block_data return check
> - blocking_notifier_chain_register moved before serio registration
> - adjusted get_unaligned_le16 bounds check
> - unsigned long long > u64
> - iterator vars made scoped
> - removed "magic" values from ec-mfd
> - simplified logging, detect split into detect and init
> - improved error logs formatting
> - adjusted handler in media keys to connect strictly to dock keyboard
>
> Changes in v10:
> - ec-kbc: fixed possible out of buffer reads
> - ec-kbc: set notifier_call before blocking_notifier_chain_register
> - ec-keys: dropped input_unregister_device which should be handled by devm_input_allocate_device
>
> Changes in v11:
> - applied changes from Florian Krischer (read_size parameterized and fix keyboard response framing)
> - ec-kbc: switch notifier and serio register calls
> - ec-keys: used WRITE_ONCE()/READ_ONCE() for priv->special_key_pressed
>
> Changes in v12:
> - removed unused includes
> - fixed kernel-doc warns
> - added check if dockram client and data are not NULL
> - replaced handler in media keys with Dmitry's implementation
> - calculate battery time props with unsigned value
> ---
>
> Michał Mirosław (6):
> mfd: Add driver for ASUS Transformer embedded controller
> input: serio: Add driver for ASUS Transformer dock keyboard and
> touchpad
> input: keyboard: Add driver for ASUS Transformer dock multimedia keys
> leds: Add driver for ASUS Transformer LEDs
> power: supply: Add driver for ASUS Transformer battery
> power: supply: Add charger driver for Asus Transformers
>
> Svyatoslav Ryhel (1):
> dt-bindings: embedded-controller: document ASUS Transformer EC
>
> .../asus,tf201-ec-pad.yaml | 119 ++++
> drivers/input/keyboard/Kconfig | 10 +
> drivers/input/keyboard/Makefile | 1 +
> .../input/keyboard/asus-transformer-ec-keys.c | 212 +++++++
> drivers/input/serio/Kconfig | 15 +
> drivers/input/serio/Makefile | 1 +
> drivers/input/serio/asus-transformer-ec-kbc.c | 264 ++++++++
> drivers/leds/Kconfig | 11 +
> drivers/leds/Makefile | 1 +
> drivers/leds/leds-asus-transformer-ec.c | 125 ++++
> drivers/mfd/Kconfig | 16 +
> drivers/mfd/Makefile | 1 +
> drivers/mfd/asus-transformer-ec.c | 569 ++++++++++++++++++
> drivers/power/supply/Kconfig | 22 +
> drivers/power/supply/Makefile | 2 +
> .../supply/asus-transformer-ec-battery.c | 289 +++++++++
> .../supply/asus-transformer-ec-charger.c | 208 +++++++
> include/linux/mfd/asus-transformer-ec.h | 100 +++
> 18 files changed, 1966 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/embedded-controller/asus,tf201-ec-pad.yaml
> create mode 100644 drivers/input/keyboard/asus-transformer-ec-keys.c
> create mode 100644 drivers/input/serio/asus-transformer-ec-kbc.c
> create mode 100644 drivers/leds/leds-asus-transformer-ec.c
> create mode 100644 drivers/mfd/asus-transformer-ec.c
> create mode 100644 drivers/power/supply/asus-transformer-ec-battery.c
> create mode 100644 drivers/power/supply/asus-transformer-ec-charger.c
> create mode 100644 include/linux/mfd/asus-transformer-ec.h
>
> --
> 2.53.0
>
Hello Lee!
May you please pick this series? Dmitry Acked input commits. Regarding
adjustments to input patches, Dmitry is fine if I send them as
followup. Thank you!