Received: by 2002:a05:7412:bb8d:b0:d7:7d3a:4fe2 with SMTP id js13csp361237rdb; Mon, 14 Aug 2023 21:09:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFkjzqFSdqReTGxPllxFDNETCWf6Mu92t7uO06w4OEl2LsORj+JV6VMjT4fQk5H4ifzrkvD X-Received: by 2002:a17:906:23e1:b0:99b:bf8d:b7e1 with SMTP id j1-20020a17090623e100b0099bbf8db7e1mr9154225ejg.17.1692072546097; Mon, 14 Aug 2023 21:09:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692072546; cv=none; d=google.com; s=arc-20160816; b=C7WMFug/ugR4m/t8i1TEcru+dMAA4ewEmV6Znv9bsLUj0RZRAaqm+O65Bw7i91X4Ix D5X93MoKL2QvnkCCwnnoip/Z2rw2LI5lzyPmCHXLWUYUG98lk1D6XwJo9mvvHjzr5xYd SjAMVRxlypLgAwV+OLslBNsbY9G1lpBCpni/WI0Zq4QAOZZ2vZ36mkUexONCt+n2XY67 Tt2FWgGbrd25GfrT93H+jtQpCbZPyE3H1eITVlGt1czVlhzyETInn4ozsLU+EbdhaM/I qDGU5nK1oztR22/rM9x5Ii2LnIhl/z8BbU1VNmjIvtTy1KlSHWskPU7jUEFBDOYPzTea WtoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=q+I3GaHmhjqnATm9cbio4hiDpW+bixxT77UhJjrCmbE=; fh=oXFkNNImRwLUfWVLQFUdNd6nf+zhYLWx+g7ACQGNFrQ=; b=ajvYtS2eTDH2syc2HhI399t8YLkz64OC1AZc5kx0zMq0hccPldlMhBBLwFmJu3dhRU lfwx7NEXiXgl5XlB/mjMkgOt95TpUQHAax/VnpgqBrcV1fNAzveQYhkqnrlu05UGqWYg tcxydieu/49H2Tis0Hj9NM32bueieZtFfpTY4Ejb/1Aty8G0XG8YTyKGtcf8G9FctfW7 e80fJofR8O6rRrqNJZxn4c4hB1hueUlMOAbCnLaWvMXaOLXQTDvWH1gklaWiFsM9hb7h RFU2TucBrUy0sakkWUQY4CTD2BUI5wxUkfV17smc0RTXeAqU5NS+rFmyXbZChnMyICIC bA3A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w8-20020a1709067c8800b0098734429161si8857405ejo.181.2023.08.14.21.08.40; Mon, 14 Aug 2023 21:09:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229598AbjHOB1a (ORCPT + 99 others); Mon, 14 Aug 2023 21:27:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233695AbjHOB1Y (ORCPT ); Mon, 14 Aug 2023 21:27:24 -0400 Received: from wxsgout04.xfusion.com (wxsgout03.xfusion.com [36.139.52.80]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 50981B2 for ; Mon, 14 Aug 2023 18:27:14 -0700 (PDT) Received: from wuxshcsitd00600.xfusion.com (unknown [10.32.133.213]) by wxsgout04.xfusion.com (SkyGuard) with ESMTPS id 4RPtrF4Brwz9xgXd; Tue, 15 Aug 2023 09:25:49 +0800 (CST) Received: from localhost (10.82.147.3) by wuxshcsitd00600.xfusion.com (10.32.133.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 15 Aug 2023 09:27:06 +0800 Date: Tue, 15 Aug 2023 09:27:05 +0800 From: Wang Jinchao To: Jani Nikula CC: Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , , , , Subject: Re: [PATCH] drm/i915: Fix Kconfig error for CONFIG_DRM_I915 Message-ID: References: <87o7jaythm.fsf@intel.com> <87h6p1ddoz.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <87h6p1ddoz.fsf@intel.com> X-Originating-IP: [10.82.147.3] X-ClientProxiedBy: wuxshcsitd00602.xfusion.com (10.32.132.250) To wuxshcsitd00600.xfusion.com (10.32.133.213) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 14, 2023 at 03:13:32PM +0300, Jani Nikula wrote: > On Mon, 14 Aug 2023, Wang Jinchao wrote: > > On Mon, Aug 14, 2023 at 10:26:45AM +0300, Jani Nikula wrote: > >> On Sat, 12 Aug 2023, Wang Jinchao wrote: > >> > When CONFIG_DRM_I915 is set to 'y' and CONFIG_BACKLIGHT_CLASS_DEVICE > >> > is set to 'm', we encountered an ld.lld error during the build process: > >> > > >> > ld.lld: error: undefined symbol: backlight_device_get_by_name > >> > >>> referenced by intel_backlight.c:955 > >> > >>> vmlinux.o:(intel_backlight_device_register) > >> > > >> > ld.lld: error: undefined symbol: backlight_device_register > >> > >>> referenced by intel_backlight.c:971 > >> > >>> vmlinux.o:(intel_backlight_device_register) > >> > > >> > ld.lld: error: undefined symbol: backlight_device_unregister > >> > >>> referenced by intel_backlight.c:999 > >> > >>> vmlinux.o:(intel_backlight_device_unregister) > >> > > >> > This issue occurred because intel_backlight_device_register and > >> > intel_backlight_device_unregister were enclosed within > >> > However, according to Kconfig, CONFIG_DRM_I915 will select > >> > BACKLIGHT_CLASS_DEVICE only if ACPI is enabled. > >> > This led to an error, which can be resolved by removing the > >> > conditional statements related to ACPI. > >> > >> The real fix is to use > >> > >> depends on BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n > > it works. > >> > >> but in order to do that, you need to change a lot of places to depend > > Why, what are the other places? > > Generally when you have a mixture of depends on and select on a kconfig > symbol, you'll eventually end up with dependency problems. > > BR, > Jani. > Now that I understand what you said, I will make an effort to correct it. GEN Makefile drivers/gpu/drm/i915/Kconfig:2:error: recursive dependency detected! drivers/gpu/drm/i915/Kconfig:2: symbol DRM_I915 depends on BACKLIGHT_CLASS_DEVICE drivers/video/backlight/Kconfig:136: symbol BACKLIGHT_CLASS_DEVICE is selected by DRM_FSL_DCU drivers/gpu/drm/fsl-dcu/Kconfig:2: symbol DRM_FSL_DCU depends on COMMON_CLK drivers/clk/Kconfig:21: symbol COMMON_CLK is selected by X86_INTEL_QUARK arch/x86/Kconfig:627: symbol X86_INTEL_QUARK depends on X86_PLATFORM_DEVICES drivers/platform/x86/Kconfig:6: symbol X86_PLATFORM_DEVICES is selected by DRM_I915 For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations" > > >> on, not select BACKLIGHT_CLASS_DEVICE, because otherwise you end up with > > got it. > >> other dependency issues. > >> > >> BR, > >> Jani. > >> > >> > > >> > Signed-off-by: Wang Jinchao > >> > --- > >> > drivers/gpu/drm/i915/Kconfig | 2 +- > >> > 1 file changed, 1 insertion(+), 1 deletion(-) > >> > > >> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig > >> > index 01b5a8272a27..5003de921bf7 100644 > >> > --- a/drivers/gpu/drm/i915/Kconfig > >> > +++ b/drivers/gpu/drm/i915/Kconfig > >> > @@ -24,7 +24,7 @@ config DRM_I915 > >> > select IRQ_WORK > >> > # i915 depends on ACPI_VIDEO when ACPI is enabled > >> > # but for select to work, need to select ACPI_VIDEO's dependencies, ick > >> > - select BACKLIGHT_CLASS_DEVICE if ACPI > >> > + select BACKLIGHT_CLASS_DEVICE > >> > select INPUT if ACPI > >> > select X86_PLATFORM_DEVICES if ACPI > >> > select ACPI_WMI if ACPI > >> > >> -- > >> Jani Nikula, Intel Open Source Graphics Center > > -- > Jani Nikula, Intel Open Source Graphics Center