[PATCH] drm/vc4: drv: Avoid possible NPD when booted without KMS

Maxime Ripard mripard at kernel.org
Wed Feb 21 15:00:24 UTC 2024


Hi,

On Sat, Feb 17, 2024 at 04:07:20PM +0100, Stefan Wahren wrote:
> From: Dom Cobley <popcornmix at gmail.com>
> 
> In case there is no matching KMS,

Sorry, I'm not sure what a matching KMS is supposed to be here?

> the function vc4_match_add_driver won't change the match pointer which
> is initialized with NULL. Since component_master_add_with_match
> doesn't expected match to be a NULL pointer, this results into a NPD.
> 
> Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.")
> Signed-off-by: Dom Cobley <popcornmix at gmail.com>
> Signed-off-by: Stefan Wahren <wahrenst at gmx.net>
> ---
>  drivers/gpu/drm/vc4/vc4_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index c133e96b8aca..4f17840df9d3 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -439,6 +439,8 @@ static int vc4_platform_drm_probe(struct platform_device *pdev)
> 
>  	vc4_match_add_drivers(dev, &match,
>  			      component_drivers, ARRAY_SIZE(component_drivers));
> +	if (!match)
> +		return -ENODEV;

From the looks of it, it would return the pointer to the last matched
driver. I'm not sure how useful it is, but if it's NULL it would mean
that the main brcm,bcm2835-vc4 device would have probed, but not any of
its subdevice? How can that happen?

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20240221/57b4a7ad/attachment.sig>


More information about the dri-devel mailing list