mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

drm_log is a simple logger that uses the drm_client API to print the kmsg boot log on the screen. This is not a full replacement to fbcon, as it will only print the kmsg. It will never handle user input, or a terminal because this is better done in userspace. Design decisions: * It uses the drm_client API, so it should work on all drm drivers from the start. * It doesn't scroll the message, that way it doesn't need to redraw the whole screen for each new message. It also means it doesn't have to keep drawn messages in memory, to redraw them when scrolling. * It uses the new non-blocking console API, so it should work well with PREEMPT_RT. This patch also adds a Kconfig menu to select the drm client to use. It can be overwritten on the kernel command line with: drm_client_lib.active=log or drm_client_lib.active=fbdev Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com> Reviewed-by: John Ogness <john.ogness@linutronix.de> # console API Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20241204160014.1171469-3-jfalempe@redhat.com
25 lines
563 B
C
25 lines
563 B
C
/* SPDX-License-Identifier: MIT */
|
|
|
|
#ifndef DRM_CLIENT_INTERNAL_H
|
|
#define DRM_CLIENT_INTERNAL_H
|
|
|
|
struct drm_device;
|
|
struct drm_format_info;
|
|
|
|
#ifdef CONFIG_DRM_FBDEV_EMULATION
|
|
int drm_fbdev_client_setup(struct drm_device *dev, const struct drm_format_info *format);
|
|
#else
|
|
static inline int drm_fbdev_client_setup(struct drm_device *dev,
|
|
const struct drm_format_info *format)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_DRM_CLIENT_LOG
|
|
void drm_log_register(struct drm_device *dev);
|
|
#else
|
|
static inline void drm_log_register(struct drm_device *dev) {}
|
|
#endif
|
|
|
|
#endif
|