diff mbox

video: vgacon: Don't build on arm64

Message ID 1387323421-26126-1-git-send-email-broonie@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Mark Brown Dec. 17, 2013, 11:37 p.m. UTC
From: Mark Brown <broonie@linaro.org>

arm64 is unlikely to have a VGA console and does not export screen_info
causing build failures if the driver is build, for example in all*config.
Add a dependency on !ARM64 to prevent this.

This list is getting quite long, it may be easier to depend on a symbol
which architectures that do support the driver can select.

Signed-off-by: Mark Brown <broonie@linaro.org>
---
 drivers/video/console/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Tomi Valkeinen Jan. 8, 2014, 1:43 p.m. UTC | #1
On 2013-12-18 01:37, Mark Brown wrote:
> From: Mark Brown <broonie@linaro.org>
> 
> arm64 is unlikely to have a VGA console and does not export screen_info
> causing build failures if the driver is build, for example in all*config.
> Add a dependency on !ARM64 to prevent this.
> 
> This list is getting quite long, it may be easier to depend on a symbol
> which architectures that do support the driver can select.

I agree, that depends on looks horrible =).

> Signed-off-by: Mark Brown <broonie@linaro.org>
> ---
>  drivers/video/console/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
> index 846caab75a46..c39d6c42c3ef 100644
> --- a/drivers/video/console/Kconfig
> +++ b/drivers/video/console/Kconfig
> @@ -8,7 +8,8 @@ config VGA_CONSOLE
>  	bool "VGA text console" if EXPERT || !X86
>  	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
>  		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
> -		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER)
> +		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) \
> +		&& !ARM64
>  	default y
>  	help
>  	  Saying Y here will allow you to use Linux in text mode through a

I moved the && to the previous line as is the custom. Queued for 3.14.

 Tomi
Arnd Bergmann Jan. 8, 2014, 1:48 p.m. UTC | #2
On Wednesday 08 January 2014 15:43:20 Tomi Valkeinen wrote:
> On 2013-12-18 01:37, Mark Brown wrote:
> > From: Mark Brown <broonie@linaro.org>
> > 
> > arm64 is unlikely to have a VGA console and does not export screen_info
> > causing build failures if the driver is build, for example in all*config.
> > Add a dependency on !ARM64 to prevent this.
> > 
> > This list is getting quite long, it may be easier to depend on a symbol
> > which architectures that do support the driver can select.
> 
> I agree, that depends on looks horrible =).

I've suggested creating a "CONFIG_PC_IO" symbol before that could used
to simplify this one and a couple of other similar Kconfig statements.
It is unfortunately a bit tricky because out of the dozen drivers that
are similar to this one, each one has a slightly different list of
architectures, and it's not clear which of the differences are intentional
rather than mistakes.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven Jan. 8, 2014, 2:34 p.m. UTC | #3
On Wed, Jan 8, 2014 at 2:48 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 08 January 2014 15:43:20 Tomi Valkeinen wrote:
>> On 2013-12-18 01:37, Mark Brown wrote:
>> > From: Mark Brown <broonie@linaro.org>
>> >
>> > arm64 is unlikely to have a VGA console and does not export screen_info
>> > causing build failures if the driver is build, for example in all*config.
>> > Add a dependency on !ARM64 to prevent this.
>> >
>> > This list is getting quite long, it may be easier to depend on a symbol
>> > which architectures that do support the driver can select.
>>
>> I agree, that depends on looks horrible =).
>
> I've suggested creating a "CONFIG_PC_IO" symbol before that could used
> to simplify this one and a couple of other similar Kconfig statements.
> It is unfortunately a bit tricky because out of the dozen drivers that
> are similar to this one, each one has a slightly different list of
> architectures, and it's not clear which of the differences are intentional
> rather than mistakes.

VGA is special, in that it uses "ISA memory space". This is not a subset of
"PCI memory space", but something different. Some PCI host bridges
(IIRC, e.g. on Mac) do not allow access to this space.
Most other "PC I/O" use ISA I/O space, which is a subset of PCI I/O space.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann Jan. 8, 2014, 2:48 p.m. UTC | #4
On Wednesday 08 January 2014, Geert Uytterhoeven wrote:
> VGA is special, in that it uses "ISA memory space". This is not a subset of
> "PCI memory space", but something different. Some PCI host bridges
> (IIRC, e.g. on Mac) do not allow access to this space.
> Most other "PC I/O" use ISA I/O space, which is a subset of PCI I/O space.

Right, but they often go together, and I think vgacon actually requires
both, doesn't it? I'm not aware of anything else requiring access to the
0xa0000-0xfffff or the 0xf00000-0xffffff ISA memory windows except VGA,
but I could be missing some less common devices. These are often not
available on non-x86 systems, which prevents VGA from working even if
low I/O space addresses are routed to PCI.

The CONFIG_PC_IO symbol would mostly be used for stuff like PC-style
floppy, dma, rtc, pic, parport, uart, etc. I think it does make sense
to include VGA in that list, but we may want to add a few machines
that explicitly support VGA on PCI without supporting other PC-style
components.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven Jan. 8, 2014, 3:05 p.m. UTC | #5
On Wed, Jan 8, 2014 at 3:48 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 08 January 2014, Geert Uytterhoeven wrote:
>> VGA is special, in that it uses "ISA memory space". This is not a subset of
>> "PCI memory space", but something different. Some PCI host bridges
>> (IIRC, e.g. on Mac) do not allow access to this space.
>> Most other "PC I/O" use ISA I/O space, which is a subset of PCI I/O space.
>
> Right, but they often go together, and I think vgacon actually requires
> both, doesn't it? I'm not aware of anything else requiring access to the

Yes, VGA uses both.

> 0xa0000-0xfffff or the 0xf00000-0xffffff ISA memory windows except VGA,
> but I could be missing some less common devices. These are often not
> available on non-x86 systems, which prevents VGA from working even if
> low I/O space addresses are routed to PCI.

And MDA, for mdacon.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
index 846caab75a46..c39d6c42c3ef 100644
--- a/drivers/video/console/Kconfig
+++ b/drivers/video/console/Kconfig
@@ -8,7 +8,8 @@  config VGA_CONSOLE
 	bool "VGA text console" if EXPERT || !X86
 	depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
 		!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
-		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER)
+		(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) \
+		&& !ARM64
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a