]> Pileus Git - ~andy/linux/blob - drivers/gpu/drm/nouveau/core/os.h
drm/nouveau/disp: port vblank handling to event interface
[~andy/linux] / drivers / gpu / drm / nouveau / core / os.h
1 #ifndef __NOUVEAU_OS_H__
2 #define __NOUVEAU_OS_H__
3
4 #include <linux/types.h>
5 #include <linux/slab.h>
6 #include <linux/mutex.h>
7 #include <linux/pci.h>
8 #include <linux/printk.h>
9 #include <linux/bitops.h>
10 #include <linux/firmware.h>
11 #include <linux/module.h>
12 #include <linux/i2c.h>
13 #include <linux/i2c-algo-bit.h>
14 #include <linux/delay.h>
15 #include <linux/io-mapping.h>
16 #include <linux/vmalloc.h>
17 #include <linux/acpi.h>
18 #include <linux/dmi.h>
19 #include <linux/reboot.h>
20
21 #include <asm/unaligned.h>
22
23 static inline int
24 ffsll(u64 mask)
25 {
26         int i;
27         for (i = 0; i < 64; i++) {
28                 if (mask & (1ULL << i))
29                         return i + 1;
30         }
31         return 0;
32 }
33
34 #ifndef ioread32_native
35 #ifdef __BIG_ENDIAN
36 #define ioread16_native ioread16be
37 #define iowrite16_native iowrite16be
38 #define ioread32_native  ioread32be
39 #define iowrite32_native iowrite32be
40 #else /* def __BIG_ENDIAN */
41 #define ioread16_native ioread16
42 #define iowrite16_native iowrite16
43 #define ioread32_native  ioread32
44 #define iowrite32_native iowrite32
45 #endif /* def __BIG_ENDIAN else */
46 #endif /* !ioread32_native */
47
48 #endif