0001
0002 #ifndef __QCOM_PDR_HELPER__
0003 #define __QCOM_PDR_HELPER__
0004
0005 #include <linux/soc/qcom/qmi.h>
0006
0007 #define SERVREG_NAME_LENGTH 64
0008
0009 struct pdr_service;
0010 struct pdr_handle;
0011
0012 enum servreg_service_state {
0013 SERVREG_LOCATOR_ERR = 0x1,
0014 SERVREG_SERVICE_STATE_DOWN = 0x0FFFFFFF,
0015 SERVREG_SERVICE_STATE_UP = 0x1FFFFFFF,
0016 SERVREG_SERVICE_STATE_EARLY_DOWN = 0x2FFFFFFF,
0017 SERVREG_SERVICE_STATE_UNINIT = 0x7FFFFFFF,
0018 };
0019
0020 struct pdr_handle *pdr_handle_alloc(void (*status)(int state,
0021 char *service_path,
0022 void *priv), void *priv);
0023 struct pdr_service *pdr_add_lookup(struct pdr_handle *pdr,
0024 const char *service_name,
0025 const char *service_path);
0026 int pdr_restart_pd(struct pdr_handle *pdr, struct pdr_service *pds);
0027 void pdr_handle_release(struct pdr_handle *pdr);
0028
0029 #endif