From: Kees Cook <keescook@chromium.org> To: Daniel Vetter <daniel@ffwll.ch> Cc: Rob Herring <robh@kernel.org>, Dave Airlie <airlied@redhat.com>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, David Airlie <airlied@linux.ie>, Arnd Bergmann <arnd@kernel.org>, kernel test robot <lkp@intel.com>, Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>, Emma Anholt <emma@anholt.net>, Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>, Sharat Masetty <smasetty@codeaurora.org>, Linus Walleij <linus.walleij@linaro.org>, Sam Ravnborg <sam@ravnborg.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, dri-devel <dri-devel@lists.freedesktop.org>, linux-arm-msm <linux-arm-msm@vger.kernel.org>, freedreno <freedreno@lists.freedesktop.org> Subject: Re: [PATCH 3/3] drm/pl111: depend on CONFIG_VEXPRESS_CONFIG Date: Thu, 3 Jun 2021 14:29:05 -0700 [thread overview] Message-ID: <202106031422.FD9E3C5755@keescook> (raw) In-Reply-To: <202106031357.BE2A09DA8F@keescook> On Thu, Jun 03, 2021 at 02:19:52PM -0700, Kees Cook wrote: > On Thu, Jun 03, 2021 at 09:19:42PM +0200, Daniel Vetter wrote: > > On Thu, Jun 3, 2021 at 8:43 PM Rob Herring <robh@kernel.org> wrote: > > > > > > On Wed, Jun 2, 2021 at 4:53 PM Kees Cook <keescook@chromium.org> wrote: > > > > > > > > Avoid randconfig build failures by requiring VEXPRESS_CONFIG: > > > > > > > > aarch64-linux-gnu-ld: drivers/gpu/drm/pl111/pl111_versatile.o: in function `pl111_vexpress_clcd_init': > > > > pl111_versatile.c:(.text+0x220): undefined reference to `devm_regmap_init_vexpress_config' > > > > > > pl111_vexpress_clcd_init() starts with: > > > > > > if (!IS_ENABLED(CONFIG_VEXPRESS_CONFIG)) > > > return -ENODEV; > > > > > > Isn't that supposed to be enough to avoid an undefined reference? > > Ah! I missed that when reading the code. I see the problem now. It's > because of: > > CONFIG_VEXPRESS_CONFIG=m > CONFIG_DRM_PL111=y > > I think the right fix is: > > diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig > index 80f6748055e3..662fc38f92ba 100644 > --- a/drivers/gpu/drm/pl111/Kconfig > +++ b/drivers/gpu/drm/pl111/Kconfig > @@ -3,6 +3,7 @@ config DRM_PL111 > tristate "DRM Support for PL111 CLCD Controller" > depends on DRM > depends on ARM || ARM64 || COMPILE_TEST > + depends on VEXPRESS_CONFIG=y || VEXPRESS_CONFIG=DRM Oops, no, I had this backwairds: depends on !VEXPRESS_CONFIG || VEXPRESS_CONFIG=DRM _that_ lets me build with: # CONFIG_VEXPRESS_CONFIG is not set CONFIG_DRM_PL111=y CONFIG_VEXPRESS_CONFIG=y CONFIG_DRM_PL111=y CONFIG_VEXPRESS_CONFIG=m CONFIG_DRM_PL111=m CONFIG_VEXPRESS_CONFIG=y CONFIG_DRM_PL111=m and disallows: CONFIG_VEXPRESS_CONFIG=m CONFIG_DRM_PL111=y (this will force CONFIG_DRM_PL111=m) -Kees > depends on COMMON_CLK > select DRM_KMS_HELPER > select DRM_KMS_CMA_HELPER > > I will go check the defconfigs Rob mentioned... > > > > Making the whole file depend on VEXPRESS_CONFIG is not right either. > > > Not all platforms need it. > > > > It needs a compile-time status inline then for the functions we're > > using in pl111. > > FYI, this is the config I was working from, which was throwing link errors: > https://lore.kernel.org/lkml/202105300926.fX0MYySp-lkp@intel.com/ > > > -Daniel > > > > > > > > > > > > > Fixes: 826fc86b5903 ("drm: pl111: Move VExpress setup into versatile init") > > > > Signed-off-by: Kees Cook <keescook@chromium.org> > > > > --- > > > > drivers/gpu/drm/pl111/Kconfig | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig > > > > index 80f6748055e3..c5210a5bef1b 100644 > > > > --- a/drivers/gpu/drm/pl111/Kconfig > > > > +++ b/drivers/gpu/drm/pl111/Kconfig > > > > @@ -2,7 +2,7 @@ > > > > config DRM_PL111 > > > > tristate "DRM Support for PL111 CLCD Controller" > > > > depends on DRM > > > > - depends on ARM || ARM64 || COMPILE_TEST > > > > + depends on VEXPRESS_CONFIG > > > > depends on COMMON_CLK > > > > select DRM_KMS_HELPER > > > > select DRM_KMS_CMA_HELPER > > > > -- > > > > 2.25.1 > > > > > > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch > > -- > Kees Cook -- Kees Cook
WARNING: multiple messages have this Message-ID
From: Kees Cook <keescook@chromium.org> To: Daniel Vetter <daniel@ffwll.ch> Cc: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>, kernel test robot <lkp@intel.com>, Emma Anholt <emma@anholt.net>, Arnd Bergmann <arnd@kernel.org>, David Airlie <airlied@linux.ie>, Sam Ravnborg <sam@ravnborg.org>, Sharat Masetty <smasetty@codeaurora.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, dri-devel <dri-devel@lists.freedesktop.org>, Thomas Zimmermann <tzimmermann@suse.de>, linux-arm-msm <linux-arm-msm@vger.kernel.org>, Dave Airlie <airlied@redhat.com>, freedreno <freedreno@lists.freedesktop.org>, Sean Paul <sean@poorly.run> Subject: Re: [PATCH 3/3] drm/pl111: depend on CONFIG_VEXPRESS_CONFIG Date: Thu, 3 Jun 2021 14:29:05 -0700 [thread overview] Message-ID: <202106031422.FD9E3C5755@keescook> (raw) In-Reply-To: <202106031357.BE2A09DA8F@keescook> On Thu, Jun 03, 2021 at 02:19:52PM -0700, Kees Cook wrote: > On Thu, Jun 03, 2021 at 09:19:42PM +0200, Daniel Vetter wrote: > > On Thu, Jun 3, 2021 at 8:43 PM Rob Herring <robh@kernel.org> wrote: > > > > > > On Wed, Jun 2, 2021 at 4:53 PM Kees Cook <keescook@chromium.org> wrote: > > > > > > > > Avoid randconfig build failures by requiring VEXPRESS_CONFIG: > > > > > > > > aarch64-linux-gnu-ld: drivers/gpu/drm/pl111/pl111_versatile.o: in function `pl111_vexpress_clcd_init': > > > > pl111_versatile.c:(.text+0x220): undefined reference to `devm_regmap_init_vexpress_config' > > > > > > pl111_vexpress_clcd_init() starts with: > > > > > > if (!IS_ENABLED(CONFIG_VEXPRESS_CONFIG)) > > > return -ENODEV; > > > > > > Isn't that supposed to be enough to avoid an undefined reference? > > Ah! I missed that when reading the code. I see the problem now. It's > because of: > > CONFIG_VEXPRESS_CONFIG=m > CONFIG_DRM_PL111=y > > I think the right fix is: > > diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig > index 80f6748055e3..662fc38f92ba 100644 > --- a/drivers/gpu/drm/pl111/Kconfig > +++ b/drivers/gpu/drm/pl111/Kconfig > @@ -3,6 +3,7 @@ config DRM_PL111 > tristate "DRM Support for PL111 CLCD Controller" > depends on DRM > depends on ARM || ARM64 || COMPILE_TEST > + depends on VEXPRESS_CONFIG=y || VEXPRESS_CONFIG=DRM Oops, no, I had this backwairds: depends on !VEXPRESS_CONFIG || VEXPRESS_CONFIG=DRM _that_ lets me build with: # CONFIG_VEXPRESS_CONFIG is not set CONFIG_DRM_PL111=y CONFIG_VEXPRESS_CONFIG=y CONFIG_DRM_PL111=y CONFIG_VEXPRESS_CONFIG=m CONFIG_DRM_PL111=m CONFIG_VEXPRESS_CONFIG=y CONFIG_DRM_PL111=m and disallows: CONFIG_VEXPRESS_CONFIG=m CONFIG_DRM_PL111=y (this will force CONFIG_DRM_PL111=m) -Kees > depends on COMMON_CLK > select DRM_KMS_HELPER > select DRM_KMS_CMA_HELPER > > I will go check the defconfigs Rob mentioned... > > > > Making the whole file depend on VEXPRESS_CONFIG is not right either. > > > Not all platforms need it. > > > > It needs a compile-time status inline then for the functions we're > > using in pl111. > > FYI, this is the config I was working from, which was throwing link errors: > https://lore.kernel.org/lkml/202105300926.fX0MYySp-lkp@intel.com/ > > > -Daniel > > > > > > > > > > > > > Fixes: 826fc86b5903 ("drm: pl111: Move VExpress setup into versatile init") > > > > Signed-off-by: Kees Cook <keescook@chromium.org> > > > > --- > > > > drivers/gpu/drm/pl111/Kconfig | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig > > > > index 80f6748055e3..c5210a5bef1b 100644 > > > > --- a/drivers/gpu/drm/pl111/Kconfig > > > > +++ b/drivers/gpu/drm/pl111/Kconfig > > > > @@ -2,7 +2,7 @@ > > > > config DRM_PL111 > > > > tristate "DRM Support for PL111 CLCD Controller" > > > > depends on DRM > > > > - depends on ARM || ARM64 || COMPILE_TEST > > > > + depends on VEXPRESS_CONFIG > > > > depends on COMMON_CLK > > > > select DRM_KMS_HELPER > > > > select DRM_KMS_CMA_HELPER > > > > -- > > > > 2.25.1 > > > > > > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > http://blog.ffwll.ch > > -- > Kees Cook -- Kees Cook
next prev parent reply other threads:[~2021-06-03 21:30 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-02 21:52 [PATCH 0/3] drm: Fix randconfig link failures Kees Cook 2021-06-02 21:52 ` Kees Cook 2021-06-02 21:52 ` [PATCH 1/3] drm: Avoid circular dependencies for CONFIG_FB Kees Cook 2021-06-02 21:52 ` Kees Cook 2021-06-03 8:48 ` Daniel Vetter 2021-06-03 8:48 ` Daniel Vetter 2021-06-03 18:48 ` Rob Herring 2021-06-03 18:48 ` Rob Herring 2021-06-02 21:52 ` [PATCH 2/3] drm/msm/a6xx: add CONFIG_QCOM_LLCC dependency Kees Cook 2021-06-02 21:52 ` Kees Cook 2021-06-02 21:52 ` [PATCH 3/3] drm/pl111: depend on CONFIG_VEXPRESS_CONFIG Kees Cook 2021-06-02 21:52 ` Kees Cook 2021-06-03 18:42 ` Rob Herring 2021-06-03 18:42 ` Rob Herring 2021-06-03 19:19 ` Daniel Vetter 2021-06-03 19:19 ` Daniel Vetter 2021-06-03 21:19 ` Kees Cook 2021-06-03 21:19 ` Kees Cook 2021-06-03 21:29 ` Kees Cook [this message] 2021-06-03 21:29 ` Kees Cook 2021-06-03 21:41 ` Daniel Vetter 2021-06-03 21:41 ` Daniel Vetter 2021-06-03 21:48 ` Kees Cook 2021-06-03 21:48 ` Kees Cook 2021-06-03 19:54 ` Rob Herring 2021-06-03 19:54 ` Rob Herring
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202106031422.FD9E3C5755@keescook \ --to=keescook@chromium.org \ --cc=airlied@linux.ie \ --cc=airlied@redhat.com \ --cc=arnd@kernel.org \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=emma@anholt.net \ --cc=freedreno@lists.freedesktop.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=lkp@intel.com \ --cc=maarten.lankhorst@linux.intel.com \ --cc=mripard@kernel.org \ --cc=robdclark@gmail.com \ --cc=robh@kernel.org \ --cc=saiprakash.ranjan@codeaurora.org \ --cc=sam@ravnborg.org \ --cc=sean@poorly.run \ --cc=smasetty@codeaurora.org \ --cc=tzimmermann@suse.de \ --subject='Re: [PATCH 3/3] drm/pl111: depend on CONFIG_VEXPRESS_CONFIG' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.