#include <linux/auxiliary_bus.h>
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/refcount.h>
#include <linux/slab.h>
#include <linux/soc/qcom/qmi.h>
#include "pdr_internal.h"
#define SERVREG_QMI_VERSION …
#define SERVREG_QMI_INSTANCE …
#define TMS_SERVREG_SERVICE …
struct qcom_pdm_domain_data { … };
struct qcom_pdm_domain { … };
struct qcom_pdm_service { … };
struct qcom_pdm_data { … };
static DEFINE_MUTEX(qcom_pdm_mutex);
static struct qcom_pdm_data *__qcom_pdm_data;
static struct qcom_pdm_service *qcom_pdm_find(struct qcom_pdm_data *data,
const char *name)
{ … }
static int qcom_pdm_add_service_domain(struct qcom_pdm_data *data,
const char *service_name,
const char *domain_name,
u32 instance_id)
{ … }
static int qcom_pdm_add_domain(struct qcom_pdm_data *data,
const struct qcom_pdm_domain_data *domain)
{ … }
static void qcom_pdm_free_domains(struct qcom_pdm_data *data)
{ … }
static void qcom_pdm_get_domain_list(struct qmi_handle *qmi,
struct sockaddr_qrtr *sq,
struct qmi_txn *txn,
const void *decoded)
{ … }
static void qcom_pdm_pfr(struct qmi_handle *qmi,
struct sockaddr_qrtr *sq,
struct qmi_txn *txn,
const void *decoded)
{ … }
static const struct qmi_msg_handler qcom_pdm_msg_handlers[] = …;
static const struct qcom_pdm_domain_data adsp_audio_pd = …;
static const struct qcom_pdm_domain_data adsp_charger_pd = …;
static const struct qcom_pdm_domain_data adsp_root_pd = …;
static const struct qcom_pdm_domain_data adsp_root_pd_pdr = …;
static const struct qcom_pdm_domain_data adsp_sensor_pd = …;
static const struct qcom_pdm_domain_data msm8996_adsp_audio_pd = …;
static const struct qcom_pdm_domain_data msm8996_adsp_root_pd = …;
static const struct qcom_pdm_domain_data cdsp_root_pd = …;
static const struct qcom_pdm_domain_data slpi_root_pd = …;
static const struct qcom_pdm_domain_data slpi_sensor_pd = …;
static const struct qcom_pdm_domain_data mpss_root_pd = …;
static const struct qcom_pdm_domain_data mpss_root_pd_gps = …;
static const struct qcom_pdm_domain_data mpss_root_pd_gps_pdr = …;
static const struct qcom_pdm_domain_data msm8996_mpss_root_pd = …;
static const struct qcom_pdm_domain_data mpss_wlan_pd = …;
static const struct qcom_pdm_domain_data *msm8996_domains[] = …;
static const struct qcom_pdm_domain_data *msm8998_domains[] = …;
static const struct qcom_pdm_domain_data *qcm2290_domains[] = …;
static const struct qcom_pdm_domain_data *qcs404_domains[] = …;
static const struct qcom_pdm_domain_data *sc7180_domains[] = …;
static const struct qcom_pdm_domain_data *sc7280_domains[] = …;
static const struct qcom_pdm_domain_data *sc8180x_domains[] = …;
static const struct qcom_pdm_domain_data *sc8280xp_domains[] = …;
static const struct qcom_pdm_domain_data *sdm660_domains[] = …;
static const struct qcom_pdm_domain_data *sdm670_domains[] = …;
static const struct qcom_pdm_domain_data *sdm845_domains[] = …;
static const struct qcom_pdm_domain_data *sm6115_domains[] = …;
static const struct qcom_pdm_domain_data *sm6350_domains[] = …;
static const struct qcom_pdm_domain_data *sm8150_domains[] = …;
static const struct qcom_pdm_domain_data *sm8250_domains[] = …;
static const struct qcom_pdm_domain_data *sm8350_domains[] = …;
static const struct qcom_pdm_domain_data *sm8550_domains[] = …;
static const struct of_device_id qcom_pdm_domains[] = …;
static void qcom_pdm_stop(struct qcom_pdm_data *data)
{ … }
static struct qcom_pdm_data *qcom_pdm_start(void)
{ … }
static int qcom_pdm_probe(struct auxiliary_device *auxdev,
const struct auxiliary_device_id *id)
{ … }
static void qcom_pdm_remove(struct auxiliary_device *auxdev)
{ … }
static const struct auxiliary_device_id qcom_pdm_table[] = …;
MODULE_DEVICE_TABLE(auxiliary, qcom_pdm_table);
static struct auxiliary_driver qcom_pdm_drv = …;
module_auxiliary_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;