* [PATCH] non-linear frame buffer read/write access
@ 2006-01-03 22:39 Thomas Koeller
2006-01-06 21:25 ` Antonino A. Daplas
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Koeller @ 2006-01-03 22:39 UTC (permalink / raw)
To: adaplas; +Cc: linux-kernel
While the code in fbmem.c allows for hooking read/write access
to non-linear frame buffers by means of fb_read and fb_write
in struct fb_ops, I could not find a way tho access the actual
frame buffer memory from within these routines. I therefore
had to patch fbmem.c, to be able to retrieve a pointer to
struct fb_info from the 'file' argument to these functions.
The second hunk of the patch is not strictly required, I only
did that for symmetry reasons (and the code is somewhat
shorter).
Patch is against 2.6.14
Signed-off-by: Thomas Koeller <thomas@koeller.dyndns.org>
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index e2667dd..145c18f 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -965,6 +965,7 @@ fb_open(struct inode *inode, struct file
return -ENODEV;
if (!try_module_get(info->fbops->owner))
return -ENODEV;
+ file->private_data = info;
if (info->fbops->fb_open) {
res = info->fbops->fb_open(info,1);
if (res)
@@ -976,11 +977,9 @@ fb_open(struct inode *inode, struct file
static int
fb_release(struct inode *inode, struct file *file)
{
- int fbidx = iminor(inode);
- struct fb_info *info;
+ struct fb_info * const info = (struct fb_info *) file->private_data;
lock_kernel();
- info = registered_fb[fbidx];
if (info->fbops->fb_release)
info->fbops->fb_release(info,1);
module_put(info->fbops->owner);
--
Thomas Koeller
thomas at koeller dot dyndns dot org
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] non-linear frame buffer read/write access
2006-01-03 22:39 [PATCH] non-linear frame buffer read/write access Thomas Koeller
@ 2006-01-06 21:25 ` Antonino A. Daplas
0 siblings, 0 replies; 2+ messages in thread
From: Antonino A. Daplas @ 2006-01-06 21:25 UTC (permalink / raw)
To: Thomas Koeller; +Cc: adaplas, linux-kernel
Thomas Koeller wrote:
> While the code in fbmem.c allows for hooking read/write access
> to non-linear frame buffers by means of fb_read and fb_write
> in struct fb_ops, I could not find a way tho access the actual
> frame buffer memory from within these routines. I therefore
> had to patch fbmem.c, to be able to retrieve a pointer to
> struct fb_info from the 'file' argument to these functions.
>
> The second hunk of the patch is not strictly required, I only
> did that for symmetry reasons (and the code is somewhat
> shorter).
>
> Patch is against 2.6.14
>
> Signed-off-by: Thomas Koeller <thomas@koeller.dyndns.org>
Okay.
Tony
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-01-08 0:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-03 22:39 [PATCH] non-linear frame buffer read/write access Thomas Koeller
2006-01-06 21:25 ` Antonino A. Daplas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox