/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __USB_POWER_DELIVERY__ #define __USB_POWER_DELIVERY__ #include <linux/device.h> #include <linux/usb/typec.h> struct usb_power_delivery { struct device dev; int id; u16 revision; u16 version; }; struct usb_power_delivery_capabilities { struct device dev; struct usb_power_delivery *pd; enum typec_role role; }; #define to_usb_power_delivery_capabilities(o) container_of(o, struct usb_power_delivery_capabilities, dev) #define to_usb_power_delivery(o) container_of(o, struct usb_power_delivery, dev) struct usb_power_delivery *usb_power_delivery_find(const char *name); int usb_power_delivery_init(void); void usb_power_delivery_exit(void); #endif /* __USB_POWER_DELIVERY__ */