18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _SPARC_FB_H_
38c2ecf20Sopenharmony_ci#define _SPARC_FB_H_
48c2ecf20Sopenharmony_ci#include <linux/console.h>
58c2ecf20Sopenharmony_ci#include <linux/fb.h>
68c2ecf20Sopenharmony_ci#include <linux/fs.h>
78c2ecf20Sopenharmony_ci#include <asm/page.h>
88c2ecf20Sopenharmony_ci#include <asm/prom.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cistatic inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
118c2ecf20Sopenharmony_ci				unsigned long off)
128c2ecf20Sopenharmony_ci{
138c2ecf20Sopenharmony_ci#ifdef CONFIG_SPARC64
148c2ecf20Sopenharmony_ci	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
158c2ecf20Sopenharmony_ci#endif
168c2ecf20Sopenharmony_ci}
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_cistatic inline int fb_is_primary_device(struct fb_info *info)
198c2ecf20Sopenharmony_ci{
208c2ecf20Sopenharmony_ci	struct device *dev = info->device;
218c2ecf20Sopenharmony_ci	struct device_node *node;
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	if (console_set_on_cmdline)
248c2ecf20Sopenharmony_ci		return 0;
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	node = dev->of_node;
278c2ecf20Sopenharmony_ci	if (node &&
288c2ecf20Sopenharmony_ci	    node == of_console_device)
298c2ecf20Sopenharmony_ci		return 1;
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	return 0;
328c2ecf20Sopenharmony_ci}
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#endif /* _SPARC_FB_H_ */
35