X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Fdnfb.c;h=b083ea7e9c69e6c1ea45e0ce84f34c75958678ab;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=11ba053b5e10fb74e0b1a24242d47b819bebc7b3;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/drivers/video/dnfb.c b/drivers/video/dnfb.c index 11ba053b5..b083ea7e9 100644 --- a/drivers/video/dnfb.c +++ b/drivers/video/dnfb.c @@ -2,10 +2,11 @@ #include #include #include -#include #include #include #include +#include + #include #include #include @@ -114,7 +115,6 @@ static struct fb_ops dn_fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = dnfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, }; struct fb_var_screeninfo dnfb_var __devinitdata = { @@ -226,9 +226,8 @@ void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area) * Initialization */ -static int __devinit dnfb_probe(struct device *device) +static int __devinit dnfb_probe(struct platform_device *dev) { - struct platform_device *dev = to_platform_device(device); struct fb_info *info; int err = 0; @@ -239,6 +238,9 @@ static int __devinit dnfb_probe(struct device *device) info->fbops = &dn_fb_ops; info->fix = dnfb_fix; info->var = dnfb_var; + info->var.red.length = 1; + info->var.red.offset = 0; + info->var.green = info->var.blue = info->var.red; info->screen_base = (u_char *) info->fix.smem_start; err = fb_alloc_cmap(&info->cmap, 2, 0); @@ -253,7 +255,7 @@ static int __devinit dnfb_probe(struct device *device) framebuffer_release(info); return err; } - dev_set_drvdata(&dev->dev, info); + platform_set_drvdata(dev, info); /* now we have registered we can safely setup the hardware */ out_8(AP_CONTROL_3A, RESET_CREG); @@ -267,10 +269,11 @@ static int __devinit dnfb_probe(struct device *device) return err; } -static struct device_driver dnfb_driver = { - .name = "dnfb", - .bus = &platform_bus_type, +static struct platform_driver dnfb_driver = { .probe = dnfb_probe, + .driver = { + .name = "dnfb", + }, }; static struct platform_device dnfb_device = { @@ -281,14 +284,19 @@ int __init dnfb_init(void) { int ret; - ret = driver_register(&dnfb_driver); + if (fb_get_options("dnfb", NULL)) + return -ENODEV; + + ret = platform_driver_register(&dnfb_driver); if (!ret) { ret = platform_device_register(&dnfb_device); if (ret) - driver_unregister(&dnfb_driver); + platform_driver_unregister(&dnfb_driver); } return ret; } +module_init(dnfb_init); + MODULE_LICENSE("GPL");