config ARCH_MSM8996
bool "Enable Support for Qualcomm MSM8996"
depends on ARCH_QCOM
+ select COMMON_CLK_MSM
help
This enables support for the MSM8996 chipset. If you do not
wish to build a kernel that runs on this chipset, say 'N' here.
config ARCH_MSMCOBALT
bool "Enable Support for Qualcomm MSMCOBALT"
depends on ARCH_QCOM
+ select COMMON_CLK_MSM
help
This enables support for the MSMCOBALT chipset. If you do not
wish to build a kernel that runs on this chipset, say 'N' here.
config ARCH_MSMHAMSTER
bool "Enable Support for Qualcomm Technologies Inc MSMHAMSTER"
depends on ARCH_QCOM
+ select COMMON_CLK_MSM
help
This enables support for the MSMHAMSTER chipset.
If you do not wish to build a kernel that runs
config ARCH_MSMFALCON
bool "Enable Support for Qualcomm Technologies Inc MSMFALCON"
depends on ARCH_QCOM
+ select COMMON_CLK_MSM
help
This enables support for the MSMFALCON chipset.
If you do not wish to build a kernel that runs
+config COMMON_CLK_MSM
+ tristate "Support for MSM clock controllers"
+ depends on OF
+ depends on ARCH_QCOM
+ help
+ This support clock controller used by MSM devices which support
+ global, mmss and gpu clock controller.
+ Say Y if you want to support the clocks exposed by the MSM on
+ platforms such as msm8996, msmcobalt, msmfalcon etc.
+
config MSM_CLK_CONTROLLER_V2
bool "QTI clock driver"
+ depends on COMMON_CLK_MSM
---help---
Generate clock data structures from definitions found in
device tree.
-obj-y += clock.o
-obj-y += clock-dummy.o
-obj-y += clock-generic.o
-obj-y += clock-local2.o
-obj-y += clock-pll.o
-obj-y += clock-alpha-pll.o
-obj-y += clock-rpm.o
-obj-y += clock-voter.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-dummy.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-generic.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-local2.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-pll.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-alpha-pll.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-rpm.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-voter.o
obj-$(CONFIG_MSM_CLK_CONTROLLER_V2) += msm-clock-controller.o
-obj-y += clock-debug.o
+obj-$(CONFIG_COMMON_CLK_MSM) += clock-debug.o
# MSM 8996
-obj-$(CONFIG_ARCH_QCOM) += clock-gcc-8996.o
-obj-$(CONFIG_ARCH_QCOM) += clock-mmss-8996.o
-obj-$(CONFIG_ARCH_QCOM) += clock-cpu-8996.o
+ifeq ($(CONFIG_COMMON_CLK_MSM), y)
+ obj-$(CONFIG_ARCH_QCOM) += clock-gcc-8996.o
+ obj-$(CONFIG_ARCH_QCOM) += clock-mmss-8996.o
+ obj-$(CONFIG_ARCH_QCOM) += clock-cpu-8996.o
+endif
# MSM COBALT
-obj-$(CONFIG_ARCH_MSMCOBALT) += clock-gcc-cobalt.o
-obj-$(CONFIG_ARCH_MSMCOBALT) += clock-gpu-cobalt.o
-obj-$(CONFIG_ARCH_MSMCOBALT) += clock-mmss-cobalt.o
-obj-$(CONFIG_ARCH_MSMCOBALT) += clock-osm.o
+ifeq ($(CONFIG_COMMON_CLK_MSM), y)
+ obj-$(CONFIG_ARCH_MSMCOBALT) += clock-gcc-cobalt.o
+ obj-$(CONFIG_ARCH_MSMCOBALT) += clock-gpu-cobalt.o
+ obj-$(CONFIG_ARCH_MSMCOBALT) += clock-mmss-cobalt.o
+ obj-$(CONFIG_ARCH_MSMCOBALT) += clock-osm.o
+endif
-# CPU clocks
-
-obj-y += gdsc.o
-obj-y += mdss/
+obj-$(CONFIG_COMMON_CLK_MSM) += gdsc.o
+obj-$(CONFIG_COMMON_CLK_MSM)-y += mdss/