if (!bottom_only && right_width) { rect.dwidth = right_width * depth; rect.dheight = p->var.yres_virtual; rect.d_addr = (i810_accel->fb_offset << 12) + ((right_start + p->var.xoffset) * depth); color_blit(&rect); } bottom_height = p->var.yres % fontheight(p); if (bottom_height) { bottom_start = p->var.yres - bottom_height; rect.dwidth = right_start*depth; rect.dheight = bottom_height; rect.d_addr = (i810_accel->fb_offset << 12) + (p->var.yoffset + bottom_start) * rect.dpitch; color_blit(&rect); } } struct display_switch i810_accel_upright = { i810_accel_setup, i810_accel_bmove, i810_accel_clear, i810_accel_putc, i810_accel_putcs, i810_accel_revc, NULL, NULL, i810_accel_clear_margins, FONTWIDTH(8) | FONTWIDTH(16) };
dest = p->screen_base + bottom * fontheight(p) * p->next_line; if (inverse) mymemset(dest, height * p->next_line); else mymemclear(dest, height * p->next_line); } /* * `switch' for the low level operations */ struct display_switch fbcon_mfb = { fbcon_mfb_setup, fbcon_mfb_bmove, fbcon_mfb_clear, fbcon_mfb_putc, fbcon_mfb_putcs, fbcon_mfb_revc, NULL, NULL, fbcon_mfb_clear_margins, FONTWIDTH(8) }; #ifdef MODULE int init_module(void) { return 0; } void cleanup_module(void) {} #endif /* MODULE */ /*