From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A092C433EF for ; Wed, 27 Oct 2021 11:51:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C6E816103C for ; Wed, 27 Oct 2021 11:51:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C6E816103C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F24F26E88B; Wed, 27 Oct 2021 11:51:40 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6F8F96E88B for ; Wed, 27 Oct 2021 11:51:40 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10149"; a="316345988" X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="316345988" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 04:51:39 -0700 X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="497831225" Received: from smaharan-mobl.gar.corp.intel.com (HELO localhost) ([10.251.214.195]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 04:51:34 -0700 From: Jani Nikula To: Javier Martinez Canillas , linux-kernel@vger.kernel.org Cc: Dan =?utf-8?Q?Hor=C3=A1k?= , "Justin M . Forbes" , Peter Robinson , Javier Martinez Canillas , Daniel Vetter , David Airlie , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , dri-devel@lists.freedesktop.org Subject: Re: [PATCH] drm: Make DRM_FBDEV_EMULATION deps more robust to fix linker errors In-Reply-To: <20211027072044.4105113-1-javierm@redhat.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20211027072044.4105113-1-javierm@redhat.com> Date: Wed, 27 Oct 2021 14:51:31 +0300 Message-ID: <875ytiit30.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Wed, 27 Oct 2021, Javier Martinez Canillas wrote: > Enabling the CONFIG_DRM_FBDEV_EMULATION Kconfig symbol can lead to linker > errors, if CONFIG_DRM_KMS_HELPER is built-in but CONFIG_FB as a module. > > Because in that case the drm_kms_helper.o object will have references to > symbols that are defined in the fb.ko module, i.e: > > $ make bzImage modules > DESCEND objtool > CALL scripts/atomic/check-atomics.sh > CALL scripts/checksyscalls.sh > CHK include/generated/compile.h > GEN .version > CHK include/generated/compile.h > UPD include/generated/compile.h > CC init/version.o > AR init/built-in.a > LD vmlinux.o > MODPOST vmlinux.symvers > MODINFO modules.builtin.modinfo > GEN modules.builtin > LD .tmp_vmlinux.kallsyms1 > ld: drivers/gpu/drm/drm_fb_helper.o: in function `drm_fb_helper_resume_worker': > drm_fb_helper.c:(.text+0x2a0): undefined reference to `fb_set_suspend' > ... > > To prevent this, make following changes to the config option dependencies: > > * Depend on FB && !(DRM_KMS_HELPER=y && FB=m), to avoid invalid configs. > * Depend on DRM_KMS_HELPER instead selecting it, to avoid circular deps. > > Reported-by: Justin M. Forbes > Signed-off-by: Javier Martinez Canillas Please see [1]. I think it's a big mess. I don't think this is the fix either. BR, Jani. [1] https://lore.kernel.org/r/878ryeit9i.fsf@intel.com > --- > > This fixes linker errors found when building the Fedora kernel package > for the s390x architecture: > > https://kojipkgs.fedoraproject.org//work/tasks/9849/77859849/build.log > > drivers/gpu/drm/Kconfig | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index cea777ae7fb9..9a21e57b4a0d 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -103,8 +103,8 @@ config DRM_DEBUG_DP_MST_TOPOLOGY_REFS > config DRM_FBDEV_EMULATION > bool "Enable legacy fbdev support for your modesetting driver" > depends on DRM > - depends on FB > - select DRM_KMS_HELPER > + depends on FB && !(DRM_KMS_HELPER=y && FB=m) > + depends on DRM_KMS_HELPER > select FB_CFB_FILLRECT > select FB_CFB_COPYAREA > select FB_CFB_IMAGEBLIT -- Jani Nikula, Intel Open Source Graphics Center