Re: [PATCH v2] clk: ultrarisc: Register DP1000 clock provider earlier
From: Brian Masney
Date: Mon Oct 19 2026 - 18:01:57 EST
On Wed, Oct 14, 2026 at 11:20:12AM +0800, Xincheng Ji wrote:
> From: Jia Wang <wangjia@xxxxxxxxxxxxx>
>
> The DP1000 PCIe and clock drivers both register at the device initcall
> level. Since the PCIe driver is linked first, its probe runs before the
> clock provider is available and defers.
>
> sysfb_init() runs at the same initcall level before deferred probes are
> retried. It claims the firmware framebuffer aperture, so the later PCIe
> host probe cannot allocate the overlapping prefetchable window and the
> GPU is not enumerated.
>
> Use subsys_platform_driver() to register the clock provider at the
> subsys_initcall level when built in so PCIe host probing completes before
> sysfb_init(). The helper keeps the normal module init and exit paths when
> the driver is built as a module.
>
> Fixes: 3948a36be42b ("clk: ultrarisc: Add DP1000 clock driver")
> Signed-off-by: Jia Wang <wangjia@xxxxxxxxxxxxx>
> Signed-off-by: Xincheng Ji <jixincheng@xxxxxxxxxxxxx>
Reviewed-by: Brian Masney <bmasney@xxxxxxxxxx>
So we are going to hold off on sending this in for v7.4, and I'll merge
this into clk-next once rc1 comes out in a few weeks. My series for
subsys_platform_driver() was merged through the qcom clk tree, which is
in the clk-qcom branch. With the way we do branching the clk tree won't
stay bisectable if I merge this through clk-pile.
This shouldn't cause any issues other than a slower boot. If it's
causing other issues, then that's a separate issue that also needs to be
fixed.
Brian