# must be linked after kernel/
drivers-$(CONFIG_OPROFILE) += arch/i386/oprofile/
drivers-$(CONFIG_PM) += arch/i386/power/
+drivers-$(CONFIG_FB) += arch/i386/video/
CFLAGS += $(mflags-y)
AFLAGS += $(mflags-y)
--- /dev/null
+obj-$(CONFIG_FB) += fbdev.o
--- /dev/null
+/*
+ * arch/i386/video/fbdev.c - i386 Framebuffer
+ *
+ * Copyright (C) 2007 Antonino Daplas <adaplas@gmail.com>
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file COPYING in the main directory of this archive
+ * for more details.
+ *
+ */
+#include <linux/fb.h>
+#include <linux/pci.h>
+
+int fb_is_primary_device(struct fb_info *info)
+{
+ struct device *device;
+ struct pci_dev *pci_dev = NULL;
+ struct resource *res = NULL;
+ int retval = 0;
+
+ device = info->device;
+
+ if (device)
+ pci_dev = to_pci_dev(device);
+
+ if (pci_dev)
+ res = &pci_dev->resource[PCI_ROM_RESOURCE];
+
+ if (res && res->flags & IORESOURCE_ROM_SHADOW)
+ retval = 1;
+
+ return retval;
+}
+EXPORT_SYMBOL(fb_is_primary_device);
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/device.h>
/* Caching is off in the I/O space quadrant by design. */
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
| (_PAGE_BUFFER | _PAGE_DIRTY));
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
+extern int fb_is_primary_device(struct fb_info *info);
+
static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
unsigned long off)
{
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <linux/efi.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
#include <asm/setup.h>
}
#endif /* CONFIG_SUN3 */
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE;
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
-
+#include <linux/fb.h>
#include <linux/fs.h>
#include <asm/page.h>
pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
}
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */
#ifndef _ASM_FB_H_
#define _ASM_FB_H_
+#include <linux/fb.h>
#define fb_pgprotect(...) do {} while (0)
+static inline int fb_is_primary_device(struct fb_info *info)
+{
+ return 0;
+}
+
#endif /* _ASM_FB_H_ */