mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 21:51:05 +00:00
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>
This commit is contained in:
parent
bb6d3fb354
commit
ec2daf6e33
4 changed files with 201 additions and 0 deletions
17
include/linux/platform_data/cros_usbpd_notify.h
Normal file
17
include/linux/platform_data/cros_usbpd_notify.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
// 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 */
|
Loading…
Add table
Add a link
Reference in a new issue