diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/setup.h | 1 | ||||
| -rw-r--r-- | include/linux/fb.h | 9 | ||||
| -rw-r--r-- | include/video/edid.h | 27 |
3 files changed, 37 insertions, 0 deletions
diff --git a/include/asm-i386/setup.h b/include/asm-i386/setup.h index a89487b409b8..3160b947d2bd 100644 --- a/include/asm-i386/setup.h +++ b/include/asm-i386/setup.h @@ -37,6 +37,7 @@ #define KERNEL_START (*(unsigned long *) (PARAM+0x214)) #define INITRD_START (*(unsigned long *) (PARAM+0x218)) #define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c)) +#define EDID_INFO (*(struct edid_info *) (PARAM+0x440)) #define EDD_NR (*(unsigned char *) (PARAM+EDDNR)) #define EDD_BUF ((struct edd_info *) (PARAM+EDDBUF)) #define COMMAND_LINE ((char *) (PARAM+2048)) diff --git a/include/linux/fb.h b/include/linux/fb.h index 5815d65d630b..654e85f12a16 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -504,6 +504,15 @@ extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, struct fb_info *info); extern int fb_validate_mode(struct fb_var_screeninfo *var, struct fb_info *info); +extern int parse_edid(unsigned char *edid, struct fb_var_screeninfo *var); +extern int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs); +extern struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize); +extern void fb_destroy_modedb(struct fb_videomode *modedb); +extern void show_edid(unsigned char *edid); + +/* drivers/video/modedb.c */ +#define VESA_MODEDB_SIZE 34 +extern const struct fb_videomode vesa_modes[]; /* drivers/video/fbcmap.c */ extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp); diff --git a/include/video/edid.h b/include/video/edid.h new file mode 100644 index 000000000000..ae23acc7db28 --- /dev/null +++ b/include/video/edid.h @@ -0,0 +1,27 @@ +#ifndef __linux_video_edid_h__ +#define __linux_video_edid_h__ + +#ifdef __KERNEL__ + +#include <linux/config.h> +#ifdef CONFIG_ALL_PPC +#include <linux/pci.h> +#endif + +#ifdef CONFIG_X86 +struct edid_info { + unsigned char dummy[128]; +}; + +extern struct edid_info edid_info; +extern char *get_EDID_from_BIOS(void *); + +#endif /* CONFIG_X86 */ + +#ifdef CONFIG_ALL_PPC +extern char *get_EDID_from_OF(struct pci_dev *pdev); +#endif + +#endif /* __KERNEL__ */ + +#endif /* __linux_video_edid_h__ */ |
