summaryrefslogtreecommitdiff
path: root/include/linux/fb.h
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2005-09-10 00:10:04 +0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-10 01:03:41 +0400
commit829e79b680210c4f4de435af6e1f90451922fc7d (patch)
treecb8d46347a64f4c5673fb7e5dee55a8078ff8e80 /include/linux/fb.h
parentba44cd2d8abc3271a608b42cdbf55e1e575e2ba5 (diff)
downloadlinux-829e79b680210c4f4de435af6e1f90451922fc7d.tar.xz
[PATCH] fbcon: Break up bit_putcs into its component functions
The function bit_putcs() in drivers/video/console/bitblit.c is becoming large. Break it up into its component functions (bit_putcs_unaligned and bit_putcs_aligned). Incorporated fb_pad_aligned_buffer() optimization by Roman Zippel. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r--include/linux/fb.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h
index 9a4f035e9fdc..82e39cd0c4fb 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -833,6 +833,21 @@ extern int fb_new_modelist(struct fb_info *info);
extern struct fb_info *registered_fb[FB_MAX];
extern int num_registered_fb;
+static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
+ u8 *src, u32 s_pitch, u32 height)
+{
+ int i, j;
+
+ d_pitch -= s_pitch;
+
+ for (i = height; i--; ) {
+ /* s_pitch is a few bytes at the most, memcpy is suboptimal */
+ for (j = 0; j < s_pitch; j++)
+ *dst++ = *src++;
+ dst += d_pitch;
+ }
+}
+
/* drivers/video/fbsysfs.c */
extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev);
extern void framebuffer_release(struct fb_info *info);