[PATCH 1/4] fbcon: Make fbcon a built-time depency for fbdev

Sean Paul seanpaul at chromium.org
Thu Jul 13 14:47:53 UTC 2017


On Thu, Jul 06, 2017 at 02:57:32PM +0200, Daniel Vetter wrote:

<snip>

> Cc: dri-devel at lists.freedesktop.org
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>

Just 2 nits, code looks good.

Reviewed-by: Sean Paul <seanpaul at chromium.org>

> ---
> v2: Switch to building fbcon code into fb.ko right away because the
> cheap trick leads to a module depency loop.
> ---
>  drivers/video/console/Kconfig                        |  2 +-
>  drivers/video/console/Makefile                       |  8 --------
>  drivers/video/fbdev/core/Makefile                    | 11 +++++++++++
>  drivers/video/{console => fbdev/core}/bitblit.c      |  4 ----
>  drivers/video/{console => fbdev/core}/fbcon.c        | 13 +++----------
>  drivers/video/{console => fbdev/core}/fbcon.h        |  0
>  drivers/video/{console => fbdev/core}/fbcon_ccw.c    |  4 ----
>  drivers/video/{console => fbdev/core}/fbcon_cw.c     |  4 ----
>  drivers/video/{console => fbdev/core}/fbcon_rotate.c |  4 ----
>  drivers/video/{console => fbdev/core}/fbcon_rotate.h |  0
>  drivers/video/{console => fbdev/core}/fbcon_ud.c     |  4 ----
>  drivers/video/fbdev/core/fbmem.c                     |  6 ++++++
>  drivers/video/{console => fbdev/core}/softcursor.c   |  4 ----
>  drivers/video/{console => fbdev/core}/tileblit.c     |  5 -----
>  include/linux/fbcon.h                                | 12 ++++++++++++
>  15 files changed, 33 insertions(+), 48 deletions(-)
>  rename drivers/video/{console => fbdev/core}/bitblit.c (98%)
>  rename drivers/video/{console => fbdev/core}/fbcon.c (99%)
>  rename drivers/video/{console => fbdev/core}/fbcon.h (100%)
>  rename drivers/video/{console => fbdev/core}/fbcon_ccw.c (98%)
>  rename drivers/video/{console => fbdev/core}/fbcon_cw.c (98%)
>  rename drivers/video/{console => fbdev/core}/fbcon_rotate.c (95%)
>  rename drivers/video/{console => fbdev/core}/fbcon_rotate.h (100%)
>  rename drivers/video/{console => fbdev/core}/fbcon_ud.c (98%)
>  rename drivers/video/{console => fbdev/core}/softcursor.c (93%)
>  rename drivers/video/{console => fbdev/core}/tileblit.c (96%)
>  create mode 100644 include/linux/fbcon.h
> 
> diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
> index 2111d06f8c81..7f1f1fbcef9e 100644
> --- a/drivers/video/console/Kconfig
> +++ b/drivers/video/console/Kconfig
> @@ -117,7 +117,7 @@ config DUMMY_CONSOLE_ROWS
>            Select 25 if you use a 640x480 resolution by default.
>  
>  config FRAMEBUFFER_CONSOLE
> -	tristate "Framebuffer Console support"
> +	bool "Framebuffer Console support"
>  	depends on FB && !UML
>  	select VT_HW_CONSOLE_BINDING
>  	select CRC32
> diff --git a/drivers/video/console/Makefile b/drivers/video/console/Makefile
> index 43bfa485db96..eb2cbec52643 100644
> --- a/drivers/video/console/Makefile
> +++ b/drivers/video/console/Makefile
> @@ -7,13 +7,5 @@ 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 softcursor.o
> -ifeq ($(CONFIG_FB_TILEBLITTING),y)
> -obj-$(CONFIG_FRAMEBUFFER_CONSOLE)     += tileblit.o
> -endif
> -ifeq ($(CONFIG_FRAMEBUFFER_CONSOLE_ROTATION),y)
> -obj-$(CONFIG_FRAMEBUFFER_CONSOLE)     += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \
> -                                         fbcon_ccw.o
> -endif
>  
>  obj-$(CONFIG_FB_STI)              += sticore.o
> diff --git a/drivers/video/fbdev/core/Makefile b/drivers/video/fbdev/core/Makefile
> index 9e3ddf225393..0214b863ac3f 100644
> --- a/drivers/video/fbdev/core/Makefile
> +++ b/drivers/video/fbdev/core/Makefile
> @@ -4,6 +4,17 @@ obj-$(CONFIG_FB)                  += fb.o
>  fb-y                              := fbmem.o fbmon.o fbcmap.o fbsysfs.o \
>                                       modedb.o fbcvt.o
>  fb-$(CONFIG_FB_DEFERRED_IO)       += fb_defio.o
> +
> +ifeq ($(CONFIG_FRAMEBUFFER_CONSOLE),y)
> +fb-y				  += fbcon.o bitblit.o softcursor.o

fb-$(CONFIG_FRAMEBUFFER_CONSOLE) ?

> +ifeq ($(CONFIG_FB_TILEBLITTING),y)
> +fb-y				  += tileblit.o
> +endif
> +ifeq ($(CONFIG_FRAMEBUFFER_CONSOLE_ROTATION),y)
> +fb-y				  += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \
> +				     fbcon_ccw.o
> +endif
> +endif
>  fb-objs                           := $(fb-y)
>  
>  obj-$(CONFIG_FB_CFB_FILLRECT)  += cfbfillrect.o

<snip>

> diff --git a/include/linux/fbcon.h b/include/linux/fbcon.h
> new file mode 100644
> index 000000000000..0fac6305d51c
> --- /dev/null
> +++ b/include/linux/fbcon.h

IANAL, but it seems like you're missing some GPL legalese here?

Sean

> @@ -0,0 +1,12 @@
> +#ifndef _LINUX_FBCON_H
> +#define _LINUX_FBCON_H
> +
> +#ifdef CONFIG_FRAMEBUFFER_CONSOLE
> +void __init fb_console_init(void);
> +void __exit fb_console_exit(void);
> +#else
> +static void fb_console_init(void) {}
> +static void fb_console_exit(void) {}
> +#endif
> +
> +#endif /* _LINUX_FBCON_H */
> -- 
> 2.13.2
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list