From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932801AbdC2BEt (ORCPT ); Tue, 28 Mar 2017 21:04:49 -0400 Received: from regular1.263xmail.com ([211.150.99.140]:46143 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932571AbdC2BEs (ORCPT ); Tue, 28 Mar 2017 21:04:48 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: jeffy.chen@rock-chips.com X-FST-TO: groeck@google.com X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: jeffy.chen@rock-chips.com X-UNIQUE-TAG: <653d2d4a82a5fd01056c049071a406d0> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Message-ID: <58DB07D3.4070809@rock-chips.com> Date: Wed, 29 Mar 2017 09:03:15 +0800 From: jeffy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20130126 Thunderbird/19.0 MIME-Version: 1.0 To: Guenter Roeck , Arnd Bergmann CC: Mark Yao , David Airlie , Heiko Stuebner , Sean Paul , Daniel Vetter , Guenter Roeck , Chris Zhong , Tobias Jakobi , Stephen Boyd , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, "open list:ARM/Rockchip SoC..." , linux-kernel Subject: Re: [PATCH] drm/rockchip: fix Kconfig dependencies References: <20170328101654.73624-1-arnd@arndb.de> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, Tested-by: Jeffy Chen Thanx for fixing this :) On 03/29/2017 12:37 AM, Guenter Roeck wrote: > On Tue, Mar 28, 2017 at 3:16 AM, Arnd Bergmann wrote: >> A bug that I had fixed earlier just came back, with CONFIG_EXTCON=m, >> the rockchip drm driver will fail to link: >> >> drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_get_port_lanes': >> cdn-dp-core.c:(.text.cdn_dp_get_port_lanes+0x30): undefined reference to `extcon_get_state' >> cdn-dp-core.c:(.text.cdn_dp_get_port_lanes+0x6c): undefined reference to `extcon_get_property' >> drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_check_sink_connection': >> cdn-dp-core.c:(.text.cdn_dp_check_sink_connection+0x80): undefined reference to `extcon_get_state' >> drivers/gpu/drm/rockchip/cdn-dp-core.o: In function `cdn_dp_enable': >> cdn-dp-core.c:(.text.cdn_dp_enable+0x748): undefined reference to `extcon_get_property' >> >> The problem is that that the sub-drivers are now all linked into the >> main rockchip drm module, which breaks all the Kconfig dependencies >> that are specified in the options for those sub-drivers. >> >> This clarifies the dependency to ensure that we can only turn on the DP >> driver when EXTCON is reachable. As the 'select' statements can now >> cause additional options to become built-in when they should be >> loadable modules, I'm moving those into the main driver config option. >> The dependency on DRM_ROCKCHIP can be reduced into a single 'if' >> statement here for brevity, but this has no functional effect. >> >> Fixes: b6705157b2db ("drm/rockchip: add extcon dependency for DP") >> Fixes: 8820b68bd378 ("drm/rockchip: Refactor the component match logic.") >> Signed-off-by: Arnd Bergmann > > Acked-by: Guenter Roeck > >> --- >> drivers/gpu/drm/rockchip/Kconfig | 19 +++++++++---------- >> 1 file changed, 9 insertions(+), 10 deletions(-) >> >> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig >> index 50c41c0a50ef..dcc539ba85d6 100644 >> --- a/drivers/gpu/drm/rockchip/Kconfig >> +++ b/drivers/gpu/drm/rockchip/Kconfig >> @@ -5,6 +5,10 @@ config DRM_ROCKCHIP >> select DRM_KMS_HELPER >> select DRM_PANEL >> select VIDEOMODE_HELPERS >> + select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP >> + select DRM_DW_HDMI if ROCKCHIP_DW_HDMI >> + select DRM_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI >> + select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC >> help >> Choose this option if you have a Rockchip soc chipset. >> This driver provides kernel mode setting and buffer >> @@ -12,10 +16,10 @@ config DRM_ROCKCHIP >> 2D or 3D acceleration; acceleration is performed by other >> IP found on the SoC. >> >> +if DRM_ROCKCHIP >> + >> config ROCKCHIP_ANALOGIX_DP >> bool "Rockchip specific extensions for Analogix DP driver" >> - depends on DRM_ROCKCHIP >> - select DRM_ANALOGIX_DP >> help >> This selects support for Rockchip SoC specific extensions >> for the Analogix Core DP driver. If you want to enable DP >> @@ -23,9 +27,7 @@ config ROCKCHIP_ANALOGIX_DP >> >> config ROCKCHIP_CDN_DP >> bool "Rockchip cdn DP" >> - depends on DRM_ROCKCHIP >> - depends on EXTCON >> - select SND_SOC_HDMI_CODEC if SND_SOC >> + depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m) >> help >> This selects support for Rockchip SoC specific extensions >> for the cdn DP driver. If you want to enable Dp on >> @@ -34,8 +36,6 @@ config ROCKCHIP_CDN_DP >> >> config ROCKCHIP_DW_HDMI >> bool "Rockchip specific extensions for Synopsys DW HDMI" >> - depends on DRM_ROCKCHIP >> - select DRM_DW_HDMI >> help >> This selects support for Rockchip SoC specific extensions >> for the Synopsys DesignWare HDMI driver. If you want to >> @@ -44,8 +44,6 @@ config ROCKCHIP_DW_HDMI >> >> config ROCKCHIP_DW_MIPI_DSI >> bool "Rockchip specific extensions for Synopsys DW MIPI DSI" >> - depends on DRM_ROCKCHIP >> - select DRM_MIPI_DSI >> help >> This selects support for Rockchip SoC specific extensions >> for the Synopsys DesignWare HDMI driver. If you want to >> @@ -54,8 +52,9 @@ config ROCKCHIP_DW_MIPI_DSI >> >> config ROCKCHIP_INNO_HDMI >> bool "Rockchip specific extensions for Innosilicon HDMI" >> - depends on DRM_ROCKCHIP >> help >> This selects support for Rockchip SoC specific extensions >> for the Innosilicon HDMI driver. If you want to enable >> HDMI on RK3036 based SoC, you should select this option. >> + >> +endif >> -- >> 2.9.0 >> > > >