public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST
@ 2026-04-08  8:14 Chen-Yu Tsai
  2026-04-10  8:49 ` Tomi Valkeinen
  0 siblings, 1 reply; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-04-08  8:14 UTC (permalink / raw)
  To: Laurent Pinchart, Tomi Valkeinen, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann
  Cc: Chen-Yu Tsai, dri-devel, linux-kernel

The zynqmp-dpsub driver does not have build time dependencies on the PHY
or DMA drivers. These are runtime hardware restrictions.

Group the two dependencies with ARCH_ZYNQMP so that the driver can be
compile tested without them.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
IMO the two driver dependencies could be removed altogether, but that
would be up to the driver and platform maintainers.
---
 drivers/gpu/drm/xlnx/Kconfig | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
index cfabf5e2a0bb..4c6729459f40 100644
--- a/drivers/gpu/drm/xlnx/Kconfig
+++ b/drivers/gpu/drm/xlnx/Kconfig
@@ -1,10 +1,8 @@
 config DRM_ZYNQMP_DPSUB
 	tristate "ZynqMP DisplayPort Controller Driver"
-	depends on ARCH_ZYNQMP || COMPILE_TEST
+	depends on (ARCH_ZYNQMP && PHY_XILINX_ZYNQMP && XILINX_ZYNQMP_DPDMA) || COMPILE_TEST
 	depends on COMMON_CLK && DRM && OF
 	depends on DMADEVICES
-	depends on PHY_XILINX_ZYNQMP
-	depends on XILINX_ZYNQMP_DPDMA
 	select DMA_ENGINE
 	select DRM_CLIENT_SELECTION
 	select DRM_DISPLAY_DP_HELPER
-- 
2.53.0.1213.gd9a14994de-goog


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST
  2026-04-08  8:14 [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST Chen-Yu Tsai
@ 2026-04-10  8:49 ` Tomi Valkeinen
  2026-04-10  9:08   ` Chen-Yu Tsai
  0 siblings, 1 reply; 5+ messages in thread
From: Tomi Valkeinen @ 2026-04-10  8:49 UTC (permalink / raw)
  To: Chen-Yu Tsai, Laurent Pinchart, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann
  Cc: dri-devel, linux-kernel

Hi,

On 08/04/2026 11:14, Chen-Yu Tsai wrote:
> The zynqmp-dpsub driver does not have build time dependencies on the PHY
> or DMA drivers. These are runtime hardware restrictions.
> 
> Group the two dependencies with ARCH_ZYNQMP so that the driver can be
> compile tested without them.
> 
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> ---
> IMO the two driver dependencies could be removed altogether, but that
> would be up to the driver and platform maintainers.
> ---
>   drivers/gpu/drm/xlnx/Kconfig | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
> index cfabf5e2a0bb..4c6729459f40 100644
> --- a/drivers/gpu/drm/xlnx/Kconfig
> +++ b/drivers/gpu/drm/xlnx/Kconfig
> @@ -1,10 +1,8 @@
>   config DRM_ZYNQMP_DPSUB
>   	tristate "ZynqMP DisplayPort Controller Driver"
> -	depends on ARCH_ZYNQMP || COMPILE_TEST
> +	depends on (ARCH_ZYNQMP && PHY_XILINX_ZYNQMP && XILINX_ZYNQMP_DPDMA) || COMPILE_TEST
>   	depends on COMMON_CLK && DRM && OF
>   	depends on DMADEVICES
> -	depends on PHY_XILINX_ZYNQMP
> -	depends on XILINX_ZYNQMP_DPDMA
>   	select DMA_ENGINE
>   	select DRM_CLIENT_SELECTION
>   	select DRM_DISPLAY_DP_HELPER

I think the above looks more difficult to understand than the current 
version. We should perhaps rather drop the dependencies. But if we go 
that way, then... we can also drop DMADEVICES, DMA_ENGINE, GENERIC_PHY 
at least.

What problem does this solve? Why are these two dependencies bad for 
compile testing, but the other dependencies/selects are ok?

I personally don't mind hard runtime dependencies expressed in the 
Kconfig, as searching for the correct dependency-drivers when your 
driver doesn't probe is always a PITA.

  Tomi


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST
  2026-04-10  8:49 ` Tomi Valkeinen
@ 2026-04-10  9:08   ` Chen-Yu Tsai
  2026-04-10  9:27     ` Ville Syrjälä
  2026-04-10 10:43     ` Tomi Valkeinen
  0 siblings, 2 replies; 5+ messages in thread
From: Chen-Yu Tsai @ 2026-04-10  9:08 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: Laurent Pinchart, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, dri-devel, linux-kernel

On Fri, Apr 10, 2026 at 4:49 PM Tomi Valkeinen
<tomi.valkeinen@ideasonboard.com> wrote:
>
> Hi,
>
> On 08/04/2026 11:14, Chen-Yu Tsai wrote:
> > The zynqmp-dpsub driver does not have build time dependencies on the PHY
> > or DMA drivers. These are runtime hardware restrictions.
> >
> > Group the two dependencies with ARCH_ZYNQMP so that the driver can be
> > compile tested without them.
> >
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> > IMO the two driver dependencies could be removed altogether, but that
> > would be up to the driver and platform maintainers.
> > ---
> >   drivers/gpu/drm/xlnx/Kconfig | 4 +---
> >   1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
> > index cfabf5e2a0bb..4c6729459f40 100644
> > --- a/drivers/gpu/drm/xlnx/Kconfig
> > +++ b/drivers/gpu/drm/xlnx/Kconfig
> > @@ -1,10 +1,8 @@
> >   config DRM_ZYNQMP_DPSUB
> >       tristate "ZynqMP DisplayPort Controller Driver"
> > -     depends on ARCH_ZYNQMP || COMPILE_TEST
> > +     depends on (ARCH_ZYNQMP && PHY_XILINX_ZYNQMP && XILINX_ZYNQMP_DPDMA) || COMPILE_TEST
> >       depends on COMMON_CLK && DRM && OF
> >       depends on DMADEVICES
> > -     depends on PHY_XILINX_ZYNQMP
> > -     depends on XILINX_ZYNQMP_DPDMA
> >       select DMA_ENGINE
> >       select DRM_CLIENT_SELECTION
> >       select DRM_DISPLAY_DP_HELPER
>
> I think the above looks more difficult to understand than the current
> version. We should perhaps rather drop the dependencies. But if we go
> that way, then... we can also drop DMADEVICES, DMA_ENGINE, GENERIC_PHY
> at least.

Perhaps. All the APIs for these are properly stubbed, so I guess
they also count as runtime dependencies.

> What problem does this solve? Why are these two dependencies bad for
> compile testing, but the other dependencies/selects are ok?

I was build testing changes across multiple DRM drivers in addition to
the main platform I work on. Having to find and select each dependency
was annoying.

I would say DMADEVICES and GENERIC_PHY are much more common to embedded
devices than SoC specific drivers.

> I personally don't mind hard runtime dependencies expressed in the
> Kconfig, as searching for the correct dependency-drivers when your
> driver doesn't probe is always a PITA.

I don't mind it either. But the way they are described means that compile
testing is overly dependent on having some other platform specific
driver enabled.


I suppose another way to write this would be:

    depends on ARCH_ZYNQMP if !COMPILE_TEST
    depends on PHY_XILINX_ZYNQMP if !COMPILE_TEST
    depends on XILINX_ZYNQMP_DPDMA if !COMPILE_TEST
    ...

Does that work for you?


Thanks
ChenYu

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST
  2026-04-10  9:08   ` Chen-Yu Tsai
@ 2026-04-10  9:27     ` Ville Syrjälä
  2026-04-10 10:43     ` Tomi Valkeinen
  1 sibling, 0 replies; 5+ messages in thread
From: Ville Syrjälä @ 2026-04-10  9:27 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Tomi Valkeinen, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, dri-devel, linux-kernel

On Fri, Apr 10, 2026 at 05:08:00PM +0800, Chen-Yu Tsai wrote:
> On Fri, Apr 10, 2026 at 4:49 PM Tomi Valkeinen
> <tomi.valkeinen@ideasonboard.com> wrote:
> >
> > Hi,
> >
> > On 08/04/2026 11:14, Chen-Yu Tsai wrote:
> > > The zynqmp-dpsub driver does not have build time dependencies on the PHY
> > > or DMA drivers. These are runtime hardware restrictions.
> > >
> > > Group the two dependencies with ARCH_ZYNQMP so that the driver can be
> > > compile tested without them.
> > >
> > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > > ---
> > > IMO the two driver dependencies could be removed altogether, but that
> > > would be up to the driver and platform maintainers.
> > > ---
> > >   drivers/gpu/drm/xlnx/Kconfig | 4 +---
> > >   1 file changed, 1 insertion(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
> > > index cfabf5e2a0bb..4c6729459f40 100644
> > > --- a/drivers/gpu/drm/xlnx/Kconfig
> > > +++ b/drivers/gpu/drm/xlnx/Kconfig
> > > @@ -1,10 +1,8 @@
> > >   config DRM_ZYNQMP_DPSUB
> > >       tristate "ZynqMP DisplayPort Controller Driver"
> > > -     depends on ARCH_ZYNQMP || COMPILE_TEST
> > > +     depends on (ARCH_ZYNQMP && PHY_XILINX_ZYNQMP && XILINX_ZYNQMP_DPDMA) || COMPILE_TEST
> > >       depends on COMMON_CLK && DRM && OF
> > >       depends on DMADEVICES
> > > -     depends on PHY_XILINX_ZYNQMP
> > > -     depends on XILINX_ZYNQMP_DPDMA
> > >       select DMA_ENGINE
> > >       select DRM_CLIENT_SELECTION
> > >       select DRM_DISPLAY_DP_HELPER
> >
> > I think the above looks more difficult to understand than the current
> > version. We should perhaps rather drop the dependencies. But if we go
> > that way, then... we can also drop DMADEVICES, DMA_ENGINE, GENERIC_PHY
> > at least.
> 
> Perhaps. All the APIs for these are properly stubbed, so I guess
> they also count as runtime dependencies.
> 
> > What problem does this solve? Why are these two dependencies bad for
> > compile testing, but the other dependencies/selects are ok?
> 
> I was build testing changes across multiple DRM drivers in addition to
> the main platform I work on. Having to find and select each dependency
> was annoying.

I've had the same experience. It's really hard to do drm subsystem
wide changes, and be sure that all the code being touched is actually
getting compiled.

> 
> I would say DMADEVICES and GENERIC_PHY are much more common to embedded
> devices than SoC specific drivers.
> 
> > I personally don't mind hard runtime dependencies expressed in the
> > Kconfig, as searching for the correct dependency-drivers when your
> > driver doesn't probe is always a PITA.
> 
> I don't mind it either. But the way they are described means that compile
> testing is overly dependent on having some other platform specific
> driver enabled.

If only "select" worked in a sane way :/ Although that would still
force you to actually compile all the runtime dependencies, making
the build slower.

> 
> 
> I suppose another way to write this would be:
> 
>     depends on ARCH_ZYNQMP if !COMPILE_TEST
>     depends on PHY_XILINX_ZYNQMP if !COMPILE_TEST
>     depends on XILINX_ZYNQMP_DPDMA if !COMPILE_TEST

I believe the ||COMPILE_TEST pattern is much more common.

>     ...
> 
> Does that work for you?
> 
> 
> Thanks
> ChenYu

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST
  2026-04-10  9:08   ` Chen-Yu Tsai
  2026-04-10  9:27     ` Ville Syrjälä
@ 2026-04-10 10:43     ` Tomi Valkeinen
  1 sibling, 0 replies; 5+ messages in thread
From: Tomi Valkeinen @ 2026-04-10 10:43 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Laurent Pinchart, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, dri-devel, linux-kernel,
	Ville Syrjälä

Hi,

On 10/04/2026 12:08, Chen-Yu Tsai wrote:
> On Fri, Apr 10, 2026 at 4:49 PM Tomi Valkeinen
> <tomi.valkeinen@ideasonboard.com> wrote:
>>
>> Hi,
>>
>> On 08/04/2026 11:14, Chen-Yu Tsai wrote:
>>> The zynqmp-dpsub driver does not have build time dependencies on the PHY
>>> or DMA drivers. These are runtime hardware restrictions.
>>>
>>> Group the two dependencies with ARCH_ZYNQMP so that the driver can be
>>> compile tested without them.
>>>
>>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
>>> ---
>>> IMO the two driver dependencies could be removed altogether, but that
>>> would be up to the driver and platform maintainers.
>>> ---
>>>    drivers/gpu/drm/xlnx/Kconfig | 4 +---
>>>    1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig
>>> index cfabf5e2a0bb..4c6729459f40 100644
>>> --- a/drivers/gpu/drm/xlnx/Kconfig
>>> +++ b/drivers/gpu/drm/xlnx/Kconfig
>>> @@ -1,10 +1,8 @@
>>>    config DRM_ZYNQMP_DPSUB
>>>        tristate "ZynqMP DisplayPort Controller Driver"
>>> -     depends on ARCH_ZYNQMP || COMPILE_TEST
>>> +     depends on (ARCH_ZYNQMP && PHY_XILINX_ZYNQMP && XILINX_ZYNQMP_DPDMA) || COMPILE_TEST
>>>        depends on COMMON_CLK && DRM && OF
>>>        depends on DMADEVICES
>>> -     depends on PHY_XILINX_ZYNQMP
>>> -     depends on XILINX_ZYNQMP_DPDMA
>>>        select DMA_ENGINE
>>>        select DRM_CLIENT_SELECTION
>>>        select DRM_DISPLAY_DP_HELPER
>>
>> I think the above looks more difficult to understand than the current
>> version. We should perhaps rather drop the dependencies. But if we go
>> that way, then... we can also drop DMADEVICES, DMA_ENGINE, GENERIC_PHY
>> at least.
> 
> Perhaps. All the APIs for these are properly stubbed, so I guess
> they also count as runtime dependencies.
> 
>> What problem does this solve? Why are these two dependencies bad for
>> compile testing, but the other dependencies/selects are ok?
> 
> I was build testing changes across multiple DRM drivers in addition to
> the main platform I work on. Having to find and select each dependency
> was annoying.

Ok, makes sense.

> I would say DMADEVICES and GENERIC_PHY are much more common to embedded
> devices than SoC specific drivers.
Ok, so it was just that you already happened to have them, no searching 
needed. And I think COMMON_CLOCK and OF fall into the same category (if 
I recall right, those headers are also stubbed).

>> I personally don't mind hard runtime dependencies expressed in the
>> Kconfig, as searching for the correct dependency-drivers when your
>> driver doesn't probe is always a PITA.
> 
> I don't mind it either. But the way they are described means that compile
> testing is overly dependent on having some other platform specific
> driver enabled.
> 
> 
> I suppose another way to write this would be:
> 
>      depends on ARCH_ZYNQMP if !COMPILE_TEST
>      depends on PHY_XILINX_ZYNQMP if !COMPILE_TEST
>      depends on XILINX_ZYNQMP_DPDMA if !COMPILE_TEST
>      ...
> 
> Does that work for you?
Yes, I think having them on separate lines makes it easier to read. As 
Ville mentioned, the || COMPILE_TEST seems to be more common, so we can 
use that.

Can/should we also add the check to the select lines (DMADEVICES, 
DMA_ENGINE, GENERIC_PHY)? Does that help any? Hmm, but that requires "if 
!COMPILE_TEST", so if we do that, should we also use the same syntax for 
"depends on".

Well, in any case, I'm fine with just dealing with the two xilinx 
specific dependencies, as those have the most impact. This patch is not 
too bad, so I can pick this one. But if we were to add a couple more 
configs to the same line, then I think it makes sense to split it up...

  Tomi


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-04-10 10:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-08  8:14 [PATCH] drm/xlnx/zynqmp-dpsub: Fix dependencies for COMPILE_TEST Chen-Yu Tsai
2026-04-10  8:49 ` Tomi Valkeinen
2026-04-10  9:08   ` Chen-Yu Tsai
2026-04-10  9:27     ` Ville Syrjälä
2026-04-10 10:43     ` Tomi Valkeinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox