diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 05:01:12 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 05:01:12 -0500 |
commit | 1f16f116b01c110db20ab808562c8b8bc3ee3d6e (patch) | |
tree | 44db563f64cf5f8d62af8f99a61e2b248c44ea3a /tools/virtio | |
parent | 03724ac3d48f8f0e3caf1d30fa134f8fd96c94e2 (diff) | |
parent | f9eccf24615672896dc13251410c3f2f33a14f95 (diff) |
Merge branches 'clockevents/4.4-fixes' and 'clockevents/4.5-fixes' of http://git.linaro.org/people/daniel.lezcano/linux into timers/urgent
Pull in fixes from Daniel Lezcano:
- Fix the vt8500 timer leading to a system lock up when dealing with too
small delta (Roman Volkov)
- Select the CLKSRC_MMIO when the fsl_ftm_timer is enabled with COMPILE_TEST
(Daniel Lezcano)
- Prevent to compile timers using the 'iomem' API when the architecture has
not HAS_IOMEM set (Richard Weinberger)
Diffstat (limited to 'tools/virtio')
-rw-r--r-- | tools/virtio/linux/kernel.h | 6 | ||||
-rw-r--r-- | tools/virtio/linux/virtio.h | 6 | ||||
-rw-r--r-- | tools/virtio/linux/virtio_config.h | 20 |
3 files changed, 19 insertions, 13 deletions
diff --git a/tools/virtio/linux/kernel.h b/tools/virtio/linux/kernel.h index 0a3da64638ce..4db7d5691ba7 100644 --- a/tools/virtio/linux/kernel.h +++ b/tools/virtio/linux/kernel.h | |||
@@ -110,4 +110,10 @@ static inline void free_page(unsigned long addr) | |||
110 | (void) (&_min1 == &_min2); \ | 110 | (void) (&_min1 == &_min2); \ |
111 | _min1 < _min2 ? _min1 : _min2; }) | 111 | _min1 < _min2 ? _min1 : _min2; }) |
112 | 112 | ||
113 | /* TODO: empty stubs for now. Broken but enough for virtio_ring.c */ | ||
114 | #define list_add_tail(a, b) do {} while (0) | ||
115 | #define list_del(a) do {} while (0) | ||
116 | #define list_for_each_entry(a, b, c) while (0) | ||
117 | /* end of stubs */ | ||
118 | |||
113 | #endif /* KERNEL_H */ | 119 | #endif /* KERNEL_H */ |
diff --git a/tools/virtio/linux/virtio.h b/tools/virtio/linux/virtio.h index a3e07016a440..ee125e714053 100644 --- a/tools/virtio/linux/virtio.h +++ b/tools/virtio/linux/virtio.h | |||
@@ -3,12 +3,6 @@ | |||
3 | #include <linux/scatterlist.h> | 3 | #include <linux/scatterlist.h> |
4 | #include <linux/kernel.h> | 4 | #include <linux/kernel.h> |
5 | 5 | ||
6 | /* TODO: empty stubs for now. Broken but enough for virtio_ring.c */ | ||
7 | #define list_add_tail(a, b) do {} while (0) | ||
8 | #define list_del(a) do {} while (0) | ||
9 | #define list_for_each_entry(a, b, c) while (0) | ||
10 | /* end of stubs */ | ||
11 | |||
12 | struct virtio_device { | 6 | struct virtio_device { |
13 | void *dev; | 7 | void *dev; |
14 | u64 features; | 8 | u64 features; |
diff --git a/tools/virtio/linux/virtio_config.h b/tools/virtio/linux/virtio_config.h index 806d683ab107..57a6964a1e35 100644 --- a/tools/virtio/linux/virtio_config.h +++ b/tools/virtio/linux/virtio_config.h | |||
@@ -40,33 +40,39 @@ static inline void __virtio_clear_bit(struct virtio_device *vdev, | |||
40 | #define virtio_has_feature(dev, feature) \ | 40 | #define virtio_has_feature(dev, feature) \ |
41 | (__virtio_test_bit((dev), feature)) | 41 | (__virtio_test_bit((dev), feature)) |
42 | 42 | ||
43 | static inline bool virtio_is_little_endian(struct virtio_device *vdev) | ||
44 | { | ||
45 | return virtio_has_feature(vdev, VIRTIO_F_VERSION_1) || | ||
46 | virtio_legacy_is_little_endian(); | ||
47 | } | ||
48 | |||
49 | /* Memory accessors */ | ||
43 | static inline u16 virtio16_to_cpu(struct virtio_device *vdev, __virtio16 val) | 50 | static inline u16 virtio16_to_cpu(struct virtio_device *vdev, __virtio16 val) |
44 | { | 51 | { |
45 | return __virtio16_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 52 | return __virtio16_to_cpu(virtio_is_little_endian(vdev), val); |
46 | } | 53 | } |
47 | 54 | ||
48 | static inline __virtio16 cpu_to_virtio16(struct virtio_device *vdev, u16 val) | 55 | static inline __virtio16 cpu_to_virtio16(struct virtio_device *vdev, u16 val) |
49 | { | 56 | { |
50 | return __cpu_to_virtio16(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 57 | return __cpu_to_virtio16(virtio_is_little_endian(vdev), val); |
51 | } | 58 | } |
52 | 59 | ||
53 | static inline u32 virtio32_to_cpu(struct virtio_device *vdev, __virtio32 val) | 60 | static inline u32 virtio32_to_cpu(struct virtio_device *vdev, __virtio32 val) |
54 | { | 61 | { |
55 | return __virtio32_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 62 | return __virtio32_to_cpu(virtio_is_little_endian(vdev), val); |
56 | } | 63 | } |
57 | 64 | ||
58 | static inline __virtio32 cpu_to_virtio32(struct virtio_device *vdev, u32 val) | 65 | static inline __virtio32 cpu_to_virtio32(struct virtio_device *vdev, u32 val) |
59 | { | 66 | { |
60 | return __cpu_to_virtio32(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 67 | return __cpu_to_virtio32(virtio_is_little_endian(vdev), val); |
61 | } | 68 | } |
62 | 69 | ||
63 | static inline u64 virtio64_to_cpu(struct virtio_device *vdev, __virtio64 val) | 70 | static inline u64 virtio64_to_cpu(struct virtio_device *vdev, __virtio64 val) |
64 | { | 71 | { |
65 | return __virtio64_to_cpu(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 72 | return __virtio64_to_cpu(virtio_is_little_endian(vdev), val); |
66 | } | 73 | } |
67 | 74 | ||
68 | static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val) | 75 | static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val) |
69 | { | 76 | { |
70 | return __cpu_to_virtio64(virtio_has_feature(vdev, VIRTIO_F_VERSION_1), val); | 77 | return __cpu_to_virtio64(virtio_is_little_endian(vdev), val); |
71 | } | 78 | } |
72 | |||