diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
commit | d6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch) | |
tree | e2be02f33984c48ec019c654051d27964e42c441 /drivers/video/atafb.c | |
parent | 609d1e803baf519487233b765eb487f9ec227a18 (diff) |
Merge with 2.3.19.
Diffstat (limited to 'drivers/video/atafb.c')
-rw-r--r-- | drivers/video/atafb.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/video/atafb.c b/drivers/video/atafb.c index e35a79e0b..8f163cd8c 100644 --- a/drivers/video/atafb.c +++ b/drivers/video/atafb.c @@ -2745,14 +2745,14 @@ atafb_blank(int blank, struct fb_info *info) do_install_cmap(currcon, info); } -__initfunc(void atafb_init(void)) +int __init atafb_init(void) { int pad; int detected_mode; unsigned long mem_req; if (!MACH_IS_ATARI) - return; + return -ENXIO; do { #ifdef ATAFB_EXT @@ -2828,9 +2828,12 @@ __initfunc(void atafb_init(void)) /* Map the video memory (physical address given) to somewhere * in the kernel address space. */ - external_addr = ioremap_writethrough(external_addr, external_len); + external_addr = + ioremap_writethrough((unsigned long)external_addr, + external_len); if (external_vgaiobase) - external_vgaiobase = ioremap(external_vgaiobase, 0x10000 ); + external_vgaiobase = + (unsigned long)ioremap(external_vgaiobase, 0x10000); screen_base = real_screen_base = external_addr; screen_len = external_len & PAGE_MASK; @@ -2855,7 +2858,7 @@ __initfunc(void atafb_init(void)) do_install_cmap(0, &fb_info); if (register_framebuffer(&fb_info) < 0) - return; + return -EINVAL; printk("Determined %dx%d, depth %d\n", disp.var.xres, disp.var.yres, disp.var.bits_per_pixel); @@ -2868,6 +2871,8 @@ __initfunc(void atafb_init(void)) /* TODO: This driver cannot be unloaded yet */ MOD_INC_USE_COUNT; + + return 0; } /* a strtok which returns empty strings, too */ @@ -2892,7 +2897,7 @@ static char * strtoke(char * s,const char * ct) return sbegin; } -__initfunc(void atafb_setup( char *options, int *ints )) +int __init atafb_setup( char *options ) { char *this_opt; int temp; @@ -2907,7 +2912,7 @@ __initfunc(void atafb_setup( char *options, int *ints )) fb_info.fontname[0] = '\0'; if (!options || !*options) - return; + return 0; for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) { if (!*this_opt) continue; @@ -3069,7 +3074,7 @@ __initfunc(void atafb_setup( char *options, int *ints )) external_yres = yres; external_depth = depth; external_pmode = planes; - external_addr = addr; + external_addr = (void *)addr; external_len = len; if (external_card_type == IS_MV300) @@ -3143,13 +3148,13 @@ __initfunc(void atafb_setup( char *options, int *ints )) user_invalid: ; } + return 0; } #ifdef MODULE int init_module(void) { - atafb_init(); - return 0; + return atafb_init(); } void cleanup_module(void) |