[PATCH v3 6/9] coresight: Avoid enable programming clock duplicately

Leo Yan leo.yan at arm.com
Tue Jun 10 05:03:51 PDT 2025


On Tue, Jun 10, 2025 at 04:09:32PM +0530, Anshuman Khandual wrote:
> 
> 
> On 09/06/25 10:44 PM, Leo Yan wrote:
> > On Mon, Jun 09, 2025 at 05:58:34PM +0100, Suzuki Kuruppassery Poulose wrote:
> > 
> > [...]
> > 
> >>>   static inline struct clk *coresight_get_enable_apb_pclk(struct device *dev)
> >>>   {
> >>> -	struct clk *pclk;
> >>> +	struct clk *pclk = NULL;
> >>> -	pclk = devm_clk_get_enabled(dev, "apb_pclk");
> >>> -	if (IS_ERR(pclk))
> >>> -		pclk = devm_clk_get_enabled(dev, "apb");
> >>> +	if (!dev_is_amba(dev)) {
> >>> +		pclk = devm_clk_get_enabled(dev, "apb_pclk");
> >>> +		if (IS_ERR(pclk))
> >>> +			pclk = devm_clk_get_enabled(dev, "apb");
> >>
> >> AMBA driver doesn't handle "apb" clock ? So we may need to retain that here
> >> ?
> > 
> > Here checks the condition "if (!dev_is_amba(dev))", it means the device
> > is not an AMBA device (e.g., a platform device), the APB clock is
> > enabled at here.
> 
> Just exit early for AMBA devices when 'pclk' clock is still NULL ?
> 
> 	if (dev_is_amba(dev))
> 		return pclk;

If it is an AMBA device, we should return a NULL pointer, as this
indicates that the APB clock is not managed by the CoreSight driver.

In this patch, I did not perform any refactoring and simply made a
straightforward changed.  The refactoring is done in the patch 07, as
you suggested, where the function is refined as:

    if (dev_is_amba(dev)) {
        return NULL;
    } else {
        pclk = devm_clk_get_enabled(dev, "apb_pclk");
        ...
    }

Would it be acceptable to keep this patch as it is?

Thanks,
Leo



More information about the linux-arm-kernel mailing list