OSDN Git Service

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)
commitec2daf6e33f9f9113ba085b6ff88592907b6f1ce
treec4da6c2eeff46545c25d541228f4fb56c81d9c57
parentbb6d3fb354c5ee8d6bde2d576eb7220ea09862b9
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]