Quoting Neil Armstrong (2023-10-25 00:32:45) > diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig > index c04b6526f4f3..5bf25e8d033c 100644 > --- a/drivers/clk/qcom/Kconfig > +++ b/drivers/clk/qcom/Kconfig > @@ -842,6 +842,15 @@ config SM_DISPCC_8550 > Say Y if you want to support display devices and functionality such as > splash screen. > > +config SM_DISPCC_8650 > + tristate "SM8650 Display Clock Controller" > + depends on SM_GCC_8650 selects? We use selects instead of depends so that the driver can be built-in or modular regardless of parent clks that provide clks to this device. Orphan clk handling resolves issues with the driver registering clks before parents. And with fw_devlink the driver isn't even attempted to probe before the GCC driver is probed so there's no build dependency between these drivers. > + help > + Support for the display clock controller on Qualcomm Technologies, Inc > + SM8650 devices. > + Say Y if you want to support display devices and functionality such as > + splash screen. > + > config SM_GCC_4450 > tristate "SM4450 Global Clock Controller" > depends on ARM64 || COMPILE_TEST > diff --git a/drivers/clk/qcom/dispcc-sm8650.c b/drivers/clk/qcom/dispcc-sm8650.c > new file mode 100644 > index 000000000000..7cb91306e895 > --- /dev/null > +++ b/drivers/clk/qcom/dispcc-sm8650.c > @@ -0,0 +1,1806 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (c) 2021, The Linux Foundation. All rights reserved. > + * Copyright (c) 2023, Linaro Ltd. > + */ > + > +#include <linux/clk.h> Is this include used? > +#include <linux/clk-provider.h> > +#include <linux/err.h> > +#include <linux/kernel.h> > +#include <linux/module.h> > +#include <linux/of_device.h> Is this mod_devicetable.h? > +#include <linux/of.h> Is this include used? > +#include <linux/regmap.h> > +#include <linux/pm_runtime.h> > + > +#include <dt-bindings/clock/qcom,sm8650-dispcc.h> > + > +#include "common.h" > +#include "clk-alpha-pll.h" > +#include "clk-branch.h" > +#include "clk-pll.h" > +#include "clk-rcg.h" > +#include "clk-regmap.h" > +#include "clk-regmap-divider.h" > +#include "clk-regmap-mux.h" Is this include used? > +#include "reset.h" > +#include "gdsc.h" > +