1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (c) 2023, Linaro Ltd. All rights reserved. 4 */ 5 6 #ifndef __QCOM_PMIC_TYPEC_H__ 7 #define __QCOM_PMIC_TYPEC_H__ 8 9 struct pmic_typec { 10 struct device *dev; 11 struct tcpm_port *tcpm_port; 12 struct tcpc_dev tcpc; 13 struct pmic_typec_pdphy *pmic_typec_pdphy; 14 struct pmic_typec_port *pmic_typec_port; 15 16 int (*pdphy_start)(struct pmic_typec *tcpm, 17 struct tcpm_port *tcpm_port); 18 void (*pdphy_stop)(struct pmic_typec *tcpm); 19 20 int (*port_start)(struct pmic_typec *tcpm, 21 struct tcpm_port *tcpm_port); 22 void (*port_stop)(struct pmic_typec *tcpm); 23 }; 24 25 #define tcpc_to_tcpm(_tcpc_) container_of(_tcpc_, struct pmic_typec, tcpc) 26 27 #endif 28