]> git.baikalelectronics.ru Git - kernel.git/commit
platform: chrome: Add cros-usbpd-notify driver
authorJon Flatley <jflat@chromium.org>
Fri, 24 Jan 2020 23:18:32 +0000 (15:18 -0800)
committerBenson Leung <bleung@chromium.org>
Mon, 10 Feb 2020 18:14:19 +0000 (10:14 -0800)
commitfa617acd734b0edd3cc9550b101d8aaf10efa7a0
treec4da6c2eeff46545c25d541228f4fb56c81d9c57
parent9f9285b96014e47599924b03ab0c07fa1549e04b
platform: chrome: Add cros-usbpd-notify driver

ChromiumOS uses ACPI device with HID "GOOG0003" for power delivery
related events. The existing cros-usbpd-charger driver relies on these
events without ever actually receiving them on ACPI platforms. This is
because in the ChromeOS kernel trees, the GOOG0003 device is owned by an
ACPI driver that offers firmware updates to USB-C chargers.

Introduce a new platform driver under cros-ec, the ChromeOS embedded
controller, that handles these PD events and dispatches them
appropriately over a notifier chain to all drivers that use them.

On platforms that don't have the ACPI device defined, the driver gets
instantiated for ECs which support the EC_FEATURE_USB_PD feature bit,
and the notification events will get delivered using the MKBP event
handling mechanism.

Co-Developed-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Jon Flatley <jflat@chromium.org>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Acked-By: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Benson Leung <bleung@chromium.org>
drivers/platform/chrome/Kconfig
drivers/platform/chrome/Makefile
drivers/platform/chrome/cros_usbpd_notify.c [new file with mode: 0644]
include/linux/platform_data/cros_usbpd_notify.h [new file with mode: 0644]