diff --git a/include/asm-sparc/fb.h b/include/asm-sparc/fb.h index c7df3803099200c9e3a9a6721138d0fe8b26ae92..c73ca081e1f56721c6f3912dd60730b1de6ecc2b 100644 --- a/include/asm-sparc/fb.h +++ b/include/asm-sparc/fb.h @@ -1,11 +1,20 @@ #ifndef _ASM_FB_H_ #define _ASM_FB_H_ #include +#include #define fb_pgprotect(...) do {} while (0) static inline int fb_is_primary_device(struct fb_info *info) { + struct device *dev = info->device; + struct device_node *node; + + node = dev->archdata.prom_node; + if (node && + node == of_console_device) + return 1; + return 0; } diff --git a/include/asm-sparc64/fb.h b/include/asm-sparc64/fb.h index d6cd3a175fc34b8fbcec6f034905b4c7f588621a..389012e5fbad874bcb2432f41472ad9d948ecd51 100644 --- a/include/asm-sparc64/fb.h +++ b/include/asm-sparc64/fb.h @@ -3,6 +3,7 @@ #include #include #include +#include static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, unsigned long off) @@ -12,6 +13,14 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, static inline int fb_is_primary_device(struct fb_info *info) { + struct device *dev = info->device; + struct device_node *node; + + node = dev->archdata.prom_node; + if (node && + node == of_console_device) + return 1; + return 0; }