Re: [PATCH v7 0/6] power: supply: Lenovo Yoga C630 EC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 14 Jun 2024, Dmitry Baryshkov wrote:

> This adds binding, driver and the DT support for the Lenovo Yoga C630
> Embedded Controller, to provide battery information.
> 
> Support for this EC was implemented by Bjorn, who later could not work
> on this driver. I've picked this patchset up and updated it following
> the pending review comments.
> 
> DisplayPort support is still not a part of this patchset. It uses EC
> messages to provide AltMode information rather than implementing
> corresponding UCSI commands. However to have a cleaner uAPI story, the
> AltMode should be handled via the same Type-C port.
> 
> Merge strategy: the driver bits depend on the platform/arm64 patch,
> which adds interface for the subdrivers. I'd either ask to get that
> patch merged to the immutable branch, which then can be picked up by
> power/supply and USB trees or, to make life simpler, ack merging all
> driver bits e.g. through USB subsystem (I'm biased here since I plan to
> send more cleanups for the UCSI subsystem, which would otherwise result
> in cross-subsystem conflicts).

In preparation for making an IB, I took patch 1-2 into 
platform-drivers-x86-lenovo-c630 branch. I'll tag it once LKP has 
built tested the branch.

-- 
 i.


> 
> ---
> Changes in v7:
> - In PSY driver use guard() instead of scoped_guard() (Ilpo)
> - Use switch/case rather than ifs in yoga_c630_ucsi_read() (Ilpo)
> - Link to v6: https://lore.kernel.org/r/20240612-yoga-ec-driver-v6-0-8e76ba060439@xxxxxxxxxx
> 
> Changes in v6:
> - Use guard() instead of scoped_guard() (Ilpo)
> - Add a define for UCSI version register (Ilpo)
> - Added a check to prevent overflowing the address in reg16 read (Ilpo)
> - Link to v5: https://lore.kernel.org/r/20240607-yoga-ec-driver-v5-0-1ac91a0b4326@xxxxxxxxxx
> 
> Changes in v5:
> - Added missing article in the commit message (Bryan)
> - Changed yoga_c630_ec_ucsi_get_version() to explicitly set the register
>   instead of just incrementing it (Bryan)
> - Dropped spurious debugging pr_info (Bryan)
> - Added missing includes all over the place (Ilpo)
> - Switched to scoped_guard() where it's suitable (Ilpo)
> - Defined register bits (Ilpo, Bryan)
> - Whitespace cleanup (Ilpo, Bryan)
> - Reworked yoga_c630_ucsi_notify() to use switch-case (Bryan)
> - Use ternary operators instead of if()s (Ilpo)
> - Switched power supply driver to use fwnode (Sebastian)
> - Fixed handling of the adapter's type vs usb_type (Sebastian)
> - Added SCOPE property to the battery (Sebastian)
> - Link to v4: https://lore.kernel.org/r/20240528-yoga-ec-driver-v4-0-4fa8dfaae7b6@xxxxxxxxxx
> 
> Changes in v4:
> - Moved bindings to platform/ to follow example of other Acer Aspire1 EC
>   (Nikita Travkin)
> - Fixed dt validation for EC interrupt pin (Rob Herring)
> - Dropped separate 'scale' property (Oliver Neukum)
> - Link to v3: https://lore.kernel.org/r/20240527-yoga-ec-driver-v3-0-327a9851dad5@xxxxxxxxxx
> 
> Changes in v3:
> - Split the driver into core and power supply drivers,
> - Added UCSI driver part, handling USB connections,
> - Fixed Bjorn's address in DT bindings (Brian Masney)
> - Changed power-role for both ports to be "dual" per UCSI
> - Link to v2: https://lore.kernel.org/linux-arm-msm/20230205152809.2233436-1-dmitry.baryshkov@xxxxxxxxxx/
> 
> Changes in v2:
> - Dropped DP support for now, as the bindings are in process of being
>   discussed separately,
> - Merged dt patch into the same patchseries,
> - Removed the fixed serial number battery property,
> - Fixed indentation of dt bindings example,
> - Added property: reg and unevaluatedProperties to the connector
>   bindings.
> - Link to v1: https://lore.kernel.org/linux-arm-msm/20220810035424.2796777-1-bjorn.andersson@xxxxxxxxxx/
> 
> ---
> Bjorn Andersson (2):
>       dt-bindings: platform: Add Lenovo Yoga C630 EC
>       arm64: dts: qcom: c630: Add Embedded Controller node
> 
> Dmitry Baryshkov (4):
>       platform: arm64: add Lenovo Yoga C630 WOS EC driver
>       usb: typec: ucsi: add Lenovo Yoga C630 glue driver
>       power: supply: lenovo_yoga_c630_battery: add Lenovo C630 driver
>       arm64: dts: qcom: sdm845: describe connections of USB/DP port
> 
>  .../bindings/platform/lenovo,yoga-c630-ec.yaml     |  83 ++++
>  arch/arm64/boot/dts/qcom/sdm845.dtsi               |  53 ++-
>  .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts      |  75 ++++
>  drivers/platform/arm64/Kconfig                     |  14 +
>  drivers/platform/arm64/Makefile                    |   1 +
>  drivers/platform/arm64/lenovo-yoga-c630.c          | 290 ++++++++++++
>  drivers/power/supply/Kconfig                       |   9 +
>  drivers/power/supply/Makefile                      |   1 +
>  drivers/power/supply/lenovo_yoga_c630_battery.c    | 500 +++++++++++++++++++++
>  drivers/usb/typec/ucsi/Kconfig                     |   9 +
>  drivers/usb/typec/ucsi/Makefile                    |   1 +
>  drivers/usb/typec/ucsi/ucsi_yoga_c630.c            | 204 +++++++++
>  include/linux/platform_data/lenovo-yoga-c630.h     |  44 ++
>  13 files changed, 1283 insertions(+), 1 deletion(-)
> ---
> base-commit: 6906a84c482f098d31486df8dc98cead21cce2d0
> change-id: 20240527-yoga-ec-driver-76fd7f5ddae8
> 
> Best regards,
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux