#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/list.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
/* Apollo controller specific defines */
#define APOLLO_START_NEW_IMG 0xA0
{
struct hecubafb_par *par = info->par;
- cfb_fillrect(info, rect);
+ sys_fillrect(info, rect);
hecubafb_dpy_update(par);
}
{
struct hecubafb_par *par = info->par;
- cfb_copyarea(info, area);
+ sys_copyarea(info, area);
hecubafb_dpy_update(par);
}
{
struct hecubafb_par *par = info->par;
- cfb_imageblit(info, image);
+ sys_imageblit(info, image);
hecubafb_dpy_update(par);
}
* this is the slow path from userspace. they can seek and write to
* the fb. it's inefficient to do anything less than a full screen draw
*/
-static ssize_t hecubafb_write(struct file *file, const char __user *buf,
+static ssize_t hecubafb_write(struct fb_info *info, const char __user *buf,
size_t count, loff_t *ppos)
{
- struct inode *inode;
- int fbidx;
- struct fb_info *info;
unsigned long p;
int err=-EINVAL;
struct hecubafb_par *par;
unsigned int fbmemlength;
p = *ppos;
- inode = file->f_dentry->d_inode;
- fbidx = iminor(inode);
- info = registered_fb[fbidx];
-
- if (!info || !info->screen_base)
- return -ENODEV;
-
par = info->par;
xres = info->var.xres;
fbmemlength = (xres * info->var.yres)/8;
static struct fb_ops hecubafb_ops = {
.owner = THIS_MODULE,
+ .fb_read = fb_sys_read,
.fb_write = hecubafb_write,
.fb_fillrect = hecubafb_fillrect,
.fb_copyarea = hecubafb_copyarea,