/* 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