[PATCH] drm/etnaviv: add THERMAL dependency
The etnaviv driver causes a link failure if it is built-in but THERMAL is built as a module: drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': etnaviv_gpu.c:(.text+0x4c4): undefined reference to `thermal_of_cooling_device_register' etnaviv_gpu.c:(.text+0x600): undefined reference to `thermal_cooling_device_unregister' drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': etnaviv_gpu.c:(.text+0x2aac): undefined reference to `thermal_cooling_device_unregister' Add a Kconfig dependency on THERMAL to avoid this, but allow building with THERMAL disabled altogether. In that case, IS_ENABLED checks in the code will disable the cooling device registration. Signed-off-by: Philipp Zabel--- drivers/gpu/drm/etnaviv/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig index 38b477b5fbf9d..39e402e30262f 100644 --- a/drivers/gpu/drm/etnaviv/Kconfig +++ b/drivers/gpu/drm/etnaviv/Kconfig @@ -4,6 +4,7 @@ config DRM_ETNAVIV depends on DRM depends on ARCH_MXC || ARCH_DOVE || (ARM && COMPILE_TEST) depends on MMU + depends on THERMAL || !THERMAL # if THERMAL=m, this can't be 'y' select SHMEM select SYNC_FILE select TMPFS -- 2.11.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/etnaviv: add thermal dependency
dg On Mon, Apr 24, 2017 at 07:39:27PM +0200, Arnd Bergmann wrote: > On Mon, Apr 24, 2017 at 12:44 PM, Lucas Stachwrote: > > Am Mittwoch, den 19.04.2017, 20:11 +0200 schrieb Arnd Bergmann: > >> When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is > >> built-in, we get a link error: > >> > >> drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': > >> etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to > >> `thermal_of_cooling_device_register' > >> etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to > >> `thermal_cooling_device_unregister' > >> drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': > >> etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to > >> `thermal_cooling_device_unregister' > >> > >> This adds a Kconfig dependency to prevent etnaviv from being built-in > >> with CONFIG_THERMAL=m, while still allowing the valid configurations. > >> Unfortunately, simply adding the dependency here breaks Kconfig through > >> a dependency loop involving lots of symbols all the way until ACPI_VIDEO, > >> which is the only video driver that explicitly selects 'THERMAL'. Turning > >> this into a 'depends on' addresses the problem. > >> For completeness, I'm also removing the redundant 'select THERMAL' > >> from INTEL_MENLOW, so no other driver uses that statement. > >> > >> Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") > >> Signed-off-by: Arnd Bergmann > > > > This patch mixes a few things, so the subject doesn't really fit. I'm > > fine with taking the patch trough my tree, if I can get an ACK on the > > ACPI part. > > Actually the ACPI part triggered a new warning that I haven't figured > out completely yet. Please disregard my patch for the moment. > > I think we can just drop the dependency in ACPI_VIDEO, but I'm not > entirely sure yet if we could hit a broken configuration with THERMAL=m > and ACPI_VIDEO=y in that case. Unfortunately we cannot use the > same trick in ACPI_VIDEO that I used for ETNAVIV, because of > another circular dependency in ACPI. > > Arnd signature.asc Description: Digital signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/etnaviv: add thermal dependency
On Mon, Apr 24, 2017 at 12:44 PM, Lucas Stachwrote: > Am Mittwoch, den 19.04.2017, 20:11 +0200 schrieb Arnd Bergmann: >> When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is >> built-in, we get a link error: >> >> drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': >> etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to >> `thermal_of_cooling_device_register' >> etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to >> `thermal_cooling_device_unregister' >> drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': >> etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to >> `thermal_cooling_device_unregister' >> >> This adds a Kconfig dependency to prevent etnaviv from being built-in >> with CONFIG_THERMAL=m, while still allowing the valid configurations. >> Unfortunately, simply adding the dependency here breaks Kconfig through >> a dependency loop involving lots of symbols all the way until ACPI_VIDEO, >> which is the only video driver that explicitly selects 'THERMAL'. Turning >> this into a 'depends on' addresses the problem. >> For completeness, I'm also removing the redundant 'select THERMAL' >> from INTEL_MENLOW, so no other driver uses that statement. >> >> Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") >> Signed-off-by: Arnd Bergmann > > This patch mixes a few things, so the subject doesn't really fit. I'm > fine with taking the patch trough my tree, if I can get an ACK on the > ACPI part. Actually the ACPI part triggered a new warning that I haven't figured out completely yet. Please disregard my patch for the moment. I think we can just drop the dependency in ACPI_VIDEO, but I'm not entirely sure yet if we could hit a broken configuration with THERMAL=m and ACPI_VIDEO=y in that case. Unfortunately we cannot use the same trick in ACPI_VIDEO that I used for ETNAVIV, because of another circular dependency in ACPI. Arnd ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/etnaviv: add thermal dependency
Am Mittwoch, den 19.04.2017, 20:11 +0200 schrieb Arnd Bergmann: > When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is > built-in, we get a link error: > > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to > `thermal_of_cooling_device_register' > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to > `thermal_cooling_device_unregister' > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': > etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to > `thermal_cooling_device_unregister' > > This adds a Kconfig dependency to prevent etnaviv from being built-in > with CONFIG_THERMAL=m, while still allowing the valid configurations. > Unfortunately, simply adding the dependency here breaks Kconfig through > a dependency loop involving lots of symbols all the way until ACPI_VIDEO, > which is the only video driver that explicitly selects 'THERMAL'. Turning > this into a 'depends on' addresses the problem. > For completeness, I'm also removing the redundant 'select THERMAL' > from INTEL_MENLOW, so no other driver uses that statement. > > Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") > Signed-off-by: Arnd BergmannThis patch mixes a few things, so the subject doesn't really fit. I'm fine with taking the patch trough my tree, if I can get an ACK on the ACPI part. Regards, Lucas > --- > drivers/acpi/Kconfig| 2 +- > drivers/gpu/drm/etnaviv/Kconfig | 1 + > drivers/platform/x86/Kconfig| 1 - > 3 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig > index 03cc4e74096b..252399efa8b3 100644 > --- a/drivers/acpi/Kconfig > +++ b/drivers/acpi/Kconfig > @@ -184,7 +184,7 @@ config ACPI_VIDEO > tristate "Video" > depends on X86 && BACKLIGHT_CLASS_DEVICE > depends on INPUT > - select THERMAL > + depends on THERMAL > help > This driver implements the ACPI Extensions For Display Adapters > for integrated graphics devices on motherboard, as specified in > diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig > index 71cee4e9fefb..1d6c744e7924 100644 > --- a/drivers/gpu/drm/etnaviv/Kconfig > +++ b/drivers/gpu/drm/etnaviv/Kconfig > @@ -3,6 +3,7 @@ config DRM_ETNAVIV > tristate "ETNAVIV (DRM support for Vivante GPU IP cores)" > depends on DRM > depends on ARCH_MXC || ARCH_DOVE || (ARM && COMPILE_TEST) > + depends on THERMAL || THERMAL=n > depends on MMU > select SHMEM > select SYNC_FILE > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index e229ea317b9c..76ced87efde5 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -544,7 +544,6 @@ config SENSORS_HDAPS > config INTEL_MENLOW > tristate "Thermal Management driver for Intel menlow platform" > depends on ACPI_THERMAL > - select THERMAL > ---help--- > ACPI thermal management enhancement driver on > Intel Menlow platform. ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/etnaviv: add thermal dependency
On Wed, Apr 19, 2017 at 08:11:16PM +0200, Arnd Bergmann wrote: > When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is > built-in, we get a link error: > > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to > `thermal_of_cooling_device_register' > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to > `thermal_cooling_device_unregister' > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': > etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to > `thermal_cooling_device_unregister' > > This adds a Kconfig dependency to prevent etnaviv from being built-in > with CONFIG_THERMAL=m, while still allowing the valid configurations. > Unfortunately, simply adding the dependency here breaks Kconfig through > a dependency loop involving lots of symbols all the way until ACPI_VIDEO, > which is the only video driver that explicitly selects 'THERMAL'. Turning > this into a 'depends on' addresses the problem. > For completeness, I'm also removing the redundant 'select THERMAL' > from INTEL_MENLOW, so no other driver uses that statement. > > Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") > Signed-off-by: Arnd BergmannAcked-by: Eduardo Valentin > --- > drivers/acpi/Kconfig| 2 +- > drivers/gpu/drm/etnaviv/Kconfig | 1 + > drivers/platform/x86/Kconfig| 1 - > 3 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig > index 03cc4e74096b..252399efa8b3 100644 > --- a/drivers/acpi/Kconfig > +++ b/drivers/acpi/Kconfig > @@ -184,7 +184,7 @@ config ACPI_VIDEO > tristate "Video" > depends on X86 && BACKLIGHT_CLASS_DEVICE > depends on INPUT > - select THERMAL > + depends on THERMAL > help > This driver implements the ACPI Extensions For Display Adapters > for integrated graphics devices on motherboard, as specified in > diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig > index 71cee4e9fefb..1d6c744e7924 100644 > --- a/drivers/gpu/drm/etnaviv/Kconfig > +++ b/drivers/gpu/drm/etnaviv/Kconfig > @@ -3,6 +3,7 @@ config DRM_ETNAVIV > tristate "ETNAVIV (DRM support for Vivante GPU IP cores)" > depends on DRM > depends on ARCH_MXC || ARCH_DOVE || (ARM && COMPILE_TEST) > + depends on THERMAL || THERMAL=n > depends on MMU > select SHMEM > select SYNC_FILE > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index e229ea317b9c..76ced87efde5 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -544,7 +544,6 @@ config SENSORS_HDAPS > config INTEL_MENLOW > tristate "Thermal Management driver for Intel menlow platform" > depends on ACPI_THERMAL > - select THERMAL > ---help--- > ACPI thermal management enhancement driver on > Intel Menlow platform. > -- > 2.9.0 > signature.asc Description: Digital signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] drm/etnaviv: add thermal dependency
On Wed, Apr 19, 2017 at 9:11 PM, Arnd Bergmannwrote: > When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is > built-in, we get a link error: > > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to > `thermal_of_cooling_device_register' > etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to > `thermal_cooling_device_unregister' > drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': > etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to > `thermal_cooling_device_unregister' > > This adds a Kconfig dependency to prevent etnaviv from being built-in > with CONFIG_THERMAL=m, while still allowing the valid configurations. > Unfortunately, simply adding the dependency here breaks Kconfig through > a dependency loop involving lots of symbols all the way until ACPI_VIDEO, > which is the only video driver that explicitly selects 'THERMAL'. Turning > this into a 'depends on' addresses the problem. > For completeness, I'm also removing the redundant 'select THERMAL' > from INTEL_MENLOW, so no other driver uses that statement. > For PDx86 part: Acked-by: Andy Shevchenko > Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") > Signed-off-by: Arnd Bergmann > --- > drivers/acpi/Kconfig| 2 +- > drivers/gpu/drm/etnaviv/Kconfig | 1 + > drivers/platform/x86/Kconfig| 1 - > 3 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig > index 03cc4e74096b..252399efa8b3 100644 > --- a/drivers/acpi/Kconfig > +++ b/drivers/acpi/Kconfig > @@ -184,7 +184,7 @@ config ACPI_VIDEO > tristate "Video" > depends on X86 && BACKLIGHT_CLASS_DEVICE > depends on INPUT > - select THERMAL > + depends on THERMAL > help > This driver implements the ACPI Extensions For Display Adapters > for integrated graphics devices on motherboard, as specified in > diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig > index 71cee4e9fefb..1d6c744e7924 100644 > --- a/drivers/gpu/drm/etnaviv/Kconfig > +++ b/drivers/gpu/drm/etnaviv/Kconfig > @@ -3,6 +3,7 @@ config DRM_ETNAVIV > tristate "ETNAVIV (DRM support for Vivante GPU IP cores)" > depends on DRM > depends on ARCH_MXC || ARCH_DOVE || (ARM && COMPILE_TEST) > + depends on THERMAL || THERMAL=n > depends on MMU > select SHMEM > select SYNC_FILE > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index e229ea317b9c..76ced87efde5 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -544,7 +544,6 @@ config SENSORS_HDAPS > config INTEL_MENLOW > tristate "Thermal Management driver for Intel menlow platform" > depends on ACPI_THERMAL > - select THERMAL > ---help--- > ACPI thermal management enhancement driver on > Intel Menlow platform. > -- > 2.9.0 > -- With Best Regards, Andy Shevchenko ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] drm/etnaviv: add thermal dependency
When CONFIG_THERMAL is enabled as a loadable module, and etnaviv is built-in, we get a link error: drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_bind': etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0x34): undefined reference to `thermal_of_cooling_device_register' etnaviv_gpu.c:(.text.etnaviv_gpu_bind+0xe0): undefined reference to `thermal_cooling_device_unregister' drivers/gpu/drm/etnaviv/etnaviv_gpu.o: In function `etnaviv_gpu_unbind': etnaviv_gpu.c:(.text.etnaviv_gpu_unbind+0xf0): undefined reference to `thermal_cooling_device_unregister' This adds a Kconfig dependency to prevent etnaviv from being built-in with CONFIG_THERMAL=m, while still allowing the valid configurations. Unfortunately, simply adding the dependency here breaks Kconfig through a dependency loop involving lots of symbols all the way until ACPI_VIDEO, which is the only video driver that explicitly selects 'THERMAL'. Turning this into a 'depends on' addresses the problem. For completeness, I'm also removing the redundant 'select THERMAL' from INTEL_MENLOW, so no other driver uses that statement. Fixes: bcdfb5e56dc5 ("drm/etnaviv: add etnaviv cooling device") Signed-off-by: Arnd Bergmann--- drivers/acpi/Kconfig| 2 +- drivers/gpu/drm/etnaviv/Kconfig | 1 + drivers/platform/x86/Kconfig| 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index 03cc4e74096b..252399efa8b3 100644 --- a/drivers/acpi/Kconfig +++ b/drivers/acpi/Kconfig @@ -184,7 +184,7 @@ config ACPI_VIDEO tristate "Video" depends on X86 && BACKLIGHT_CLASS_DEVICE depends on INPUT - select THERMAL + depends on THERMAL help This driver implements the ACPI Extensions For Display Adapters for integrated graphics devices on motherboard, as specified in diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig index 71cee4e9fefb..1d6c744e7924 100644 --- a/drivers/gpu/drm/etnaviv/Kconfig +++ b/drivers/gpu/drm/etnaviv/Kconfig @@ -3,6 +3,7 @@ config DRM_ETNAVIV tristate "ETNAVIV (DRM support for Vivante GPU IP cores)" depends on DRM depends on ARCH_MXC || ARCH_DOVE || (ARM && COMPILE_TEST) + depends on THERMAL || THERMAL=n depends on MMU select SHMEM select SYNC_FILE diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index e229ea317b9c..76ced87efde5 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -544,7 +544,6 @@ config SENSORS_HDAPS config INTEL_MENLOW tristate "Thermal Management driver for Intel menlow platform" depends on ACPI_THERMAL - select THERMAL ---help--- ACPI thermal management enhancement driver on Intel Menlow platform. -- 2.9.0 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel