Message ID | 20170421105224.899350-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Hans Verkuil |
Headers |
Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from <linux-media-owner@vger.kernel.org>) id 1d1WB5-0000LR-9V; Fri, 21 Apr 2017 10:52:39 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-8) with esmtp id 1d1WB3-0006QX-kT; Fri, 21 Apr 2017 12:52:39 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1038070AbdDUKwX (ORCPT <rfc822;mkrufky@linuxtv.org> + 1 other); Fri, 21 Apr 2017 06:52:23 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:49921 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1038048AbdDUKwW (ORCPT <rfc822;linux-media@vger.kernel.org>); Fri, 21 Apr 2017 06:52:22 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue102 [212.227.15.145]) with ESMTPA (Nemesis) id 0MMWH0-1cwakV3F8A-008I89; Fri, 21 Apr 2017 12:52:13 +0200 From: Arnd Bergmann <arnd@arndb.de> To: Hans Verkuil <hans.verkuil@cisco.com>, Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de>, Benjamin Gaignard <benjamin.gaignard@linaro.org>, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] [media] cec: improve MEDIA_CEC_RC dependencies Date: Fri, 21 Apr 2017 12:52:17 +0200 Message-Id: <20170421105224.899350-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:fZT8sE6cOPF5anEfGg8RvG4BgNAbsbltBNEpJLNbJczJdg/Db8R Z7bk8ejdOwnZ2CLsukmWUmX4jWT3kmJVNw5+gOXCnQsPa62rbY51oBfa+EKjPP83fKcR2CK Rx1vG3ATffc+xmWXFiYE47NMK1UZBPgP/f11KSq85kC2LrptxtJGbKUK7Cc8bI82s/zSFMz QbVURpPJtmRG36auEEKPQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:SvaYQit+gr0=:k38brep+8M8JoZ2Yqag772 Ot5550fCgJJJ/61x1iG8ffilIvYJiGvuczG5wsj8uAC9OLVzdqndV47dBI81HT7vADFO++sRX 54Biby+83As78fqjlTLtptNsN+LERibJTAhfWoRZNuEA2uzEh6AclYg20bCROmokP+l4U25PO eSZQ/DV/If+zFDOZQYnQHGRZY35M4dbGwi+W+wkL1cIw72X6IJKJyyE933dZ3QwNpNXvGLmob if56It+WcsWaL9H2QZryxeIofOs3aUo9lgDA/OG/ph25Xu9I9SpP45LQb0hs3cURUq758hfRI AK8iXkUJViyvN9dweeagMQ4PpK3fUy8Fel0o59SizKFOIlE/dX4B+Kr7IRYdyBA5rM0RIvmOE NWe5HzqVBO3EdSGuQMrf3m598CrG7n2FimWQncZuOp+sqlrsJodaXMChPBP5MibPwy4lqomts WbH/oM7+sa/PgQ04pOlvi+5dZdFAt5kEhYWW1n4X0F7rzjrjO36r1uMdF95Hxx64qPx6rnISu QVnv3YAhA0MVezTQppYtl6S/E6kvDy+iCcH+rXJ8yDxd/m8hJEIYdJQL03CFx0nqMTnh5JG19 6fRZcT3UJqKJDQc9PjwgeCc9wjLoGpd4cj/5wylyYe0FtRCy1TxqlZkN4rNdI0PB4ggmh9NGT pOHeeQCLyWE42vVv9QQojUsDqgas1NoemrodJRsLrIuVz+ewAu+/nZntSI+ZDRL5gf3I= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.4.21.104516 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1800_1899 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, LEGITIMATE_SIGNS 0, MULTIPLE_REAL_RCPTS 0, NO_URI_HTTPS 0, __ANY_URI 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_LIST_ID 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MULTIPLE_RCPTS_CC_X2 0, __NO_HTML_TAG_RAW 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NAME 0, __TO_NAME_DIFF_FROM_ACC 0, __TO_REAL_NAMES 0, __URI_NO_WWW 0, __URI_NS ' |
Commit Message
Arnd Bergmann
April 21, 2017, 10:52 a.m. UTC
Changing the IS_REACHABLE() into a plain #ifdef broke the case of
CONFIG_MEDIA_RC=m && CONFIG_MEDIA_CEC=y:
drivers/media/cec/cec-core.o: In function `cec_unregister_adapter':
cec-core.c:(.text.cec_unregister_adapter+0x18): undefined reference to `rc_unregister_device'
drivers/media/cec/cec-core.o: In function `cec_delete_adapter':
cec-core.c:(.text.cec_delete_adapter+0x54): undefined reference to `rc_free_device'
drivers/media/cec/cec-core.o: In function `cec_register_adapter':
cec-core.c:(.text.cec_register_adapter+0x94): undefined reference to `rc_register_device'
cec-core.c:(.text.cec_register_adapter+0xa4): undefined reference to `rc_free_device'
cec-core.c:(.text.cec_register_adapter+0x110): undefined reference to `rc_unregister_device'
drivers/media/cec/cec-core.o: In function `cec_allocate_adapter':
cec-core.c:(.text.cec_allocate_adapter+0x234): undefined reference to `rc_allocate_device'
drivers/media/cec/cec-adap.o: In function `cec_received_msg':
cec-adap.c:(.text.cec_received_msg+0x734): undefined reference to `rc_keydown'
cec-adap.c:(.text.cec_received_msg+0x768): undefined reference to `rc_keyup'
This adds an additional dependency to explicitly forbid this combination.
Fixes: 5f2c467c54f5 ("[media] cec: add MEDIA_CEC_RC config option")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/cec/Kconfig | 1 +
1 file changed, 1 insertion(+)
Comments
On Fri, Apr 21, 2017 at 12:52 PM, Arnd Bergmann <arnd@arndb.de> wrote: > Changing the IS_REACHABLE() into a plain #ifdef broke the case of > CONFIG_MEDIA_RC=m && CONFIG_MEDIA_CEC=y: > > drivers/media/cec/cec-core.o: In function `cec_unregister_adapter': > cec-core.c:(.text.cec_unregister_adapter+0x18): undefined reference to `rc_unregister_device' > drivers/media/cec/cec-core.o: In function `cec_delete_adapter': > cec-core.c:(.text.cec_delete_adapter+0x54): undefined reference to `rc_free_device' > drivers/media/cec/cec-core.o: In function `cec_register_adapter': > cec-core.c:(.text.cec_register_adapter+0x94): undefined reference to `rc_register_device' > cec-core.c:(.text.cec_register_adapter+0xa4): undefined reference to `rc_free_device' > cec-core.c:(.text.cec_register_adapter+0x110): undefined reference to `rc_unregister_device' > drivers/media/cec/cec-core.o: In function `cec_allocate_adapter': > cec-core.c:(.text.cec_allocate_adapter+0x234): undefined reference to `rc_allocate_device' > drivers/media/cec/cec-adap.o: In function `cec_received_msg': > cec-adap.c:(.text.cec_received_msg+0x734): undefined reference to `rc_keydown' > cec-adap.c:(.text.cec_received_msg+0x768): undefined reference to `rc_keyup' > > This adds an additional dependency to explicitly forbid this combination. > > Fixes: 5f2c467c54f5 ("[media] cec: add MEDIA_CEC_RC config option") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- What is the status of this patch? According to https://patchwork.linuxtv.org/patch/40934/ it is marked 'accepted', but the patch that caused the problem has made it into mainline in the merge window, and the fix is still needed on top. On a related note, I've run into another link error now: drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_remove': sti_hdmi.c:(.text.sti_hdmi_remove+0x10): undefined reference to `cec_notifier_set_phys_addr' sti_hdmi.c:(.text.sti_hdmi_remove+0x34): undefined reference to `cec_notifier_put' drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_connector_get_modes': sti_hdmi.c:(.text.sti_hdmi_connector_get_modes+0x4a): undefined reference to `cec_notifier_set_phys_addr_from_edid' drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_probe': sti_hdmi.c:(.text.sti_hdmi_probe+0x204): undefined reference to `cec_notifier_get' drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_connector_detect': sti_hdmi.c:(.text.sti_hdmi_connector_detect+0x36): undefined reference to `cec_notifier_set_phys_addr' drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_disable': sti_hdmi.c:(.text.sti_hdmi_disable+0xc0): undefined reference to `cec_notifier_set_phys_addr' The config options leading to the second failure are: CONFIG_MEDIA_CEC_SUPPORT=y CONFIG_CEC_CORE=m CONFIG_MEDIA_CEC_NOTIFIER=y CONFIG_VIDEO_STI_HDMI_CEC=m CONFIG_DRM_STI=y I can probably come up with a workaround, but haven't completely thought through all the combinations yet. Also, I assume the same fix will be needed for exynos, though that has not come up in randconfig testing so far. Arnd > drivers/media/cec/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/cec/Kconfig b/drivers/media/cec/Kconfig > index f944d93e3167..488fb908244d 100644 > --- a/drivers/media/cec/Kconfig > +++ b/drivers/media/cec/Kconfig > @@ -9,6 +9,7 @@ config MEDIA_CEC_NOTIFIER > config MEDIA_CEC_RC > bool "HDMI CEC RC integration" > depends on CEC_CORE && RC_CORE > + depends on CEC_CORE=m || RC_CORE=y > ---help--- > Pass on CEC remote control messages to the RC framework. > > -- > 2.9.0 >
diff --git a/drivers/media/cec/Kconfig b/drivers/media/cec/Kconfig index f944d93e3167..488fb908244d 100644 --- a/drivers/media/cec/Kconfig +++ b/drivers/media/cec/Kconfig @@ -9,6 +9,7 @@ config MEDIA_CEC_NOTIFIER config MEDIA_CEC_RC bool "HDMI CEC RC integration" depends on CEC_CORE && RC_CORE + depends on CEC_CORE=m || RC_CORE=y ---help--- Pass on CEC remote control messages to the RC framework.