* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 15:20 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 15:20 UTC (permalink / raw)
To: Eric Anholt, David Airlie
Cc: Arnd Bergmann, Kukjin Kim, Krzysztof Kozlowski, Colin Ian King,
linux-arm-kernel, linux-samsung-soc, linux-kernel, dri-devel
The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
but it just causes needless warnings:
drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
only let us build the driver when the base support is enabled.
Unfortunately, this requires removing one redundant 'select ARM_AMBA'
line from mach-s3c64xx to avoid a circular dependency.
It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
is turned on, but that should be a separate patch and may cause other
build regressions.
Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-s3c64xx/Kconfig | 1 -
drivers/gpu/drm/pl111/Kconfig | 1 +
drivers/gpu/drm/pl111/pl111_drv.c | 2 --
3 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 459214fa20b4..5ee5ad74a3d6 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -40,7 +40,6 @@ config CPU_S3C6410
config S3C64XX_PL080
def_bool DMADEVICES
- select ARM_AMBA
select AMBA_PL08X
config S3C64XX_SETUP_SDHCI
diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
index 309f4fd52de7..e2f393fcc4bf 100644
--- a/drivers/gpu/drm/pl111/Kconfig
+++ b/drivers/gpu/drm/pl111/Kconfig
@@ -2,6 +2,7 @@ config DRM_PL111
tristate "DRM Support for PL111 CLCD Controller"
depends on DRM
depends on ARM || ARM64 || COMPILE_TEST
+ depends on ARM_AMBA
depends on COMMON_CLK
select DRM_KMS_HELPER
select DRM_KMS_CMA_HELPER
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index 97095b1aa961..dce382f97f8c 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -179,7 +179,6 @@ static struct drm_driver pl111_drm_driver = {
#endif
};
-#ifdef CONFIG_ARM_AMBA
static int pl111_amba_probe(struct amba_device *amba_dev,
const struct amba_id *id)
{
@@ -262,7 +261,6 @@ static struct amba_driver pl111_amba_driver = {
};
module_amba_driver(pl111_amba_driver);
-#endif /* CONFIG_ARM_AMBA */
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR("ARM Ltd.");
--
2.9.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 15:20 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 15:20 UTC (permalink / raw)
To: Eric Anholt, David Airlie
Cc: linux-samsung-soc, Arnd Bergmann, linux-kernel,
Krzysztof Kozlowski, Kukjin Kim, dri-devel, Colin Ian King,
linux-arm-kernel
The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
but it just causes needless warnings:
drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
only let us build the driver when the base support is enabled.
Unfortunately, this requires removing one redundant 'select ARM_AMBA'
line from mach-s3c64xx to avoid a circular dependency.
It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
is turned on, but that should be a separate patch and may cause other
build regressions.
Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-s3c64xx/Kconfig | 1 -
drivers/gpu/drm/pl111/Kconfig | 1 +
drivers/gpu/drm/pl111/pl111_drv.c | 2 --
3 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 459214fa20b4..5ee5ad74a3d6 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -40,7 +40,6 @@ config CPU_S3C6410
config S3C64XX_PL080
def_bool DMADEVICES
- select ARM_AMBA
select AMBA_PL08X
config S3C64XX_SETUP_SDHCI
diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
index 309f4fd52de7..e2f393fcc4bf 100644
--- a/drivers/gpu/drm/pl111/Kconfig
+++ b/drivers/gpu/drm/pl111/Kconfig
@@ -2,6 +2,7 @@ config DRM_PL111
tristate "DRM Support for PL111 CLCD Controller"
depends on DRM
depends on ARM || ARM64 || COMPILE_TEST
+ depends on ARM_AMBA
depends on COMMON_CLK
select DRM_KMS_HELPER
select DRM_KMS_CMA_HELPER
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index 97095b1aa961..dce382f97f8c 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -179,7 +179,6 @@ static struct drm_driver pl111_drm_driver = {
#endif
};
-#ifdef CONFIG_ARM_AMBA
static int pl111_amba_probe(struct amba_device *amba_dev,
const struct amba_id *id)
{
@@ -262,7 +261,6 @@ static struct amba_driver pl111_amba_driver = {
};
module_amba_driver(pl111_amba_driver);
-#endif /* CONFIG_ARM_AMBA */
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR("ARM Ltd.");
--
2.9.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 15:20 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 15:20 UTC (permalink / raw)
To: linux-arm-kernel
The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
but it just causes needless warnings:
drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
only let us build the driver when the base support is enabled.
Unfortunately, this requires removing one redundant 'select ARM_AMBA'
line from mach-s3c64xx to avoid a circular dependency.
It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
is turned on, but that should be a separate patch and may cause other
build regressions.
Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-s3c64xx/Kconfig | 1 -
drivers/gpu/drm/pl111/Kconfig | 1 +
drivers/gpu/drm/pl111/pl111_drv.c | 2 --
3 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 459214fa20b4..5ee5ad74a3d6 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -40,7 +40,6 @@ config CPU_S3C6410
config S3C64XX_PL080
def_bool DMADEVICES
- select ARM_AMBA
select AMBA_PL08X
config S3C64XX_SETUP_SDHCI
diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
index 309f4fd52de7..e2f393fcc4bf 100644
--- a/drivers/gpu/drm/pl111/Kconfig
+++ b/drivers/gpu/drm/pl111/Kconfig
@@ -2,6 +2,7 @@ config DRM_PL111
tristate "DRM Support for PL111 CLCD Controller"
depends on DRM
depends on ARM || ARM64 || COMPILE_TEST
+ depends on ARM_AMBA
depends on COMMON_CLK
select DRM_KMS_HELPER
select DRM_KMS_CMA_HELPER
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index 97095b1aa961..dce382f97f8c 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -179,7 +179,6 @@ static struct drm_driver pl111_drm_driver = {
#endif
};
-#ifdef CONFIG_ARM_AMBA
static int pl111_amba_probe(struct amba_device *amba_dev,
const struct amba_id *id)
{
@@ -262,7 +261,6 @@ static struct amba_driver pl111_amba_driver = {
};
module_amba_driver(pl111_amba_driver);
-#endif /* CONFIG_ARM_AMBA */
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR("ARM Ltd.");
--
2.9.0
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 15:20 ` Arnd Bergmann
(?)
@ 2017-05-22 16:23 ` Eric Anholt
-1 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-05-22 16:23 UTC (permalink / raw)
To: Arnd Bergmann, David Airlie
Cc: Arnd Bergmann, Kukjin Kim, Krzysztof Kozlowski, Colin Ian King,
linux-arm-kernel, linux-samsung-soc, linux-kernel, dri-devel
[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]
Arnd Bergmann <arnd@arndb.de> writes:
> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
> but it just causes needless warnings:
>
> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>
> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
> only let us build the driver when the base support is enabled.
>
> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
> line from mach-s3c64xx to avoid a circular dependency.
>
> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
> is turned on, but that should be a separate patch and may cause other
> build regressions.
If I understand the Kconfig, you're effectively disabling the build on
COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
that people can keep build-testing DRM drivers:
https://patchwork.kernel.org/patch/9737857/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 16:23 ` Eric Anholt
0 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-05-22 16:23 UTC (permalink / raw)
To: David Airlie
Cc: linux-samsung-soc, Arnd Bergmann, linux-kernel,
Krzysztof Kozlowski, Kukjin Kim, dri-devel, Colin Ian King,
linux-arm-kernel
[-- Attachment #1.1: Type: text/plain, Size: 1074 bytes --]
Arnd Bergmann <arnd@arndb.de> writes:
> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
> but it just causes needless warnings:
>
> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>
> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
> only let us build the driver when the base support is enabled.
>
> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
> line from mach-s3c64xx to avoid a circular dependency.
>
> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
> is turned on, but that should be a separate patch and may cause other
> build regressions.
If I understand the Kconfig, you're effectively disabling the build on
COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
that people can keep build-testing DRM drivers:
https://patchwork.kernel.org/patch/9737857/
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 16:23 ` Eric Anholt
0 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-05-22 16:23 UTC (permalink / raw)
To: linux-arm-kernel
Arnd Bergmann <arnd@arndb.de> writes:
> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
> but it just causes needless warnings:
>
> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>
> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
> only let us build the driver when the base support is enabled.
>
> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
> line from mach-s3c64xx to avoid a circular dependency.
>
> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
> is turned on, but that should be a separate patch and may cause other
> build regressions.
If I understand the Kconfig, you're effectively disabling the build on
COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
that people can keep build-testing DRM drivers:
https://patchwork.kernel.org/patch/9737857/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170522/951802e5/attachment.sig>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 15:20 ` Arnd Bergmann
@ 2017-05-22 16:32 ` Krzysztof Kozlowski
-1 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-22 16:32 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Eric Anholt, David Airlie, Kukjin Kim, Colin Ian King,
linux-arm-kernel, linux-samsung-soc, linux-kernel, dri-devel
On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
> but it just causes needless warnings:
>
> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>
> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
> only let us build the driver when the base support is enabled.
>
> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
> line from mach-s3c64xx to avoid a circular dependency.
>
> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
> is turned on, but that should be a separate patch and may cause other
> build regressions.
>
> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> arch/arm/mach-s3c64xx/Kconfig | 1 -
> drivers/gpu/drm/pl111/Kconfig | 1 +
> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
> 3 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
> index 459214fa20b4..5ee5ad74a3d6 100644
> --- a/arch/arm/mach-s3c64xx/Kconfig
> +++ b/arch/arm/mach-s3c64xx/Kconfig
> @@ -40,7 +40,6 @@ config CPU_S3C6410
>
> config S3C64XX_PL080
> def_bool DMADEVICES
> - select ARM_AMBA
I must admit that I miss how pl111 DRM driver create circular dependency
with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
should be a separate patch?
Best regards,
Krzysztof
> select AMBA_PL08X
>
> config S3C64XX_SETUP_SDHCI
> diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
> index 309f4fd52de7..e2f393fcc4bf 100644
> --- a/drivers/gpu/drm/pl111/Kconfig
> +++ b/drivers/gpu/drm/pl111/Kconfig
> @@ -2,6 +2,7 @@ config DRM_PL111
> tristate "DRM Support for PL111 CLCD Controller"
> depends on DRM
> depends on ARM || ARM64 || COMPILE_TEST
> + depends on ARM_AMBA
> depends on COMMON_CLK
> select DRM_KMS_HELPER
> select DRM_KMS_CMA_HELPER
> diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
> index 97095b1aa961..dce382f97f8c 100644
> --- a/drivers/gpu/drm/pl111/pl111_drv.c
> +++ b/drivers/gpu/drm/pl111/pl111_drv.c
> @@ -179,7 +179,6 @@ static struct drm_driver pl111_drm_driver = {
> #endif
> };
>
> -#ifdef CONFIG_ARM_AMBA
> static int pl111_amba_probe(struct amba_device *amba_dev,
> const struct amba_id *id)
> {
> @@ -262,7 +261,6 @@ static struct amba_driver pl111_amba_driver = {
> };
>
> module_amba_driver(pl111_amba_driver);
> -#endif /* CONFIG_ARM_AMBA */
>
> MODULE_DESCRIPTION(DRIVER_DESC);
> MODULE_AUTHOR("ARM Ltd.");
> --
> 2.9.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 16:32 ` Krzysztof Kozlowski
0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-22 16:32 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
> but it just causes needless warnings:
>
> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>
> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
> only let us build the driver when the base support is enabled.
>
> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
> line from mach-s3c64xx to avoid a circular dependency.
>
> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
> is turned on, but that should be a separate patch and may cause other
> build regressions.
>
> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> arch/arm/mach-s3c64xx/Kconfig | 1 -
> drivers/gpu/drm/pl111/Kconfig | 1 +
> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
> 3 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
> index 459214fa20b4..5ee5ad74a3d6 100644
> --- a/arch/arm/mach-s3c64xx/Kconfig
> +++ b/arch/arm/mach-s3c64xx/Kconfig
> @@ -40,7 +40,6 @@ config CPU_S3C6410
>
> config S3C64XX_PL080
> def_bool DMADEVICES
> - select ARM_AMBA
I must admit that I miss how pl111 DRM driver create circular dependency
with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
should be a separate patch?
Best regards,
Krzysztof
> select AMBA_PL08X
>
> config S3C64XX_SETUP_SDHCI
> diff --git a/drivers/gpu/drm/pl111/Kconfig b/drivers/gpu/drm/pl111/Kconfig
> index 309f4fd52de7..e2f393fcc4bf 100644
> --- a/drivers/gpu/drm/pl111/Kconfig
> +++ b/drivers/gpu/drm/pl111/Kconfig
> @@ -2,6 +2,7 @@ config DRM_PL111
> tristate "DRM Support for PL111 CLCD Controller"
> depends on DRM
> depends on ARM || ARM64 || COMPILE_TEST
> + depends on ARM_AMBA
> depends on COMMON_CLK
> select DRM_KMS_HELPER
> select DRM_KMS_CMA_HELPER
> diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
> index 97095b1aa961..dce382f97f8c 100644
> --- a/drivers/gpu/drm/pl111/pl111_drv.c
> +++ b/drivers/gpu/drm/pl111/pl111_drv.c
> @@ -179,7 +179,6 @@ static struct drm_driver pl111_drm_driver = {
> #endif
> };
>
> -#ifdef CONFIG_ARM_AMBA
> static int pl111_amba_probe(struct amba_device *amba_dev,
> const struct amba_id *id)
> {
> @@ -262,7 +261,6 @@ static struct amba_driver pl111_amba_driver = {
> };
>
> module_amba_driver(pl111_amba_driver);
> -#endif /* CONFIG_ARM_AMBA */
>
> MODULE_DESCRIPTION(DRIVER_DESC);
> MODULE_AUTHOR("ARM Ltd.");
> --
> 2.9.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 16:32 ` Krzysztof Kozlowski
@ 2017-05-22 21:37 ` Arnd Bergmann
-1 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 21:37 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Eric Anholt, David Airlie, Kukjin Kim, Colin Ian King, Linux ARM,
linux-samsung-soc, Linux Kernel Mailing List, dri-devel
On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>> but it just causes needless warnings:
>>
>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>
>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>> only let us build the driver when the base support is enabled.
>>
>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>> line from mach-s3c64xx to avoid a circular dependency.
>>
>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>> is turned on, but that should be a separate patch and may cause other
>> build regressions.
>>
>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>> drivers/gpu/drm/pl111/Kconfig | 1 +
>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>> index 459214fa20b4..5ee5ad74a3d6 100644
>> --- a/arch/arm/mach-s3c64xx/Kconfig
>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>
>> config S3C64XX_PL080
>> def_bool DMADEVICES
>> - select ARM_AMBA
>
> I must admit that I miss how pl111 DRM driver create circular dependency
> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
> should be a separate patch?
When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
DRM_KMS_CMA_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
contains DMADEVICES
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
We could break the loop at any of those places, but the
S3C64XX_PL080 symbol seemed the easiest way since the
'select' there is completely unnecessary and it directly relates
to the change I made in PL111.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 21:37 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 21:37 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>> but it just causes needless warnings:
>>
>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>
>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>> only let us build the driver when the base support is enabled.
>>
>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>> line from mach-s3c64xx to avoid a circular dependency.
>>
>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>> is turned on, but that should be a separate patch and may cause other
>> build regressions.
>>
>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>> drivers/gpu/drm/pl111/Kconfig | 1 +
>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>> index 459214fa20b4..5ee5ad74a3d6 100644
>> --- a/arch/arm/mach-s3c64xx/Kconfig
>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>
>> config S3C64XX_PL080
>> def_bool DMADEVICES
>> - select ARM_AMBA
>
> I must admit that I miss how pl111 DRM driver create circular dependency
> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
> should be a separate patch?
When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
DRM_KMS_CMA_HELPER
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
contains DMADEVICES
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
We could break the loop at any of those places, but the
S3C64XX_PL080 symbol seemed the easiest way since the
'select' there is completely unnecessary and it directly relates
to the change I made in PL111.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 16:23 ` Eric Anholt
(?)
@ 2017-05-22 21:43 ` Arnd Bergmann
-1 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 21:43 UTC (permalink / raw)
To: Eric Anholt
Cc: David Airlie, Kukjin Kim, Krzysztof Kozlowski, Colin Ian King,
Linux ARM, linux-samsung-soc, Linux Kernel Mailing List,
dri-devel
On Mon, May 22, 2017 at 6:23 PM, Eric Anholt <eric@anholt.net> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
>
>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>> but it just causes needless warnings:
>>
>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>
>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>> only let us build the driver when the base support is enabled.
>>
>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>> line from mach-s3c64xx to avoid a circular dependency.
>>
>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>> is turned on, but that should be a separate patch and may cause other
>> build regressions.
>
> If I understand the Kconfig, you're effectively disabling the build on
> COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
> that people can keep build-testing DRM drivers:
>
> https://patchwork.kernel.org/patch/9737857/
That works too. When I tried the same, I thought it was a little too silly to
have a file that effectively compiles into nothing.
My initial approach did two things differently though:
- use __maybe_unused instead of __used, since
- annotate pl111_amba_driver instead of
pl111_drm_driver/pl111_modeset_init, and keep only
module_amba_driver() in the #ifdef.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 21:43 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 21:43 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-samsung-soc, Linux Kernel Mailing List,
Krzysztof Kozlowski, Kukjin Kim, dri-devel, Colin Ian King,
Linux ARM
On Mon, May 22, 2017 at 6:23 PM, Eric Anholt <eric@anholt.net> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
>
>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>> but it just causes needless warnings:
>>
>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>
>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>> only let us build the driver when the base support is enabled.
>>
>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>> line from mach-s3c64xx to avoid a circular dependency.
>>
>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>> is turned on, but that should be a separate patch and may cause other
>> build regressions.
>
> If I understand the Kconfig, you're effectively disabling the build on
> COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
> that people can keep build-testing DRM drivers:
>
> https://patchwork.kernel.org/patch/9737857/
That works too. When I tried the same, I thought it was a little too silly to
have a file that effectively compiles into nothing.
My initial approach did two things differently though:
- use __maybe_unused instead of __used, since
- annotate pl111_amba_driver instead of
pl111_drm_driver/pl111_modeset_init, and keep only
module_amba_driver() in the #ifdef.
Arnd
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 21:43 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-22 21:43 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, May 22, 2017 at 6:23 PM, Eric Anholt <eric@anholt.net> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
>
>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>> but it just causes needless warnings:
>>
>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>
>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>> only let us build the driver when the base support is enabled.
>>
>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>> line from mach-s3c64xx to avoid a circular dependency.
>>
>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>> is turned on, but that should be a separate patch and may cause other
>> build regressions.
>
> If I understand the Kconfig, you're effectively disabling the build on
> COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
> that people can keep build-testing DRM drivers:
>
> https://patchwork.kernel.org/patch/9737857/
That works too. When I tried the same, I thought it was a little too silly to
have a file that effectively compiles into nothing.
My initial approach did two things differently though:
- use __maybe_unused instead of __used, since
- annotate pl111_amba_driver instead of
pl111_drm_driver/pl111_modeset_init, and keep only
module_amba_driver() in the #ifdef.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 21:43 ` Arnd Bergmann
@ 2017-05-22 22:08 ` Eric Anholt
-1 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-05-22 22:08 UTC (permalink / raw)
To: Arnd Bergmann
Cc: David Airlie, Kukjin Kim, Krzysztof Kozlowski, Colin Ian King,
Linux ARM, linux-samsung-soc, Linux Kernel Mailing List,
dri-devel
[-- Attachment #1: Type: text/plain, Size: 1868 bytes --]
Arnd Bergmann <arnd@arndb.de> writes:
> On Mon, May 22, 2017 at 6:23 PM, Eric Anholt <eric@anholt.net> wrote:
>> Arnd Bergmann <arnd@arndb.de> writes:
>>
>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>> but it just causes needless warnings:
>>>
>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>
>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>> only let us build the driver when the base support is enabled.
>>>
>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>> line from mach-s3c64xx to avoid a circular dependency.
>>>
>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>> is turned on, but that should be a separate patch and may cause other
>>> build regressions.
>>
>> If I understand the Kconfig, you're effectively disabling the build on
>> COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
>> that people can keep build-testing DRM drivers:
>>
>> https://patchwork.kernel.org/patch/9737857/
>
> That works too. When I tried the same, I thought it was a little too silly to
> have a file that effectively compiles into nothing.
>
> My initial approach did two things differently though:
>
> - use __maybe_unused instead of __used, since
>
> - annotate pl111_amba_driver instead of
> pl111_drm_driver/pl111_modeset_init, and keep only
> module_amba_driver() in the #ifdef.
Oh, yeah, we've eliminated the amba_request_regions() that used to be
why the probe had to be under the #ifdef, so your solution would get us
better coverage and simpler code. If you could send that patch to
dri-devel today, I'll get it applied.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-22 22:08 ` Eric Anholt
0 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-05-22 22:08 UTC (permalink / raw)
To: linux-arm-kernel
Arnd Bergmann <arnd@arndb.de> writes:
> On Mon, May 22, 2017 at 6:23 PM, Eric Anholt <eric@anholt.net> wrote:
>> Arnd Bergmann <arnd@arndb.de> writes:
>>
>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>> but it just causes needless warnings:
>>>
>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>
>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>> only let us build the driver when the base support is enabled.
>>>
>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>> line from mach-s3c64xx to avoid a circular dependency.
>>>
>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>> is turned on, but that should be a separate patch and may cause other
>>> build regressions.
>>
>> If I understand the Kconfig, you're effectively disabling the build on
>> COMPILE_TEST && !ARM. I'd rather that we just fix up the warnings, so
>> that people can keep build-testing DRM drivers:
>>
>> https://patchwork.kernel.org/patch/9737857/
>
> That works too. When I tried the same, I thought it was a little too silly to
> have a file that effectively compiles into nothing.
>
> My initial approach did two things differently though:
>
> - use __maybe_unused instead of __used, since
>
> - annotate pl111_amba_driver instead of
> pl111_drm_driver/pl111_modeset_init, and keep only
> module_amba_driver() in the #ifdef.
Oh, yeah, we've eliminated the amba_request_regions() that used to be
why the probe had to be under the #ifdef, so your solution would get us
better coverage and simpler code. If you could send that patch to
dri-devel today, I'll get it applied.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170522/130d7423/attachment-0001.sig>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 21:37 ` Arnd Bergmann
@ 2017-05-23 11:17 ` Krzysztof Kozlowski
-1 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-23 11:17 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Eric Anholt, David Airlie, Kukjin Kim, Colin Ian King, Linux ARM,
linux-samsung-soc, Linux Kernel Mailing List, dri-devel
On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>> but it just causes needless warnings:
>>>
>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>
>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>> only let us build the driver when the base support is enabled.
>>>
>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>> line from mach-s3c64xx to avoid a circular dependency.
>>>
>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>> is turned on, but that should be a separate patch and may cause other
>>> build regressions.
>>>
>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>
>>> config S3C64XX_PL080
>>> def_bool DMADEVICES
>>> - select ARM_AMBA
>>
>> I must admit that I miss how pl111 DRM driver create circular dependency
>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>> should be a separate patch?
>
> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>
> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
> DRM_KMS_CMA_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
> contains DMADEVICES
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>
> We could break the loop at any of those places, but the
> S3C64XX_PL080 symbol seemed the easiest way since the
> 'select' there is completely unnecessary and it directly relates
> to the change I made in PL111.
Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
in other platforms as well but we have it (git grep 'select
ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
selected by S3C64xx... so IMHO this is needed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-23 11:17 ` Krzysztof Kozlowski
0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-23 11:17 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>> but it just causes needless warnings:
>>>
>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>
>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>> only let us build the driver when the base support is enabled.
>>>
>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>> line from mach-s3c64xx to avoid a circular dependency.
>>>
>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>> is turned on, but that should be a separate patch and may cause other
>>> build regressions.
>>>
>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>> ---
>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>
>>> config S3C64XX_PL080
>>> def_bool DMADEVICES
>>> - select ARM_AMBA
>>
>> I must admit that I miss how pl111 DRM driver create circular dependency
>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>> should be a separate patch?
>
> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>
> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
> DRM_KMS_CMA_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
> contains DMADEVICES
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>
> We could break the loop at any of those places, but the
> S3C64XX_PL080 symbol seemed the easiest way since the
> 'select' there is completely unnecessary and it directly relates
> to the change I made in PL111.
Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
in other platforms as well but we have it (git grep 'select
ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
selected by S3C64xx... so IMHO this is needed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-23 11:17 ` Krzysztof Kozlowski
@ 2017-05-23 11:22 ` Arnd Bergmann
-1 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-23 11:22 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Eric Anholt, David Airlie, Kukjin Kim, Colin Ian King, Linux ARM,
linux-samsung-soc, Linux Kernel Mailing List, dri-devel
On Tue, May 23, 2017 at 1:17 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>>> but it just causes needless warnings:
>>>>
>>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>>
>>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>>> only let us build the driver when the base support is enabled.
>>>>
>>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>>> line from mach-s3c64xx to avoid a circular dependency.
>>>>
>>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>>> is turned on, but that should be a separate patch and may cause other
>>>> build regressions.
>>>>
>>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>> ---
>>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>>
>>>> config S3C64XX_PL080
>>>> def_bool DMADEVICES
>>>> - select ARM_AMBA
>>>
>>> I must admit that I miss how pl111 DRM driver create circular dependency
>>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>>> should be a separate patch?
>>
>> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>>
>> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
>> DRM_KMS_CMA_HELPER
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
>> contains DMADEVICES
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>>
>> We could break the loop at any of those places, but the
>> S3C64XX_PL080 symbol seemed the easiest way since the
>> 'select' there is completely unnecessary and it directly relates
>> to the change I made in PL111.
>
> Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
> in other platforms as well but we have it (git grep 'select
> ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
> selected by S3C64xx... so IMHO this is needed.
I guess I should have explained it in more detail: S3C64XX_PL080
is set to 'ARCH_S3C64XX && DMADEVICES', and ARCH_S3C64XX
selects ARM_AMBA, so the 'select ARM_AMBA' for S3C64XX_PL080
is redundant. We still need it, but it's already guaranteed to be enabled.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-23 11:22 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-23 11:22 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 23, 2017 at 1:17 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>>> but it just causes needless warnings:
>>>>
>>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>>
>>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>>> only let us build the driver when the base support is enabled.
>>>>
>>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>>> line from mach-s3c64xx to avoid a circular dependency.
>>>>
>>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>>> is turned on, but that should be a separate patch and may cause other
>>>> build regressions.
>>>>
>>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>> ---
>>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>>
>>>> config S3C64XX_PL080
>>>> def_bool DMADEVICES
>>>> - select ARM_AMBA
>>>
>>> I must admit that I miss how pl111 DRM driver create circular dependency
>>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>>> should be a separate patch?
>>
>> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>>
>> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
>> DRM_KMS_CMA_HELPER
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
>> contains DMADEVICES
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>> subsection "Kconfig recursive dependency limitations"
>> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>>
>> We could break the loop at any of those places, but the
>> S3C64XX_PL080 symbol seemed the easiest way since the
>> 'select' there is completely unnecessary and it directly relates
>> to the change I made in PL111.
>
> Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
> in other platforms as well but we have it (git grep 'select
> ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
> selected by S3C64xx... so IMHO this is needed.
I guess I should have explained it in more detail: S3C64XX_PL080
is set to 'ARCH_S3C64XX && DMADEVICES', and ARCH_S3C64XX
selects ARM_AMBA, so the 'select ARM_AMBA' for S3C64XX_PL080
is redundant. We still need it, but it's already guaranteed to be enabled.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-23 11:22 ` Arnd Bergmann
@ 2017-05-23 11:24 ` Krzysztof Kozlowski
-1 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-23 11:24 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Eric Anholt, David Airlie, Kukjin Kim, Colin Ian King, Linux ARM,
linux-samsung-soc, Linux Kernel Mailing List, dri-devel
On Tue, May 23, 2017 at 1:22 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tue, May 23, 2017 at 1:17 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>> On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>>>> but it just causes needless warnings:
>>>>>
>>>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>>>
>>>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>>>> only let us build the driver when the base support is enabled.
>>>>>
>>>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>>>> line from mach-s3c64xx to avoid a circular dependency.
>>>>>
>>>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>>>> is turned on, but that should be a separate patch and may cause other
>>>>> build regressions.
>>>>>
>>>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>>> ---
>>>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>>>
>>>>> config S3C64XX_PL080
>>>>> def_bool DMADEVICES
>>>>> - select ARM_AMBA
>>>>
>>>> I must admit that I miss how pl111 DRM driver create circular dependency
>>>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>>>> should be a separate patch?
>>>
>>> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>>>
>>> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
>>> DRM_KMS_CMA_HELPER
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
>>> contains DMADEVICES
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>>>
>>> We could break the loop at any of those places, but the
>>> S3C64XX_PL080 symbol seemed the easiest way since the
>>> 'select' there is completely unnecessary and it directly relates
>>> to the change I made in PL111.
>>
>> Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
>> in other platforms as well but we have it (git grep 'select
>> ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
>> selected by S3C64xx... so IMHO this is needed.
>
> I guess I should have explained it in more detail: S3C64XX_PL080
> is set to 'ARCH_S3C64XX && DMADEVICES', and ARCH_S3C64XX
> selects ARM_AMBA, so the 'select ARM_AMBA' for S3C64XX_PL080
> is redundant. We still need it, but it's already guaranteed to be enabled.
Ah, yes, I missed the S3C64XX_PL080. Looks fine. For the s3c64xx:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-23 11:24 ` Krzysztof Kozlowski
0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-05-23 11:24 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 23, 2017 at 1:22 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tue, May 23, 2017 at 1:17 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>> On Mon, May 22, 2017 at 11:37 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>>> On Mon, May 22, 2017 at 6:32 PM, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>>> On Mon, May 22, 2017 at 05:20:08PM +0200, Arnd Bergmann wrote:
>>>>> The driver is written in a way to enable compile-testing without CONFIG_ARM_AMBA,
>>>>> but it just causes needless warnings:
>>>>>
>>>>> drivers/gpu/drm/pl111/pl111_drv.c:149:26: error: 'pl111_drm_driver' defined but not used [-Werror=unused-variable]
>>>>> drivers/gpu/drm/pl111/pl111_drv.c:81:12: error: 'pl111_modeset_init' defined but not used [-Werror=unused-function]
>>>>>
>>>>> This removes the #ifdef instead, and adds a dependency on ARM_AMBA to
>>>>> only let us build the driver when the base support is enabled.
>>>>>
>>>>> Unfortunately, this requires removing one redundant 'select ARM_AMBA'
>>>>> line from mach-s3c64xx to avoid a circular dependency.
>>>>>
>>>>> It might be good to allow manually enabling ARM_AMBA when COMPILE_TEST
>>>>> is turned on, but that should be a separate patch and may cause other
>>>>> build regressions.
>>>>>
>>>>> Fixes: bed41005e617 ("drm/pl111: Initial drm/kms driver for pl111")
>>>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>>>> ---
>>>>> arch/arm/mach-s3c64xx/Kconfig | 1 -
>>>>> drivers/gpu/drm/pl111/Kconfig | 1 +
>>>>> drivers/gpu/drm/pl111/pl111_drv.c | 2 --
>>>>> 3 files changed, 1 insertion(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
>>>>> index 459214fa20b4..5ee5ad74a3d6 100644
>>>>> --- a/arch/arm/mach-s3c64xx/Kconfig
>>>>> +++ b/arch/arm/mach-s3c64xx/Kconfig
>>>>> @@ -40,7 +40,6 @@ config CPU_S3C6410
>>>>>
>>>>> config S3C64XX_PL080
>>>>> def_bool DMADEVICES
>>>>> - select ARM_AMBA
>>>>
>>>> I must admit that I miss how pl111 DRM driver create circular dependency
>>>> with S3C64XX_PL080 (or AMBA_PL08X?). Maybe it is unrelated change and
>>>> should be a separate patch?
>>>
>>> When I add 'depends on ARM_AMBA' for pl111, I get this dependency loop:
>>>
>>> drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by
>>> DRM_KMS_CMA_HELPER
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value
>>> contains DMADEVICES
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
>>> For a resolution refer to Documentation/kbuild/kconfig-language.txt
>>> subsection "Kconfig recursive dependency limitations"
>>> sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C
>>>
>>> We could break the loop at any of those places, but the
>>> S3C64XX_PL080 symbol seemed the easiest way since the
>>> 'select' there is completely unnecessary and it directly relates
>>> to the change I made in PL111.
>>
>> Assuming ARM_AMBA is unnecessary here, then it should be unnecessary
>> in other platforms as well but we have it (git grep 'select
>> ARM_AMBA'). The ARM_AMBA is a dependency of AMBA_PL08X which is
>> selected by S3C64xx... so IMHO this is needed.
>
> I guess I should have explained it in more detail: S3C64XX_PL080
> is set to 'ARCH_S3C64XX && DMADEVICES', and ARCH_S3C64XX
> selects ARM_AMBA, so the 'select ARM_AMBA' for S3C64XX_PL080
> is redundant. We still need it, but it's already guaranteed to be enabled.
Ah, yes, I missed the S3C64XX_PL080. Looks fine. For the s3c64xx:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
2017-05-22 22:08 ` Eric Anholt
(?)
@ 2017-05-24 15:52 ` Arnd Bergmann
-1 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-24 15:52 UTC (permalink / raw)
To: Eric Anholt
Cc: David Airlie, Kukjin Kim, Krzysztof Kozlowski, Colin Ian King,
Linux ARM, linux-samsung-soc, Linux Kernel Mailing List,
dri-devel
On Tue, May 23, 2017 at 12:08 AM, Eric Anholt <eric@anholt.net> wrote:
>
> Oh, yeah, we've eliminated the amba_request_regions() that used to be
> why the probe had to be under the #ifdef, so your solution would get us
> better coverage and simpler code. If you could send that patch to
> dri-devel today, I'll get it applied.
Sent now. I'll also send the oneline patch for s3c64xx separately, in case
we hit the same circular dependency another time.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-24 15:52 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-24 15:52 UTC (permalink / raw)
To: Eric Anholt
Cc: linux-samsung-soc, Linux Kernel Mailing List,
Krzysztof Kozlowski, Kukjin Kim, dri-devel, Colin Ian King,
Linux ARM
On Tue, May 23, 2017 at 12:08 AM, Eric Anholt <eric@anholt.net> wrote:
>
> Oh, yeah, we've eliminated the amba_request_regions() that used to be
> why the probe had to be under the #ifdef, so your solution would get us
> better coverage and simpler code. If you could send that patch to
> dri-devel today, I'll get it applied.
Sent now. I'll also send the oneline patch for s3c64xx separately, in case
we hit the same circular dependency another time.
Arnd
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] drm/pl111: add ARM_AMBA dependency
@ 2017-05-24 15:52 ` Arnd Bergmann
0 siblings, 0 replies; 24+ messages in thread
From: Arnd Bergmann @ 2017-05-24 15:52 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 23, 2017 at 12:08 AM, Eric Anholt <eric@anholt.net> wrote:
>
> Oh, yeah, we've eliminated the amba_request_regions() that used to be
> why the probe had to be under the #ifdef, so your solution would get us
> better coverage and simpler code. If you could send that patch to
> dri-devel today, I'll get it applied.
Sent now. I'll also send the oneline patch for s3c64xx separately, in case
we hit the same circular dependency another time.
Arnd
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2017-05-24 15:52 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-22 15:20 [PATCH] drm/pl111: add ARM_AMBA dependency Arnd Bergmann
2017-05-22 15:20 ` Arnd Bergmann
2017-05-22 15:20 ` Arnd Bergmann
2017-05-22 16:23 ` Eric Anholt
2017-05-22 16:23 ` Eric Anholt
2017-05-22 16:23 ` Eric Anholt
2017-05-22 21:43 ` Arnd Bergmann
2017-05-22 21:43 ` Arnd Bergmann
2017-05-22 21:43 ` Arnd Bergmann
2017-05-22 22:08 ` Eric Anholt
2017-05-22 22:08 ` Eric Anholt
2017-05-24 15:52 ` Arnd Bergmann
2017-05-24 15:52 ` Arnd Bergmann
2017-05-24 15:52 ` Arnd Bergmann
2017-05-22 16:32 ` Krzysztof Kozlowski
2017-05-22 16:32 ` Krzysztof Kozlowski
2017-05-22 21:37 ` Arnd Bergmann
2017-05-22 21:37 ` Arnd Bergmann
2017-05-23 11:17 ` Krzysztof Kozlowski
2017-05-23 11:17 ` Krzysztof Kozlowski
2017-05-23 11:22 ` Arnd Bergmann
2017-05-23 11:22 ` Arnd Bergmann
2017-05-23 11:24 ` Krzysztof Kozlowski
2017-05-23 11:24 ` Krzysztof Kozlowski
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.