git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
intelfb: add vsync interrupt support
[safe/jmp/linux-2.6]
/
drivers
/
video
/
sgivwfb.c
diff --git
a/drivers/video/sgivwfb.c
b/drivers/video/sgivwfb.c
index
2e8769d
..
2e6df1f
100644
(file)
--- a/
drivers/video/sgivwfb.c
+++ b/
drivers/video/sgivwfb.c
@@
-115,7
+115,7
@@
static int sgivwfb_set_par(struct fb_info *info);
static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
u_int blue, u_int transp,
struct fb_info *info);
static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
u_int blue, u_int transp,
struct fb_info *info);
-static int sgivwfb_mmap(struct fb_info *info,
struct file *file,
+static int sgivwfb_mmap(struct fb_info *info,
struct vm_area_struct *vma);
static struct fb_ops sgivwfb_ops = {
struct vm_area_struct *vma);
static struct fb_ops sgivwfb_ops = {
@@
-706,7
+706,7
@@
static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
return 0;
}
return 0;
}
-static int sgivwfb_mmap(struct fb_info *info,
struct file *file,
+static int sgivwfb_mmap(struct fb_info *info,
struct vm_area_struct *vma)
{
unsigned long size = vma->vm_end - vma->vm_start;
struct vm_area_struct *vma)
{
unsigned long size = vma->vm_end - vma->vm_start;
@@
-723,7
+723,6
@@
static int sgivwfb_mmap(struct fb_info *info, struct file *file,
if (remap_pfn_range(vma, vma->vm_start, offset >> PAGE_SHIFT,
size, vma->vm_page_prot))
return -EAGAIN;
if (remap_pfn_range(vma, vma->vm_start, offset >> PAGE_SHIFT,
size, vma->vm_page_prot))
return -EAGAIN;
- vma->vm_file = file;
printk(KERN_DEBUG "sgivwfb: mmap framebuffer P(%lx)->V(%lx)\n",
offset, vma->vm_start);
return 0;
printk(KERN_DEBUG "sgivwfb: mmap framebuffer P(%lx)->V(%lx)\n",
offset, vma->vm_start);
return 0;
@@
-750,9
+749,8
@@
int __init sgivwfb_setup(char *options)
/*
* Initialisation
*/
/*
* Initialisation
*/
-static int __init sgivwfb_probe(struct
device *device
)
+static int __init sgivwfb_probe(struct
platform_device *dev
)
{
{
- struct platform_device *dev = to_platform_device(device);
struct sgivw_par *par;
struct fb_info *info;
char *monitor;
struct sgivw_par *par;
struct fb_info *info;
char *monitor;
@@
-813,7
+811,7
@@
static int __init sgivwfb_probe(struct device *device)
goto fail_register_framebuffer;
}
goto fail_register_framebuffer;
}
-
dev_set_drvdata(&dev->
dev, info);
+
platform_set_drvdata(
dev, info);
printk(KERN_INFO "fb%d: SGI DBE frame buffer device, using %ldK of video memory at %#lx\n",
info->node, sgivwfb_mem_size >> 10, sgivwfb_mem_phys);
printk(KERN_INFO "fb%d: SGI DBE frame buffer device, using %ldK of video memory at %#lx\n",
info->node, sgivwfb_mem_size >> 10, sgivwfb_mem_phys);
@@
-831,9
+829,9
@@
fail_ioremap_regs:
return -ENXIO;
}
return -ENXIO;
}
-static int sgivwfb_remove(struct
device *device
)
+static int sgivwfb_remove(struct
platform_device *dev
)
{
{
- struct fb_info *info =
dev_get_drvdata(device
);
+ struct fb_info *info =
platform_get_drvdata(dev
);
if (info) {
struct sgivw_par *par = info->par;
if (info) {
struct sgivw_par *par = info->par;
@@
-847,11
+845,12
@@
static int sgivwfb_remove(struct device *device)
return 0;
}
return 0;
}
-static struct device_driver sgivwfb_driver = {
- .name = "sgivwfb",
- .bus = &platform_bus_type,
+static struct platform_driver sgivwfb_driver = {
.probe = sgivwfb_probe,
.remove = sgivwfb_remove,
.probe = sgivwfb_probe,
.remove = sgivwfb_remove,
+ .driver = {
+ .name = "sgivwfb",
+ },
};
static struct platform_device *sgivwfb_device;
};
static struct platform_device *sgivwfb_device;
@@
-867,7
+866,7
@@
int __init sgivwfb_init(void)
return -ENODEV;
sgivwfb_setup(option);
#endif
return -ENODEV;
sgivwfb_setup(option);
#endif
- ret = driver_register(&sgivwfb_driver);
+ ret =
platform_
driver_register(&sgivwfb_driver);
if (!ret) {
sgivwfb_device = platform_device_alloc("sgivwfb", 0);
if (sgivwfb_device) {
if (!ret) {
sgivwfb_device = platform_device_alloc("sgivwfb", 0);
if (sgivwfb_device) {
@@
-875,7
+874,7
@@
int __init sgivwfb_init(void)
} else
ret = -ENOMEM;
if (ret) {
} else
ret = -ENOMEM;
if (ret) {
- driver_unregister(&sgivwfb_driver);
+
platform_
driver_unregister(&sgivwfb_driver);
platform_device_put(sgivwfb_device);
}
}
platform_device_put(sgivwfb_device);
}
}
@@
-890,7
+889,7
@@
MODULE_LICENSE("GPL");
static void __exit sgivwfb_exit(void)
{
platform_device_unregister(sgivwfb_device);
static void __exit sgivwfb_exit(void)
{
platform_device_unregister(sgivwfb_device);
- driver_unregister(&sgivwfb_driver);
+
platform_
driver_unregister(&sgivwfb_driver);
}
module_exit(sgivwfb_exit);
}
module_exit(sgivwfb_exit);