mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
ec2daf6e33
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>
18 lines
436 B
C
18 lines
436 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* ChromeOS EC Power Delivery Notifier Driver
|
|
*
|
|
* Copyright 2020 Google LLC
|
|
*/
|
|
|
|
#ifndef __LINUX_PLATFORM_DATA_CROS_USBPD_NOTIFY_H
|
|
#define __LINUX_PLATFORM_DATA_CROS_USBPD_NOTIFY_H
|
|
|
|
#include <linux/notifier.h>
|
|
|
|
int cros_usbpd_register_notify(struct notifier_block *nb);
|
|
|
|
void cros_usbpd_unregister_notify(struct notifier_block *nb);
|
|
|
|
#endif /* __LINUX_PLATFORM_DATA_CROS_USBPD_NOTIFY_H */
|