Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1626575 > unrolled thread
| Started by | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| First post | 2017-04-19 19:10 +0200 |
| Last post | 2017-04-20 18:40 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] [media] sti: hdmi: improve MEDIA_CEC_NOTIFIER dependency Arnd Bergmann <arnd@arndb.de> - 2017-04-19 19:10 +0200
Re: [PATCH] [media] sti: hdmi: improve MEDIA_CEC_NOTIFIER dependency Hans Verkuil <hverkuil@xs4all.nl> - 2017-04-19 23:10 +0200
Re: [PATCH] [media] sti: hdmi: improve MEDIA_CEC_NOTIFIER dependency Arnd Bergmann <arnd@arndb.de> - 2017-04-20 18:40 +0200
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-04-19 19:10 +0200 |
| Subject | [PATCH] [media] sti: hdmi: improve MEDIA_CEC_NOTIFIER dependency |
| Message-ID | <ty1h7-68e-11@gated-at.bofh.it> |
When the media subsystem is built as a loadable module, a built-in
DRM driver cannot use the cec notifiers:
drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_remove':
sti_hdmi.c:(.text.sti_hdmi_remove+0x28): undefined reference to `cec_notifier_set_phys_addr'
sti_hdmi.c:(.text.sti_hdmi_remove+0x50): 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+0x84): 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+0x1a8): 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+0x68): 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+0xec): undefined reference to `cec_notifier_set_phys_addr'
This adds a Kconfig dependency to enforce the HDMI driver to also
be a loadable module in this case.
Fixes: bca55958ea87 ("[media] sti: hdmi: add CEC notifier support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/gpu/drm/sti/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
index acd72865feac..adac4c3e142e 100644
--- a/drivers/gpu/drm/sti/Kconfig
+++ b/drivers/gpu/drm/sti/Kconfig
@@ -1,6 +1,7 @@
config DRM_STI
tristate "DRM Support for STMicroelectronics SoC stiH4xx Series"
depends on DRM && (ARCH_STI || ARCH_MULTIPLATFORM)
+ depends on (MEDIA_SUPPORT && MEDIA_CEC_NOTIFIER) || !MEDIA_CEC_NOTIFIER
select RESET_CONTROLLER
select DRM_KMS_HELPER
select DRM_GEM_CMA_HELPER
--
2.9.0
[toc] | [next] | [standalone]
| From | Hans Verkuil <hverkuil@xs4all.nl> |
|---|---|
| Date | 2017-04-19 23:10 +0200 |
| Message-ID | <ty51o-8mm-13@gated-at.bofh.it> |
| In reply to | #1626575 |
Hi Arnd,
On 19/04/17 18:59, Arnd Bergmann wrote:
> When the media subsystem is built as a loadable module, a built-in
> DRM driver cannot use the cec notifiers:
>
> drivers/gpu/drm/sti/sti_hdmi.o: In function `sti_hdmi_remove':
> sti_hdmi.c:(.text.sti_hdmi_remove+0x28): undefined reference to `cec_notifier_set_phys_addr'
> sti_hdmi.c:(.text.sti_hdmi_remove+0x50): 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+0x84): 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+0x1a8): 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+0x68): 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+0xec): undefined reference to `cec_notifier_set_phys_addr'
>
> This adds a Kconfig dependency to enforce the HDMI driver to also
> be a loadable module in this case.
I've marked this patch and the exynos_hdmi patch as 'Obsoleted' in patchwork:
today several CEC Kconfig cleanup patches were merged that invalidate these
two patches. I expect they'll turn up soon in -next.
Regards,
Hans
>
> Fixes: bca55958ea87 ("[media] sti: hdmi: add CEC notifier support")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> drivers/gpu/drm/sti/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
> index acd72865feac..adac4c3e142e 100644
> --- a/drivers/gpu/drm/sti/Kconfig
> +++ b/drivers/gpu/drm/sti/Kconfig
> @@ -1,6 +1,7 @@
> config DRM_STI
> tristate "DRM Support for STMicroelectronics SoC stiH4xx Series"
> depends on DRM && (ARCH_STI || ARCH_MULTIPLATFORM)
> + depends on (MEDIA_SUPPORT && MEDIA_CEC_NOTIFIER) || !MEDIA_CEC_NOTIFIER
> select RESET_CONTROLLER
> select DRM_KMS_HELPER
> select DRM_GEM_CMA_HELPER
>
[toc] | [prev] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2017-04-20 18:40 +0200 |
| Message-ID | <tynhF-2OS-37@gated-at.bofh.it> |
| In reply to | #1626799 |
On Wed, Apr 19, 2017 at 11:06 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:
> On 19/04/17 18:59, Arnd Bergmann wrote:
>> When the media subsystem is built as a loadable module, a built-in
>> This adds a Kconfig dependency to enforce the HDMI driver to also
>> be a loadable module in this case.
>
> I've marked this patch and the exynos_hdmi patch as 'Obsoleted' in patchwork:
> today several CEC Kconfig cleanup patches were merged that invalidate these
> two patches. I expect they'll turn up soon in -next.
I can confirm that the previous problems are fixed with today's linux-next,
but I have now run into another problem, with CONFIG_INPUT=m forcing
CONFIG_RC_CORE=m:
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'
/git/arm-soc/Makefile:1033: recipe for target 'vmlinux' failed
I don't see an obvious fix for this, and as you seem to have a good grip on the
problem already, I'll let you figure out how to best address it.
Arnd
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web