* [PATCH] console/font: Refactor font support code selection logic
@ 2013-05-15 11:40 Geert Uytterhoeven
2013-05-15 11:45 ` Hans Verkuil
0 siblings, 1 reply; 2+ messages in thread
From: Geert Uytterhoeven @ 2013-05-15 11:40 UTC (permalink / raw)
To: Florian Tobias Schandinat, linux-fbdev
Cc: Hans Verkuil, Ismael Luceno, Thomas Winischhofer,
Thomas Bogendoerfer, Helge Deller, linux-media, devel, linux-usb,
linux-kernel, Geert Uytterhoeven
The current Makefile rules to build font support are messy and buggy.
Replace them by Kconfig rules:
- Introduce CONFIG_FONT_SUPPORT, which controls the building of all font
code,
- Select CONFIG_FONT_SUPPORT for all drivers that use fonts,
- Select CONFIG_FONT_8x16 for all drivers that default to the VGA8x16
font,
- Drop the bogus console dependency for CONFIG_VIDEO_VIVI.
This fixes (if CONFIG_SOLO6X10=y and there are no built-in console
drivers):
drivers/built-in.o: In function `solo_osd_print':
drivers/staging/media/solo6x10/solo6x10-enc.c:144: undefined reference to `.find_font'
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/media/platform/Kconfig | 2 +-
drivers/staging/media/solo6x10/Kconfig | 2 ++
drivers/usb/misc/sisusbvga/Kconfig | 1 +
drivers/video/console/Kconfig | 12 ++++++++++--
drivers/video/console/Makefile | 14 +++++---------
5 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 0cbe1ff..c1f29d5 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -220,7 +220,7 @@ if V4L_TEST_DRIVERS
config VIDEO_VIVI
tristate "Virtual Video Driver"
depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64
- depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
+ select FONT_SUPPORT
select FONT_8x16
select VIDEOBUF2_VMALLOC
default n
diff --git a/drivers/staging/media/solo6x10/Kconfig b/drivers/staging/media/solo6x10/Kconfig
index ec32776..b34bb6c 100644
--- a/drivers/staging/media/solo6x10/Kconfig
+++ b/drivers/staging/media/solo6x10/Kconfig
@@ -1,6 +1,8 @@
config SOLO6X10
tristate "Softlogic 6x10 MPEG codec cards"
depends on PCI && VIDEO_DEV && SND && I2C
+ select FONT_SUPPORT
+ select FONT_8x16
select VIDEOBUF2_DMA_SG
select VIDEOBUF2_DMA_CONTIG
select SND_PCM
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
index 0d03a52..36bc28c 100644
--- a/drivers/usb/misc/sisusbvga/Kconfig
+++ b/drivers/usb/misc/sisusbvga/Kconfig
@@ -2,6 +2,7 @@
config USB_SISUSBVGA
tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
depends on (USB_MUSB_HDRC || USB_EHCI_HCD)
+ select FONT_SUPPORT if USB_SISUSBVGA_CON
---help---
Say Y here if you intend to attach a USB2VGA dongle based on a
Net2280 and a SiS315 chip.
diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
index bc922c4..baf27dc 100644
--- a/drivers/video/console/Kconfig
+++ b/drivers/video/console/Kconfig
@@ -62,6 +62,7 @@ config MDA_CONSOLE
config SGI_NEWPORT_CONSOLE
tristate "SGI Newport Console support"
depends on SGI_IP22
+ select FONT_SUPPORT
help
Say Y here if you want the console on the Newport aka XL graphics
card of your Indy. Most people say Y here.
@@ -91,6 +92,7 @@ config FRAMEBUFFER_CONSOLE
tristate "Framebuffer Console support"
depends on FB
select CRC32
+ select FONT_SUPPORT
help
Low-level framebuffer-based console driver.
@@ -123,12 +125,18 @@ config FRAMEBUFFER_CONSOLE_ROTATION
config STI_CONSOLE
bool "STI text console"
depends on PARISC
+ select FONT_SUPPORT
default y
help
The STI console is the builtin display/keyboard on HP-PARISC
machines. Say Y here to build support for it into your kernel.
The alternative is to use your primary serial port as a console.
+config FONT_SUPPORT
+ tristate
+
+if FONT_SUPPORT
+
config FONTS
bool "Select compiled-in fonts"
depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
@@ -158,7 +166,6 @@ config FONT_8x8
config FONT_8x16
bool "VGA 8x16 font" if FONTS
- depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON
default y if !SPARC && !FONTS
help
This is the "high resolution" font for the VGA frame buffer (the one
@@ -226,7 +233,6 @@ config FONT_10x18
config FONT_AUTOSELECT
def_bool y
- depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON
depends on !FONT_8x8
depends on !FONT_6x11
depends on !FONT_7x14
@@ -238,5 +244,7 @@ config FONT_AUTOSELECT
depends on !FONT_10x18
select FONT_8x16
+endif # FONT_SUPPORT
+
endmenu
diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile
index a862e91..3a11b63 100644
--- a/drivers/video/console/Makefile
+++ b/drivers/video/console/Makefile
@@ -18,14 +18,14 @@ font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
font-objs += $(font-objs-y)
-# Each configuration option enables a list of files.
+obj-$(CONFIG_FONT_SUPPORT) += font.o
obj-$(CONFIG_DUMMY_CONSOLE) += dummycon.o
-obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
-obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
+obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o
+obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o
obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
obj-$(CONFIG_MDA_CONSOLE) += mdacon.o
-obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o
+obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o softcursor.o
ifeq ($(CONFIG_FB_TILEBLITTING),y)
obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o
endif
@@ -34,8 +34,4 @@ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \
fbcon_ccw.o
endif
-obj-$(CONFIG_FB_STI) += sticore.o font.o
-
-ifeq ($(CONFIG_USB_SISUSBVGA_CON),y)
-obj-$(CONFIG_USB_SISUSBVGA) += font.o
-endif
+obj-$(CONFIG_FB_STI) += sticore.o
--
1.7.0.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] console/font: Refactor font support code selection logic
2013-05-15 11:40 [PATCH] console/font: Refactor font support code selection logic Geert Uytterhoeven
@ 2013-05-15 11:45 ` Hans Verkuil
0 siblings, 0 replies; 2+ messages in thread
From: Hans Verkuil @ 2013-05-15 11:45 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Florian Tobias Schandinat, linux-fbdev, Ismael Luceno,
Thomas Winischhofer, Thomas Bogendoerfer, Helge Deller,
linux-media, devel, linux-usb, linux-kernel
On Wed 15 May 2013 13:40:50 Geert Uytterhoeven wrote:
> The current Makefile rules to build font support are messy and buggy.
> Replace them by Kconfig rules:
> - Introduce CONFIG_FONT_SUPPORT, which controls the building of all font
> code,
> - Select CONFIG_FONT_SUPPORT for all drivers that use fonts,
> - Select CONFIG_FONT_8x16 for all drivers that default to the VGA8x16
> font,
> - Drop the bogus console dependency for CONFIG_VIDEO_VIVI.
>
> This fixes (if CONFIG_SOLO6X10=y and there are no built-in console
> drivers):
>
> drivers/built-in.o: In function `solo_osd_print':
> drivers/staging/media/solo6x10/solo6x10-enc.c:144: undefined reference to `.find_font'
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
That looks much more sane. Thanks!
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
> ---
> drivers/media/platform/Kconfig | 2 +-
> drivers/staging/media/solo6x10/Kconfig | 2 ++
> drivers/usb/misc/sisusbvga/Kconfig | 1 +
> drivers/video/console/Kconfig | 12 ++++++++++--
> drivers/video/console/Makefile | 14 +++++---------
> 5 files changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index 0cbe1ff..c1f29d5 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -220,7 +220,7 @@ if V4L_TEST_DRIVERS
> config VIDEO_VIVI
> tristate "Virtual Video Driver"
> depends on VIDEO_DEV && VIDEO_V4L2 && !SPARC32 && !SPARC64
> - depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
> + select FONT_SUPPORT
> select FONT_8x16
> select VIDEOBUF2_VMALLOC
> default n
> diff --git a/drivers/staging/media/solo6x10/Kconfig b/drivers/staging/media/solo6x10/Kconfig
> index ec32776..b34bb6c 100644
> --- a/drivers/staging/media/solo6x10/Kconfig
> +++ b/drivers/staging/media/solo6x10/Kconfig
> @@ -1,6 +1,8 @@
> config SOLO6X10
> tristate "Softlogic 6x10 MPEG codec cards"
> depends on PCI && VIDEO_DEV && SND && I2C
> + select FONT_SUPPORT
> + select FONT_8x16
> select VIDEOBUF2_DMA_SG
> select VIDEOBUF2_DMA_CONTIG
> select SND_PCM
> diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
> index 0d03a52..36bc28c 100644
> --- a/drivers/usb/misc/sisusbvga/Kconfig
> +++ b/drivers/usb/misc/sisusbvga/Kconfig
> @@ -2,6 +2,7 @@
> config USB_SISUSBVGA
> tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
> depends on (USB_MUSB_HDRC || USB_EHCI_HCD)
> + select FONT_SUPPORT if USB_SISUSBVGA_CON
> ---help---
> Say Y here if you intend to attach a USB2VGA dongle based on a
> Net2280 and a SiS315 chip.
> diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
> index bc922c4..baf27dc 100644
> --- a/drivers/video/console/Kconfig
> +++ b/drivers/video/console/Kconfig
> @@ -62,6 +62,7 @@ config MDA_CONSOLE
> config SGI_NEWPORT_CONSOLE
> tristate "SGI Newport Console support"
> depends on SGI_IP22
> + select FONT_SUPPORT
> help
> Say Y here if you want the console on the Newport aka XL graphics
> card of your Indy. Most people say Y here.
> @@ -91,6 +92,7 @@ config FRAMEBUFFER_CONSOLE
> tristate "Framebuffer Console support"
> depends on FB
> select CRC32
> + select FONT_SUPPORT
> help
> Low-level framebuffer-based console driver.
>
> @@ -123,12 +125,18 @@ config FRAMEBUFFER_CONSOLE_ROTATION
> config STI_CONSOLE
> bool "STI text console"
> depends on PARISC
> + select FONT_SUPPORT
> default y
> help
> The STI console is the builtin display/keyboard on HP-PARISC
> machines. Say Y here to build support for it into your kernel.
> The alternative is to use your primary serial port as a console.
>
> +config FONT_SUPPORT
> + tristate
> +
> +if FONT_SUPPORT
> +
> config FONTS
> bool "Select compiled-in fonts"
> depends on FRAMEBUFFER_CONSOLE || STI_CONSOLE
> @@ -158,7 +166,6 @@ config FONT_8x8
>
> config FONT_8x16
> bool "VGA 8x16 font" if FONTS
> - depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON
> default y if !SPARC && !FONTS
> help
> This is the "high resolution" font for the VGA frame buffer (the one
> @@ -226,7 +233,6 @@ config FONT_10x18
>
> config FONT_AUTOSELECT
> def_bool y
> - depends on FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON
> depends on !FONT_8x8
> depends on !FONT_6x11
> depends on !FONT_7x14
> @@ -238,5 +244,7 @@ config FONT_AUTOSELECT
> depends on !FONT_10x18
> select FONT_8x16
>
> +endif # FONT_SUPPORT
> +
> endmenu
>
> diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile
> index a862e91..3a11b63 100644
> --- a/drivers/video/console/Makefile
> +++ b/drivers/video/console/Makefile
> @@ -18,14 +18,14 @@ font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
>
> font-objs += $(font-objs-y)
>
> -# Each configuration option enables a list of files.
> +obj-$(CONFIG_FONT_SUPPORT) += font.o
>
> obj-$(CONFIG_DUMMY_CONSOLE) += dummycon.o
> -obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o font.o
> -obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
> +obj-$(CONFIG_SGI_NEWPORT_CONSOLE) += newport_con.o
> +obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o
> obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
> obj-$(CONFIG_MDA_CONSOLE) += mdacon.o
> -obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o
> +obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o softcursor.o
> ifeq ($(CONFIG_FB_TILEBLITTING),y)
> obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o
> endif
> @@ -34,8 +34,4 @@ obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \
> fbcon_ccw.o
> endif
>
> -obj-$(CONFIG_FB_STI) += sticore.o font.o
> -
> -ifeq ($(CONFIG_USB_SISUSBVGA_CON),y)
> -obj-$(CONFIG_USB_SISUSBVGA) += font.o
> -endif
> +obj-$(CONFIG_FB_STI) += sticore.o
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-05-15 11:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-15 11:40 [PATCH] console/font: Refactor font support code selection logic Geert Uytterhoeven
2013-05-15 11:45 ` Hans Verkuil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox