5 ******************************************************************************
8 * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G
9 * integrated graphics chips.
11 * Copyright © 2004 Sylvain Meyer
13 * Author: Sylvain Meyer
15 ******************************************************************************
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
31 int __init intelfb_setup(char *options);
32 static void __devinit get_initial_mode(struct intelfb_info *dinfo);
33 static void update_dinfo(struct intelfb_info *dinfo,
34 struct fb_var_screeninfo *var);
35 static int intelfb_get_fix(struct fb_fix_screeninfo *fix,
36 struct fb_info *info);
38 static int intelfb_check_var(struct fb_var_screeninfo *var,
39 struct fb_info *info);
40 static int intelfb_set_par(struct fb_info *info);
41 static int intelfb_setcolreg(unsigned regno, unsigned red, unsigned green,
42 unsigned blue, unsigned transp,
43 struct fb_info *info);
45 static int intelfb_blank(int blank, struct fb_info *info);
46 static int intelfb_pan_display(struct fb_var_screeninfo *var,
47 struct fb_info *info);
49 static void intelfb_fillrect(struct fb_info *info,
50 const struct fb_fillrect *rect);
51 static void intelfb_copyarea(struct fb_info *info,
52 const struct fb_copyarea *region);
53 static void intelfb_imageblit(struct fb_info *info,
54 const struct fb_image *image);
55 static int intelfb_cursor(struct fb_info *info,
56 struct fb_cursor *cursor);
58 static int intelfb_sync(struct fb_info *info);
60 static int intelfb_ioctl(struct inode *inode, struct file *file,
61 unsigned int cmd, unsigned long arg,
62 struct fb_info *info);
64 static int __devinit intelfb_pci_register(struct pci_dev *pdev,
65 const struct pci_device_id *ent);
66 static void __devexit intelfb_pci_unregister(struct pci_dev *pdev);
67 static int __devinit intelfb_set_fbinfo(struct intelfb_info *dinfo);