1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#ifndef __USB_POWER_DELIVERY__ 4#define __USB_POWER_DELIVERY__ 5 6#include <linux/device.h> 7#include <linux/usb/typec.h> 8 9struct usb_power_delivery { 10 struct device dev; 11 int id; 12 u16 revision; 13 u16 version; 14}; 15 16struct usb_power_delivery_capabilities { 17 struct device dev; 18 struct usb_power_delivery *pd; 19 enum typec_role role; 20}; 21 22#define to_usb_power_delivery_capabilities(o) container_of(o, struct usb_power_delivery_capabilities, dev) 23#define to_usb_power_delivery(o) container_of(o, struct usb_power_delivery, dev) 24 25struct usb_power_delivery *usb_power_delivery_find(const char *name); 26 27int usb_power_delivery_init(void); 28void usb_power_delivery_exit(void); 29 30#endif /* __USB_POWER_DELIVERY__ */ 31