Re: [PATCH v2 2/2] clk: qcom: Add support for Global Clock Controller on QCS8300

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 26, 2024 at 04:25:39PM +0530, Imran Shaik wrote:
> 
> 
> On 8/23/2024 1:29 AM, Andrew Lunn wrote:
> > > +static int gcc_qcs8300_probe(struct platform_device *pdev)
> > > +{
> > > +	struct regmap *regmap;
> > > +	int ret;
> > > +
> > > +	regmap = qcom_cc_map(pdev, &gcc_qcs8300_desc);
> > > +	if (IS_ERR(regmap))
> > > +		return PTR_ERR(regmap);
> > > +
> > > +	ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks,
> > > +				       ARRAY_SIZE(gcc_dfs_clocks));
> > > +	if (ret)
> > > +		return ret;
> > > +
> > > +	/* Keep some clocks always enabled */
> > 
> > Sorry, but you need to explain why. Why cannot the camera driver
> > enable these clocks when it loads? Why cannot the display driver
> > enable these clocks when it loads.
> > 
> 
> These clocks are recommended to be kept always ON as per the HW design and
> also exposing clock structures and marking them critical in the kernel would
> lead to redundant code. Based on previous discussions with clock
> maintainers, it is recommended to keep such clocks enabled at probe and not
> model them. This approach is consistently followed for all other targets as
> well.

I don't see why it would add redundant code. It is a few lines of code
in the driver, which every driver using clocks has. If you really
don't want the clock turned off because it is unused, you can use
CLK_IGNORE_UNUSED, along with a comment explaining why.

What i was actually guessing is that you don't actually have open
drivers for these hardware blocks, just a blob running in user
space. As such, it cannot turn the clocks on. If that is the case, i
would much prefer you are honest about this, and document it.

	Andrew




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux