Hi, Souradeep Chowdhury writes: > diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile > index ad675a6..e7f0ccb 100644 > --- a/drivers/soc/qcom/Makefile > +++ b/drivers/soc/qcom/Makefile > @@ -1,19 +1,22 @@ > # SPDX-License-Identifier: GPL-2.0 > CFLAGS_rpmh-rsc.o := -I$(src) > obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o > -obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o > +obj-$(CONFIG_QCOM_APR) += apr.o > obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o > obj-$(CONFIG_QCOM_CPR) += cpr.o > +obj-$(CONFIG_QCOM_DCC) += dcc.o > +obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o > obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o > +obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o > +obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o > obj-$(CONFIG_QCOM_MDT_LOADER) += mdt_loader.o > obj-$(CONFIG_QCOM_OCMEM) += ocmem.o > obj-$(CONFIG_QCOM_PDR_HELPERS) += pdr_interface.o > obj-$(CONFIG_QCOM_QMI_HELPERS) += qmi_helpers.o > -qmi_helpers-y += qmi_encdec.o qmi_interface.o > obj-$(CONFIG_QCOM_RMTFS_MEM) += rmtfs_mem.o > obj-$(CONFIG_QCOM_RPMH) += qcom_rpmh.o > -qcom_rpmh-y += rpmh-rsc.o > -qcom_rpmh-y += rpmh.o > +obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o > +obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o > obj-$(CONFIG_QCOM_SMD_RPM) += smd-rpm.o > obj-$(CONFIG_QCOM_SMEM) += smem.o > obj-$(CONFIG_QCOM_SMEM_STATE) += smem_state.o > @@ -21,8 +24,6 @@ obj-$(CONFIG_QCOM_SMP2P) += smp2p.o > obj-$(CONFIG_QCOM_SMSM) += smsm.o > obj-$(CONFIG_QCOM_SOCINFO) += socinfo.o > obj-$(CONFIG_QCOM_WCNSS_CTRL) += wcnss_ctrl.o > -obj-$(CONFIG_QCOM_APR) += apr.o > -obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o > -obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o > -obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o > -obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o > +qmi_helpers-y += qmi_encdec.o qmi_interface.o > +qcom_rpmh-y += rpmh-rsc.o > +qcom_rpmh-y += rpmh.o why so many changes? > diff --git a/drivers/soc/qcom/dcc.c b/drivers/soc/qcom/dcc.c > new file mode 100644 > index 0000000..fcd5580 > --- /dev/null > +++ b/drivers/soc/qcom/dcc.c > @@ -0,0 +1,1539 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > + one blank line is enough > +#define TIMEOUT_US 100 > + > +#define dcc_writel(drvdata, val, off) \ > + writel((val), drvdata->base + dcc_offset_conv(drvdata, off)) > +#define dcc_readl(drvdata, off) \ > + readl(drvdata->base + dcc_offset_conv(drvdata, off)) > + > +#define dcc_sram_readl(drvdata, off) \ > + readl(drvdata->ram_base + off) this would be probably be better as static inlines. -- balbi