diff mbox

drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC

Message ID 20180220102903.27787-1-thierry.reding@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Thierry Reding Feb. 20, 2018, 10:29 a.m. UTC
From: Thierry Reding <treding@nvidia.com>

DRM_DUMB_VGA_DAC is a user-visible symbol. Selecting it can cause unmet
direct dependencies such as this (on i386, randconfig):

	warning: (DRM_PL111) selects DRM_DUMB_VGA_DAC which has unmet direct dependencies (HAS_IOMEM && DRM && DRM_BRIDGE && OF)

This is because DRM_DUMB_VGA_DAC depends on OF while DRM_PL111 does not.
It does indirectly depend on OF via the ARM and ARM64 dependencies, but
since it can also be enabled under COMPILE_TEST, randconfig can find a
case where DRM_PL111 is selected without pulling in OF and not meeting
the dependency for DRM_DUMB_VGA_DAC.

Since select is "heavy handed", DRM_DUMB_VGA_DAC is going to be enabled
regardless of the above warning and causes the following build error:

	../drivers/gpu/drm/bridge/dumb-vga-dac.c: In function 'dumb_vga_probe':
	../drivers/gpu/drm/bridge/dumb-vga-dac.c:207:13: error: 'struct drm_bridge' has no member named 'of_node'
	  vga->bridge.of_node = pdev->dev.of_node;

See Documentation/kbuild/kconfig-language.txt, "reverse dependencies".

Fixes: 49f81d80ab84 ("drm/pl111: Support handling bridge timings")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Archit Taneja <architt@codeaurora.org>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/gpu/drm/pl111/Kconfig | 1 -
 1 file changed, 1 deletion(-)

Comments

Archit Taneja Feb. 20, 2018, 11:14 a.m. UTC | #1
On Tuesday 20 February 2018 03:59 PM, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> DRM_DUMB_VGA_DAC is a user-visible symbol. Selecting it can cause unmet
> direct dependencies such as this (on i386, randconfig):
> 
> 	warning: (DRM_PL111) selects DRM_DUMB_VGA_DAC which has unmet direct dependencies (HAS_IOMEM && DRM && DRM_BRIDGE && OF)
> 
> This is because DRM_DUMB_VGA_DAC depends on OF while DRM_PL111 does not.
> It does indirectly depend on OF via the ARM and ARM64 dependencies, but
> since it can also be enabled under COMPILE_TEST, randconfig can find a
> case where DRM_PL111 is selected without pulling in OF and not meeting
> the dependency for DRM_DUMB_VGA_DAC.
> 
> Since select is "heavy handed", DRM_DUMB_VGA_DAC is going to be enabled
> regardless of the above warning and causes the following build error:
> 
> 	../drivers/gpu/drm/bridge/dumb-vga-dac.c: In function 'dumb_vga_probe':
> 	../drivers/gpu/drm/bridge/dumb-vga-dac.c:207:13: error: 'struct drm_bridge' has no member named 'of_node'
> 	  vga->bridge.of_node = pdev->dev.of_node;
> 
> See Documentation/kbuild/kconfig-language.txt, "reverse dependencies".

+Linus.

I guess this needs to go in drm-misc-fixes once it is updated to
4.16-rc2.

Thanks,
Archit

> 
> Fixes: 49f81d80ab84 ("drm/pl111: Support handling bridge timings")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>   drivers/gpu/drm/pl111/Kconfig | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
> index 82cb3e60ddc8..e5e2abd66491 100644
> --- a/drivers/gpu/drm/pl111/Kconfig
> +++ b/drivers/gpu/drm/pl111/Kconfig
> @@ -8,7 +8,6 @@ config DRM_PL111
>   	select DRM_GEM_CMA_HELPER
>   	select DRM_BRIDGE
>   	select DRM_PANEL_BRIDGE
> -	select DRM_DUMB_VGA_DAC
>   	select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
>   	help
>   	  Choose this option for DRM support for the PL111 CLCD controller.
>
Linus Walleij Feb. 21, 2018, 7:05 a.m. UTC | #2
On Tue, Feb 20, 2018 at 11:29 AM, Thierry Reding
<thierry.reding@gmail.com> wrote:

> From: Thierry Reding <treding@nvidia.com>
>
> DRM_DUMB_VGA_DAC is a user-visible symbol. Selecting it can cause unmet
> direct dependencies such as this (on i386, randconfig):
>
>         warning: (DRM_PL111) selects DRM_DUMB_VGA_DAC which has unmet direct dependencies (HAS_IOMEM && DRM && DRM_BRIDGE && OF)
>
> This is because DRM_DUMB_VGA_DAC depends on OF while DRM_PL111 does not.
> It does indirectly depend on OF via the ARM and ARM64 dependencies, but
> since it can also be enabled under COMPILE_TEST, randconfig can find a
> case where DRM_PL111 is selected without pulling in OF and not meeting
> the dependency for DRM_DUMB_VGA_DAC.
>
> Since select is "heavy handed", DRM_DUMB_VGA_DAC is going to be enabled
> regardless of the above warning and causes the following build error:
>
>         ../drivers/gpu/drm/bridge/dumb-vga-dac.c: In function 'dumb_vga_probe':
>         ../drivers/gpu/drm/bridge/dumb-vga-dac.c:207:13: error: 'struct drm_bridge' has no member named 'of_node'
>           vga->bridge.of_node = pdev->dev.of_node;
>
> See Documentation/kbuild/kconfig-language.txt, "reverse dependencies".
>
> Fixes: 49f81d80ab84 ("drm/pl111: Support handling bridge timings")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Thierry Reding <treding@nvidia.com>

OK sorry about that, I just get to let the platforms that need the bridge
select it explicitly.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Eric Anholt Feb. 22, 2018, 8:10 p.m. UTC | #3
Thierry Reding <thierry.reding@gmail.com> writes:

> From: Thierry Reding <treding@nvidia.com>
>
> DRM_DUMB_VGA_DAC is a user-visible symbol. Selecting it can cause unmet
> direct dependencies such as this (on i386, randconfig):
>
> 	warning: (DRM_PL111) selects DRM_DUMB_VGA_DAC which has unmet direct dependencies (HAS_IOMEM && DRM && DRM_BRIDGE && OF)
>
> This is because DRM_DUMB_VGA_DAC depends on OF while DRM_PL111 does not.
> It does indirectly depend on OF via the ARM and ARM64 dependencies, but
> since it can also be enabled under COMPILE_TEST, randconfig can find a
> case where DRM_PL111 is selected without pulling in OF and not meeting
> the dependency for DRM_DUMB_VGA_DAC.
>
> Since select is "heavy handed", DRM_DUMB_VGA_DAC is going to be enabled
> regardless of the above warning and causes the following build error:
>
> 	../drivers/gpu/drm/bridge/dumb-vga-dac.c: In function 'dumb_vga_probe':
> 	../drivers/gpu/drm/bridge/dumb-vga-dac.c:207:13: error: 'struct drm_bridge' has no member named 'of_node'
> 	  vga->bridge.of_node = pdev->dev.of_node;
>
> See Documentation/kbuild/kconfig-language.txt, "reverse dependencies".
>
> Fixes: 49f81d80ab84 ("drm/pl111: Support handling bridge timings")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>  drivers/gpu/drm/pl111/Kconfig | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
> index 82cb3e60ddc8..e5e2abd66491 100644
> --- a/drivers/gpu/drm/pl111/Kconfig
> +++ b/drivers/gpu/drm/pl111/Kconfig
> @@ -8,7 +8,6 @@ config DRM_PL111
>  	select DRM_GEM_CMA_HELPER
>  	select DRM_BRIDGE
>  	select DRM_PANEL_BRIDGE
> -	select DRM_DUMB_VGA_DAC
>  	select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
>  	help
>  	  Choose this option for DRM support for the PL111 CLCD controller.
> -- 
> 2.15.1

Reviewed-by: Eric Anholt <eric@anholt.net>
Archit Taneja Feb. 26, 2018, 10:16 a.m. UTC | #4
On Tuesday 20 February 2018 04:44 PM, Archit Taneja wrote:
> 
> 
> On Tuesday 20 February 2018 03:59 PM, Thierry Reding wrote:
>> From: Thierry Reding <treding@nvidia.com>
>>
>> DRM_DUMB_VGA_DAC is a user-visible symbol. Selecting it can cause unmet
>> direct dependencies such as this (on i386, randconfig):
>>
>>     warning: (DRM_PL111) selects DRM_DUMB_VGA_DAC which has unmet 
>> direct dependencies (HAS_IOMEM && DRM && DRM_BRIDGE && OF)
>>
>> This is because DRM_DUMB_VGA_DAC depends on OF while DRM_PL111 does not.
>> It does indirectly depend on OF via the ARM and ARM64 dependencies, but
>> since it can also be enabled under COMPILE_TEST, randconfig can find a
>> case where DRM_PL111 is selected without pulling in OF and not meeting
>> the dependency for DRM_DUMB_VGA_DAC.
>>
>> Since select is "heavy handed", DRM_DUMB_VGA_DAC is going to be enabled
>> regardless of the above warning and causes the following build error:
>>
>>     ../drivers/gpu/drm/bridge/dumb-vga-dac.c: In function 
>> 'dumb_vga_probe':
>>     ../drivers/gpu/drm/bridge/dumb-vga-dac.c:207:13: error: 'struct 
>> drm_bridge' has no member named 'of_node'
>>       vga->bridge.of_node = pdev->dev.of_node;
>>
>> See Documentation/kbuild/kconfig-language.txt, "reverse dependencies".
> 
> +Linus.
> 
> I guess this needs to go in drm-misc-fixes once it is updated to
> 4.16-rc2.

Looks like this was headed for 4.17, it isn't a part of 4.16. Queued to 
drm-misc-next.

Thanks,
Archit

> 
> Thanks,
> Archit
> 
>>
>> Fixes: 49f81d80ab84 ("drm/pl111: Support handling bridge timings")
>> Reported-by: Randy Dunlap <rdunlap@infradead.org>
>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Cc: Archit Taneja <architt@codeaurora.org>
>> Cc: Eric Anholt <eric@anholt.net>
>> Signed-off-by: Thierry Reding <treding@nvidia.com>
>> ---
>>   drivers/gpu/drm/pl111/Kconfig | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/pl111/Kconfig 
>> b/drivers/gpu/drm/pl111/Kconfig
>> index 82cb3e60ddc8..e5e2abd66491 100644
>> --- a/drivers/gpu/drm/pl111/Kconfig
>> +++ b/drivers/gpu/drm/pl111/Kconfig
>> @@ -8,7 +8,6 @@ config DRM_PL111
>>       select DRM_GEM_CMA_HELPER
>>       select DRM_BRIDGE
>>       select DRM_PANEL_BRIDGE
>> -    select DRM_DUMB_VGA_DAC
>>       select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
>>       help
>>         Choose this option for DRM support for the PL111 CLCD controller.
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
index 82cb3e60ddc8..e5e2abd66491 100644
--- a/drivers/gpu/drm/pl111/Kconfig
+++ b/drivers/gpu/drm/pl111/Kconfig
@@ -8,7 +8,6 @@  config DRM_PL111
 	select DRM_GEM_CMA_HELPER
 	select DRM_BRIDGE
 	select DRM_PANEL_BRIDGE
-	select DRM_DUMB_VGA_DAC
 	select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
 	help
 	  Choose this option for DRM support for the PL111 CLCD controller.