X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Facornfb.c;h=f7bfbc722fd93d2ad5efefa1b71051e25a6327eb;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=d91a2f8ddb395b02174ef0dba750245ce7362111;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/video/acornfb.c b/drivers/video/acornfb.c index d91a2f8dd..f7bfbc722 100644 --- a/drivers/video/acornfb.c +++ b/drivers/video/acornfb.c @@ -1010,7 +1010,7 @@ static void __init acornfb_init_fbinfo(void) first = 0; fb_info.fbops = &acornfb_ops; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; fb_info.pseudo_palette = current_par.pseudo_palette; strcpy(fb_info.fix.id, "Acorn"); @@ -1246,6 +1246,8 @@ acornfb_detect_monitortype(void) /* * This enables the unused memory to be freed on older Acorn machines. + * We are freeing memory on behalf of the architecture initialisation + * code here. */ static inline void free_unused_pages(unsigned int virtual_start, unsigned int virtual_end) @@ -1268,7 +1270,7 @@ free_unused_pages(unsigned int virtual_start, unsigned int virtual_end) */ page = virt_to_page(virtual_start); ClearPageReserved(page); - atomic_set(&page->count, 1); + set_page_count(page, 1); free_page(virtual_start); virtual_start += PAGE_SIZE; @@ -1289,6 +1291,11 @@ acornfb_init(void) unsigned long size; u_int h_sync, v_sync; int rc, i; + char *option = NULL; + + if (fb_get_options("acornfb", &option)) + return -ENODEV; + acornfb_setup(option); acornfb_init_fbinfo(); @@ -1454,6 +1461,8 @@ acornfb_init(void) return 0; } +module_init(acornfb_init); + MODULE_AUTHOR("Russell King"); MODULE_DESCRIPTION("VIDC 1/1a/20 framebuffer driver"); MODULE_LICENSE("GPL");