Messages in this thread Patch in this message | | | Date | Mon, 23 Feb 2004 21:00:57 +0100 (MET) | From | Geert Uytterhoeven <> | Subject | Re: Apollo framebuffer sysfs |
| |
On Wed, 18 Feb 2004, James Simmons wrote: > Another driver adapted to sysfs. Please test.
Wow, the first platform_device on m68k ;-)
- Fix compilation (missing semicolon) - Use __devinit* where appropriate - Remove superfluous whitespace (hurts my eyes with let c_space_errors=1)
--- drivers/video/dnfb.c.orig 2004-02-19 18:55:35.000000000 +0100 +++ drivers/video/dnfb.c 2004-02-23 20:59:20.000000000 +0100 @@ -117,7 +117,7 @@ .fb_cursor = soft_cursor, };
-struct fb_var_screeninfo dnfb_var __initdata = { +struct fb_var_screeninfo dnfb_var __devinitdata = { .xres 1280, .yres 1024, .xres_virtual 2048, @@ -128,7 +128,7 @@ .vmode FB_VMODE_NONINTERLACED, };
-static struct fb_fix_screeninfo dnfb_fix __initdata = { +static struct fb_fix_screeninfo dnfb_fix __devinitdata = { .id "Apollo Mono", .smem_start (FRAME_BUFFER_START + IO_BASE), .smem_len FRAME_BUFFER_LEN, @@ -146,7 +146,7 @@ return 0; }
-static +static void dnfb_copyarea(struct fb_info *info, const struct fb_copyarea *area) {
@@ -226,7 +226,7 @@ * Initialization */
-static int __init dnfb_probe(struct device *device) +static int __devinit dnfb_probe(struct device *device) { struct platform_device *dev = to_platform_device(device); struct fb_info *info; @@ -235,18 +235,18 @@ info = framebuffer_alloc(0, &dev->dev); if (!info) return -ENOMEM; - + info->fbops = &dn_fb_ops; info->fix = dnfb_fix; info->var = dnfb_var; info->screen_base = (u_char *) info->fix.smem_start;
- err = fb_alloc_cmap(&info->cmap, 2, 0) - if (err < 0) { + err = fb_alloc_cmap(&info->cmap, 2, 0); + if (err < 0) { framebuffer_release(info); return err; - } - + } + err = register_framebuffer(info); if (err < 0) { fb_dealloc_cmap(&info->cmap); @@ -254,7 +254,7 @@ return err; } dev_set_drvdata(&dev->dev, info); - + /* now we have registered we can safely setup the hardware */ out_8(AP_CONTROL_3A, RESET_CREG); out_be16(AP_WRITE_ENABLE, 0x0); @@ -271,12 +271,11 @@ .name = "dnfb", .bus = &platform_bus_type, .probe = dnfb_probe, -}; +};
static struct platform_device dnfb_device = { .name = "dnfb", - .id = 0, -}; +};
int __init dnfb_init(void) { Gr{oetje,eeting}s, Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |