[PATCH] clk: clk_set_parent: skip any operation if current and new parents are equal

Sascha Hauer s.hauer at pengutronix.de
Tue Oct 7 04:57:31 PDT 2025


On Tue, Oct 07, 2025 at 01:50:28PM +0200, Sascha Hauer wrote:
> On Mon, Oct 06, 2025 at 10:53:02PM +0200, Michael Grzeschik wrote:
> > On Mon, Oct 06, 2025 at 01:43:47PM +0200, Ahmad Fatoum wrote:
> > > On 10/3/25 12:37 PM, Michael Grzeschik wrote:
> > > > Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
> > > 
> > > While I agree this makes sense, I appreciate some background. Did you
> > > run into problems? Or is it just something you noticed while reading the
> > > code? A prime location for that background would be the empty commit
> > > message ;)
> > 
> > Yes this happend when using the video drivers. Somehow some drivers
> > tried to reparent the video_pll to the same parent that it already had.
> > 
> > clk: failed to reparent video_pll to osc_24m: -22
> > clk: failed to reparent video_pll to osc_24m: -22
> 
> If it's the same parent it already has, why does it fail with -EINVAL
> then?

Ah, probably because of:

	if (!clk->ops->set_parent)
		return -EINVAL;

So the clk only has a single parent, thus no set_parent op. Your patch
is indeed correct. Please update the commit message with this
information.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list