Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
2.9 kB · 136 lines
C
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ASM_GENERIC_VIDEO_H_#define __ASM_GENERIC_VIDEO_H_
/* * Only include this header file from your architecture's <asm/fb.h>. */
#include <linux/io.h>#include <linux/mm_types.h>#include <linux/pgtable.h>#include <linux/types.h>
struct device;
#ifndef pgprot_framebuffer#define pgprot_framebuffer pgprot_framebufferstatic inline pgprot_t pgprot_framebuffer(pgprot_t prot, unsigned long vm_start, unsigned long vm_end, unsigned long offset){ return pgprot_writecombine(prot);}#endif
#ifndef video_is_primary_device#define video_is_primary_device video_is_primary_devicestatic inline bool video_is_primary_device(struct device *dev){ return false;}#endif
/* * I/O helpers for the framebuffer. Prefer these functions over their * regular counterparts. The regular I/O functions provide in-order * access and swap bytes to/from little-endian ordering. Neither is * required for framebuffers. Instead, the helpers read and write * raw framebuffer data. Independent operations can be reordered for * improved performance. */
#ifndef fb_readbstatic inline u8 fb_readb(const volatile void __iomem *addr){ return __raw_readb(addr);}#define fb_readb fb_readb#endif
#ifndef fb_readwstatic inline u16 fb_readw(const volatile void __iomem *addr){ return __raw_readw(addr);}#define fb_readw fb_readw#endif
#ifndef fb_readlstatic inline u32 fb_readl(const volatile void __iomem *addr){ return __raw_readl(addr);}#define fb_readl fb_readl#endif
#ifndef fb_readq#if defined(__raw_readq)static inline u64 fb_readq(const volatile void __iomem *addr){ return __raw_readq(addr);}#define fb_readq fb_readq#endif#endif
#ifndef fb_writebstatic inline void fb_writeb(u8 b, volatile void __iomem *addr){ __raw_writeb(b, addr);}#define fb_writeb fb_writeb#endif
#ifndef fb_writewstatic inline void fb_writew(u16 b, volatile void __iomem *addr){ __raw_writew(b, addr);}#define fb_writew fb_writew#endif
#ifndef fb_writelstatic inline void fb_writel(u32 b, volatile void __iomem *addr){ __raw_writel(b, addr);}#define fb_writel fb_writel#endif
#ifndef fb_writeq#if defined(__raw_writeq)static inline void fb_writeq(u64 b, volatile void __iomem *addr){ __raw_writeq(b, addr);}#define fb_writeq fb_writeq#endif#endif
#ifndef fb_memcpy_fromiostatic inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n){ memcpy_fromio(to, from, n);}#define fb_memcpy_fromio fb_memcpy_fromio#endif
#ifndef fb_memcpy_toiostatic inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n){ memcpy_toio(to, from, n);}#define fb_memcpy_toio fb_memcpy_toio#endif
#ifndef fb_memsetstatic inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n){ memset_io(addr, c, n);}#define fb_memset fb_memset_io#endif
#endif /* __ASM_GENERIC_VIDEO_H_ */