| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * Copyright (c) 2022, Linaro Ltd | |
| */ | |
| #ifndef __SOC_QCOM_PMIC_GLINK_H__ | |
| #define __SOC_QCOM_PMIC_GLINK_H__ | |
| struct pmic_glink; | |
| struct pmic_glink_client; | |
| #define PMIC_GLINK_OWNER_BATTMGR 32778 | |
| #define PMIC_GLINK_OWNER_USBC 32779 | |
| #define PMIC_GLINK_OWNER_USBC_PAN 32780 | |
| #define PMIC_GLINK_REQ_RESP 1 | |
| #define PMIC_GLINK_NOTIFY 2 | |
| struct pmic_glink_hdr { | |
| __le32 owner; | |
| __le32 type; | |
| __le32 opcode; | |
| }; | |
| int pmic_glink_send(struct pmic_glink_client *client, void *data, size_t len); | |
| struct pmic_glink_client *devm_pmic_glink_client_alloc(struct device *dev, | |
| unsigned int id, | |
| void (*cb)(const void *, size_t, void *), | |
| void (*pdr)(void *, int), | |
| void *priv); | |
| void pmic_glink_client_register(struct pmic_glink_client *client); | |
| #endif |