Commit c713b964 authored by Thomas Zimmermann's avatar Thomas Zimmermann Committed by Helge Deller
Browse files

vt: Implement helpers for struct vc_font in source file



Move the helpers vc_font_pitch() and vc_font_size() from the VT
header file into source file. They are not called very often, so
there's no benefit in keeping them in the headers. Also avoids
including <linux/math.h> from the header.

v2:
- fix typo in commit description

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent e4ef723d
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@
 * by Adam Tla/lka <atlka@pg.gda.pl>, Aug 2006
 */

#include <linux/math.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/sched/signal.h>
@@ -230,6 +231,40 @@ enum {
	blank_vesa_wait,
};

/*
 * struct vc_font
 */

/**
 * vc_font_pitch - Calculates the number of bytes between two adjacent scanlines
 * @font: The VC font
 *
 * Returns:
 * The number of bytes between two adjacent scanlines in the font data
 */
unsigned int vc_font_pitch(const struct vc_font *font)
{
	return DIV_ROUND_UP(font->width, 8);
}
EXPORT_SYMBOL_GPL(vc_font_pitch);

/**
 * vc_font_size - Calculates the size of the font data in bytes
 * @font: The VC font
 *
 * vc_font_size() calculates the number of bytes of font data in the
 * font specified by @font. The function calculates the size from the
 * font parameters.
 *
 * Returns:
 * The size of the font data in bytes.
 */
unsigned int vc_font_size(const struct vc_font *font)
{
	return font->height * vc_font_pitch(font) * font->charcount;
}
EXPORT_SYMBOL_GPL(vc_font_size);

/*
 * /sys/class/tty/tty0/
 *
+2 −28
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@
#ifndef _LINUX_CONSOLE_STRUCT_H
#define _LINUX_CONSOLE_STRUCT_H

#include <linux/math.h>
#include <linux/vt.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
@@ -83,33 +82,8 @@ struct vc_font {
	const unsigned char *data;
};

/**
 * vc_font_pitch - Calculates the number of bytes between two adjacent scanlines
 * @font: The VC font
 *
 * Returns:
 * The number of bytes between two adjacent scanlines in the font data
 */
static inline unsigned int vc_font_pitch(const struct vc_font *font)
{
	return DIV_ROUND_UP(font->width, 8);
}

/**
 * vc_font_size - Calculates the size of the font data in bytes
 * @font: The VC font
 *
 * vc_font_size() calculates the number of bytes of font data in the
 * font specified by @font. The function calculates the size from the
 * font parameters.
 *
 * Returns:
 * The size of the font data in bytes.
 */
static inline unsigned int vc_font_size(const struct vc_font *font)
{
	return font->height * vc_font_pitch(font) * font->charcount;
}
unsigned int vc_font_pitch(const struct vc_font *font);
unsigned int vc_font_size(const struct vc_font *font);

/*
 * Example: vc_data of a console that was scrolled 3 lines down.