summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Simmons <jsimmons@infradead.org>2005-10-24 21:46:21 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-24 14:08:29 -0700
commitc14e2cfc18659c6ca67c2e10417c432eb978d976 (patch)
tree98cb56244406f8fb29c667aff59ffaf63dea1b9d
parentd5c5d8fe32a4b9b14363c6031061e98e26da59a2 (diff)
downloadlinux-3.10-c14e2cfc18659c6ca67c2e10417c432eb978d976.tar.gz
linux-3.10-c14e2cfc18659c6ca67c2e10417c432eb978d976.tar.bz2
linux-3.10-c14e2cfc18659c6ca67c2e10417c432eb978d976.zip
[PATCH] Return the line length via sysfs for fbdev
This small patch returns the stride/line length of the framebuffer via sysfs. Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/video/fbsysfs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c
index 1147b899f00..007c8e9b2b3 100644
--- a/drivers/video/fbsysfs.c
+++ b/drivers/video/fbsysfs.c
@@ -242,6 +242,13 @@ static ssize_t show_virtual(struct class_device *class_device, char *buf)
fb_info->var.yres_virtual);
}
+static ssize_t show_stride(struct class_device *class_device, char *buf)
+{
+ struct fb_info *fb_info =
+ (struct fb_info *)class_get_devdata(class_device);
+ return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->fix.line_length);
+}
+
/* Format for cmap is "%02x%c%4x%4x%4x\n" */
/* %02x entry %c transp %4x red %4x blue %4x green \n */
/* 256 rows at 16 chars equals 4096, the normal page size */
@@ -432,6 +439,7 @@ static struct class_device_attribute class_device_attrs[] = {
__ATTR(pan, S_IRUGO|S_IWUSR, show_pan, store_pan),
__ATTR(virtual_size, S_IRUGO|S_IWUSR, show_virtual, store_virtual),
__ATTR(name, S_IRUGO, show_name, NULL),
+ __ATTR(stride, S_IRUGO, show_stride, NULL),
};
int fb_init_class_device(struct fb_info *fb_info)